他のサーバーにデータベースを移動する

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やデータベースの記事なども担当。
掲載日: 2014-12-22
iPentec all rights reserverd.