【问题标题】:"Lost" SQL server database“丢失”的 SQL 服务器数据库
【发布时间】:2009-05-07 11:52:27
【问题描述】:

这真的很奇怪。我使用的是 SQL Server Express 2005,并且有以下连接字符串(在 DotNetNuke web.config 中):

数据源=ELECTROMORPH\S15304561;集成安全=True;用户实例=True

请注意,没有 AttachDbFilename 参数 - 所以我不确定 SQL 服务器是如何知道要连接什么的。但它正在连接某些东西,因为该网站可以运行并且可以更新!

我已尝试搜索服务器上的所有 .mdf 文件,但看不到任何可能的候选者。系统数据库似乎不包含任何用户表。

有没有人知道是否有一个可以使用的“默认”数据库——也许是一个没有 .mdf 扩展名的数据库?

这显然是接受默认配置的奖励!我真的应该知道得更好,但我在这里完全被难住了,所以很感激任何建议!

【问题讨论】:

  • 仅供参考,用户实例已被弃用。

标签: sql sql-server database configuration connection-string


【解决方案1】:

使用 Sql Server Management Studio 连接到数据源(Sql Server Express with tools 免费提供)。右键单击数据库,它会显示文件的存储位置。

【讨论】:

    【解决方案2】:

    也许这是对 SQL Server 实例的引用,因此使用默认目录,直到引用特定数据库,可能在运行时。

    http://msdn.microsoft.com/en-us/library/ms247257.aspx

    另请参阅:SQL Server Express 用户实例并阅读“用户实例的工作原理”

    http://msdn.microsoft.com/en-us/library/ms254504.aspx

    使用以下查询来识别在默认 SQL Server Express 实例下运行的特定用户实例。

    SELECT owning_principal_name, instance_pipe_name FROM sys.dm_os_child_instances
    

    【讨论】:

      【解决方案3】:

      请参阅有关用户实例的 this part。至于AttachDbFilename,这个参数可以在运行时添加或在其他地方指定。在您的应用程序根目录中查找App_Data 文件夹。

      【讨论】:

        【解决方案4】:

        数据库名称可以与物理文件名不同。
        要在磁盘上找到文件,请使用 SQL Server Management Studio。

        Management studio 2005
        Management studio 2008

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-11-28
          • 2014-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多