SQL Server 2005 でデータベースをあるドライブから別のドライブに移動する適切な方法は何ですか? 質問する

SQL Server 2005 でデータベースをあるドライブから別のドライブに移動する適切な方法は何ですか? 質問する

データベースを別のサーバーに完全に再配置するつもりはなく、データ ファイルとログ ファイルを、より容量の大きい別のドライブに移動するだけです。これを行う方法について矛盾する指示を見たことがあるため、推奨される適切な方法を探しています。

ベストアンサー1

データベースをデタッチします:

use master
go 
sp_detach_db 'mydb'

データベース ファイルを移動します (xp_cmdshell 経由の Xcopy を示します)。

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 記事

おすすめ記事