ほぼ15のデータベースが実行されているSQLServer2008をインストールしています。スペースが不足しているため、データパスを別のドライブに移動したいと思います。このためのベストプラクティスは何ですか。私はSQLServerの管理に比較的慣れていないので、SQLコマンドを含める場合は、詳細に説明してください。
注-SQLServerプロパティのパスをSQLManagementStudio2008から新しいパスに変更しました。ただし、既存のデータベースを新しいパスに配置することもできます。
ほぼ15のデータベースが実行されているSQLServer2008をインストールしています。スペースが不足しているため、データパスを別のドライブに移動したいと思います。このためのベストプラクティスは何ですか。私はSQLServerの管理に比較的慣れていないので、SQLコマンドを含める場合は、詳細に説明してください。
注-SQLServerプロパティのパスをSQLManagementStudio2008から新しいパスに変更しました。ただし、既存のデータベースを新しいパスに配置することもできます。
まず、データベースをデタッチします。
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
すべてのデータベースを1つずつアタッチおよびデタッチしたくない場合は、sys.databases動的管理ビューで検索するcurosrを使用して、必要なすべてのデータベース(もちろんシステムを除く)をアタッチおよびデタッチするSQLスクリプトを生成できます。 。ただし、データベースファイルをコピーすることを忘れないでください。
1つの方法は、取り外して取り付けることです。
コマンド/手順については、MSDNの記事「方法:デタッチとアタッチを使用してデータベースを移動する(Transact-SQL)」を参照してください。