2011-07-28 13 views
10

SQL Server 2008のインストールは約15台のデータベースで実行しています。スペースの不足のために、私は別のドライブにデータパスを移動したいと思います。これのベストプラクティスは何ですか?私はSQL Serverの管理が比較的新しいので、SQLコマンドを含めて詳細に説明してください。Sql Serverは既存のデータベースのデータとログのパスを変更します

注 - SQL ServerのプロパティのパスをSQL Management Studio 2008から新しいパスに変更しました。しかし、既存のデータベースが新しいパスに存在するようにしたいと思います。

答えて

12

まず、データベースデタッチ:

USE master; 
GO 
-- Important! We need to drop the existing connections. 
ALTER DATABASE DBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO 
EXEC sp_detach_db @dbname = N'DBName'; 
GO 

次のステップ - 新しい場所にコピーファイルは.mdfファイルとそのデータベースファイルの.LDFを

USE master; 
EXEC sp_attach_db @dbname = N'dbName', 
@filename1 = N'', --path do .mdf 
@filename2 = N''; --path to .ldf 
GO 

あなたは、D場合:

し、データベースをアタッチすべてのデータベースを1つずつアタッチして切り離したい場合は、sys.databasesの動的管理ビューで検索するcurosrを使用して、必要なすべてのデータベースを接続および切り離すSQLスクリプトを生成できます(もちろん、システムは例外です)。しかし、データベースファイルをコピーすることを忘れないでください。

関連する問題