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