如何通过使用 SQL Server 中的 Detach 和 Attach 函数将 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)。
- 按如下所示重新附加指向新位置中这些文件的数据库:
use master
go
sp_attach_db 'mydb','E:/Sqldata/mydbdata.mdf','E:/Sqldata/mydblog.ldf'
go
使用 sp_helpfile 确认文件位置的更改:
use mydb
go
sp_helpfile
go
filename 列的值应当反映出新的位置。
use master
go
sp_detach_db 'mydb'
go
use master
go
sp_attach_db 'mydb','E:/Sqldata/mydbdata.mdf','E:/Sqldata/mydblog.ldf'
go
use mydb
go
sp_helpfile
go