DBAtlas · データベース運用アトラス

データ / ログファイルを別の場所に移動する

SQL Serverストレージ

コマンド

-- 1) Tell SQL Server the new path (nothing is moved yet):
ALTER DATABASE [Customer]
MODIFY FILE (NAME = N'Customer_data',
             FILENAME = N'G:\Data\Customer_data.mdf');

-- 2) Take the database offline:
ALTER DATABASE [Customer] SET OFFLINE WITH ROLLBACK IMMEDIATE;

-- 3) Physically copy/move the file to the new path AT THE OPERATING SYSTEM level (G:\Data\...).

-- 4) Bring it online:
ALTER DATABASE [Customer] SET ONLINE;

概要

データベースファイルの物理的な場所を変更する: 新しいパスをメタデータに定義し、データベースをオフラインにしている間にファイルを物理的に移動してから、データベースをオンラインにする。

使用する場面

ディスクを交換する場合や、領域確保のために別のドライブへ移動する場合。

注意

OFFLINE + ROLLBACK IMMEDIATE はすべてのアクティブな接続を切断するため、ダウンタイムを計画する。OS 上で実際にファイルを新しいパスへコピーする前にデータベースを ONLINE にすると、データベースは SUSPECT になる。tempdb には別の方法が必要 (MODIFY FILE + SQL Server サービスの再起動)。

DBAtlas で開く →

関連項目