如何在SQL Server Management Studio中更改LocalDB的“数据库默认位置”?

时间:2012-12-08 13:47:08

标签: ssms localdb sql-server-2012-express

  1. 连接到SSMS中的LocalDB
  2. 打开服务器属性 - >数据库设置 enter image description here
  3. 更改数据/日志/备份位置 - >单击确定
  4. 当我单击“确定”时,出现此错误: enter image description here

    发现了一些博客帖子并在注册表中更改了这一点,但它没有帮助。 enter image description here

    任何人都有我可以尝试的其他想法吗?

3 个答案:

答案 0 :(得分:4)

我不相信SQL Server LocalDB的这些默认路径是可更改的。这是非常不幸的,因为在DBA.StackExchange上这个问题(以及我对它的回答)似乎是SQL Server Express 2017 LocalDB的一个错误:

LocalDB v14 creates wrong path for mdf files

但是,您不需要使用默认路径。在未指定物理位置的情况下创建数据库时会使用这些。如果指定了物理位置,那么您应该能够将文件创建到您具有读/写访问权限的任何文件夹/目录。

答案 1 :(得分:-1)

在注册表中进行更改后,尝试重新启动sql实例。 此外,我还要确保运行SQL Server的帐户能够写入该文件夹。 为了方便测试,您可以转到文件夹属性 - >安全然后添加帐户'每个人'然后给他们完全控制。然后尝试做出改变。如果它有效,则该帐户存在权限问题。如果没有某种级别的管理员,帐户通常无法访问其他用户帐户。

答案 2 :(得分:-3)

我认为LocalDB的目的之一是将演示数据库与应用程序的源文件捆绑在一起非常方便。当然,数据库文件及其日志位于源文件目录中。

以Visual Studio解决方案为例,在web.config或app.config中,您可以看到如下内容:

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-XXXXXX-20140609153630;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-XXXXXX-20140609153630.mdf" providerName="System.Data.SqlClient" />

既然在配置文件中指定了每个LocalDB的位置,我就不会想到&#34;默认位置&#34;很有道理。