转自:http://support.microsoft.com/kb/224071
更改某些 SQL Server 系统数据库的位置必须遵循的步骤与更改用户数据库的位置必须遵循的步骤不同。将分别对这些特殊情况给予说明。
先决条件
- 从数据库的当前位置备份当前所有数据库,尤其是 master 数据库。
- 必须具有系统管理员 (sa) 权限。
- 必须知道数据库的所有数据文件和日志文件的名称及当前位置。
注意:可以使用存储过程 sp_helpfile 来确定数据库所使用的所有文件的名称和当前位置:use <database_name> go sp_helpfile go
- 应可以以独占方式访问被移动的数据库。如果在此过程中出现问题并且无法访问已经移动的数据库,或无法启动 SQL Server,则需要查看 SQL Server 错误日志和 SQL Server 联机丛书以获取这些错误的更多信息。
移动用户数据库
以下示例将移动一个名为 mydb 的数据库,该数据库包含一个数据文件 Mydb.mdf 和一个日志文件 Mydblog.ldf。如果您要移动的数据库还有其他数据或日志文件,请在存储过程 sp_attach_db 中用一个逗号分隔的列表将它们全部列出。无论数据库包含多少文件,存储过程 sp_detach_db 都不会更改,原因是它不会列出这些文件。- 按如下所示分离数据库:
use master go sp_detach_db 'mydb' go
- 然后,将数据和日志文件从当前位置 (D:\Mssql7\Data) 复制到新位置 (E:\Sqldata)。
- 按如下所示重新附加指向新位置中这些文件的数据库:
使用 sp_helpfile 确认文件位置的更改:
use master go sp_attach_db 'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf' go
filename 列的值应当反映出新的位置。use mydb go sp_helpfile go
回到顶端
7875




被折叠的 条评论
为什么被折叠?



