使用 SQL Server 2005 的 SQL Server 管理控制台,我们转到
Server Properties --> Database Settings -->
change database default location from c:\blah\blah to E:\MSSQL\DATA
我们重新启动服务器,它应该至少在理论上将所有新数据库存储在该目录中。
到目前为止一切正常,但是当我们恢复第一个 databasename.bak 文件时,它会将信息存储在 C:\Program Files\blah\blah\data 目录中。
关于如何使这个永久保存到恢复的数据库的任何想法?
数据库 .bak 文件包含有关备份数据库保存其 mdf 和 ldf 文件的位置的信息。我的猜测是,它的设计目的是让恢复变得超级简单。要将备份恢复到不同的位置(即您想要的新位置),您需要使用一些稍微高级的功能:
使用 SQL Server Management Studio(参见步骤 11)
使用 Transact-SQL
您设置的服务器默认值仅控制新数据库所在的默认位置。您需要在 RESTORE 操作中告诉 SQL 文件的新位置。如果使用 GUI,请切换到恢复 DB 对话框的选项页面,并为每个文件指定一个新路径。如果使用查询窗口,请使用 RESTORE FILELISTONLY 获取文件列表,然后使用该信息 RESTORE DATABASE ... WITH MOVE ... 将数据库恢复到您选择的位置。
恢复名为“我的”的数据库
我相信备份的数据库默认恢复到备份时的位置。因此,如果您想更改这一点,您可以在数据库位于新位置后对其进行备份。
否则,您可以查看:
并确保这是正确的道路。
转到对象资源管理器。右键单击数据库服务器并选择“属性”。转到左侧的“数据库设置”并更改数据库默认位置。
注意:这仅适用于您进行更改的特定数据库服务器。