我并不打算将数据库完全重新定位到另一个服务器,而只是将数据文件和日志(log)文件移动到另一个空间更大的驱动器.我看到了关于如何做到这一点的相互矛盾的方向,所以我正在寻找推荐的正确方法.
我并不打算将数据库完全重新定位到另一个服务器,而只是将数据文件和日志(log)文件移动到另一个空间更大的驱动器.我看到了关于如何做到这一点的相互矛盾的方向,所以我正在寻找推荐的正确方法.
use master
go
sp_detach_db 'mydb'
DECLARE @SRCData nvarchar(1000)
SET @SRCData = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\mydb.mdf';
DECLARE @SRCLog nvarchar(1000)
SET @SRCLog = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\mydb_log.ldf';
DECLARE @FILEPATH nvarchar(1000);
DECLARE @LOGPATH nvarchar(1000);
SET @FILEPATH = N'xcopy /Y ' + @SRCData + N' D:\Data';
SET @LOGPATH = N'xcopy /Y ' + @SRCLog + N' E:\Log';
exec xp_cmdshell @FILEPATH;
exec xp_cmdshell @LOGPATH;
sp_attach_db 'mydb', 'D:\Data\mydb.mdf', 'E:\Log\mydb_log.ldf'
这里有更多关于Microsoft KB article的详细信息.