他のサーバーにデータベースを移動する
SQL Server で他のサーバーにデータベースを移動する手順を紹介します。
概要
SQL Server で他のサーバーにデータベースを移動する場合には、データベースのバックアップを作成し、他のデータベースサーバーでバックアップを復元する方法でも移動ができます。しかし、データベースのバックアップを作成するためのディスク容量や、バックアップ作成のための時間がかかること、元のデータベースを稼働した状態での移行では、データベースの整合性が崩れるなどの問題が起きる場合もあります。この記事では、バックアップを作成せずに直接データベースのファイルを移動してデータベースを他のサーバーに移動する手順を紹介します。
事前準備
操作対象のデータベースのデータファイルを調べておく必要があります。データファールの場所がわからない場合は
こちらの手順でデータファイルの場所を調べられます。
手順
Microsoft SQL Server Management Studio を起動します。起動後、作業するデータベースに接続します。左側のツリービューの[データベース]ノードを開き、移動させるデータベースのノードをクリックして選択します。次に、右クリックしポップアップメニューを表示し、[タスク]メニューの[デタッチ]を選択します。
[データベースのデタッチ]ダイアログが表示されます。ダイアログ下部の[OK]ボタンをクリックし、データベースをデタッチします。
データベースがデタッチされると、ツリービューからデータベースのノードが無くなります。
データベースのデータディレクトリを開きます。移動させるデータベースのデータファイルをコピーして新しいサーバーに移動します。移動方法は外付けHDDにコピーして移動しても良いですし、ファイル共有やFTPなどネットワーク経由でコピーしても構いません。
新しいサーバーにデータファイルをコピーできました。
移動先のSQL ServerのManagement Studioを起動しSQL Serverに接続します。左側のツリービューのサーバーノードの下の[データベース]ノードを選択し、右クリックします。ポップアップメニューが表示されますので[アタッチ]メニューを選択します。
[データベースのインポート]ダイアログが表示されます。ダイアログ中央の[追加]ボタンをクリックします。ファイル選択ダイアログが表示されるので、このサーバーにコピーしたmdfファイルを選択します。
mdfファイルを追加すると、付随するldfファイルや他の設定ファイルは自動で追加されます。ファイルパス等に問題が無ければ[OK]ボタンをクリックします。
データベースがアタッチされると、[データベース]ノードの下にアタッチしたデータベースのノードが表示されます。
ユーザーなどの設定
データベースの移動では、ログインユーザーの情報は移動しません。ログインユーザーとデータベースユーザーとの対応付けは別途作成する必要があります。
ログインユーザーの作成は
こちらの記事を参照してください。
以上でデータベースの移動は完了です。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。