データベースのコピー ウィザードを使用すると、データベースとそのオブジェクトをサーバー間で簡単に移動またはコピーでき、サーバーのダウンタイムは発生しません。 以前のバージョンの SQL Server から SQL Server 2014 にデータベースをアップグレードすることもできます。 このウィザードを使用すると、次の操作を行うことができます。
移行元サーバーと移行先サーバーを選択します。
移動、コピー、またはアップグレードするデータベースを選択します。
データベースのファイルの場所を指定します。
移行先サーバーにログインを作成します。
追加のサポート オブジェクト、ジョブ、ユーザー定義ストアド プロシージャ、およびエラー メッセージをコピーします。
データベースを移動またはコピーするタイミングをスケジュールします。
データベースのコピーに加えて、コピーしたデータベースに必要な マスター データベースからのログインやオブジェクトなど、関連付けられたメタデータをコピーできます。
このトピックについて
作業を開始する準備:
データベースのコピー ウィザードを使用して、次の操作を行います。
アップグレード後のフォローアップ:
開始する前に
制限事項と制約条件
データベースのコピー ウィザードは、Express エディションでは使用できません。
データベースのコピー ウィザードを使用して、次のデータベースをコピーまたは移動することはできません。
システム データベース
レプリケーション用にマークされたデータベース。
[アクセス不可]、[読み込み中]、[オフライン]、[回復中]、[疑わしい]、または [緊急モード] とマークされているデータベース。
データベースをアップグレードした後は、以前のバージョンにダウングレードすることはできません。
[移動] オプションを選択すると、データベースの移動後にソース データベースが自動的に削除されます。 [コピー] オプションを選択した場合、データベースの コピー ウィザードはソース データベースを削除しません。
SQL Server 管理オブジェクト メソッドを使用してフルテキスト カタログを移動する場合は、移動後にインデックスを再作成する必要があります。
detach-and-attach メソッドは、データベースをデタッチし、データベース .mdf、.ndf、.ldf ファイルを移動またはコピーし、新しい場所にデータベースを再アタッチします。 デタッチとアタッチの方法では、データの損失や不整合を回避するために、アクティブなセッションを移動またはコピーするデータベースにアタッチできません。 アクティブなセッションが存在する場合、データベースのコピー ウィザードは移動操作またはコピー操作を実行しません。 SQL Server 管理オブジェクトメソッドでは、データベースがオフラインになることがないため、アクティブなセッションが許可されます。
[前提条件]
移行先サーバーで SQL Server エージェントが起動していることを確認します。
推奨事項
アップグレードされたデータベースの最適なパフォーマンスを確保するには、アップグレードされたデータベースに対してsp_updatestats (統計の更新) を実行します。
データベースを別のサーバー インスタンスにコピーする場合、ユーザーとアプリケーションに一貫したエクスペリエンスを提供するために、他のサーバー インスタンスでデータベースのメタデータ (ログインやジョブなど) の一部またはすべてを再作成する必要がある場合があります。 詳細については、「データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server)」を参照してください。
安全
権限
ソース サーバーと移行先サーバーの両方で sysadmin 固定サーバー ロールのメンバーである必要があります。
データベースのコピー、移動、またはアップグレード
SQL Server Management Studio のオブジェクト エクスプローラーで、[ データベース] を展開し、データベースを右クリックし、[ タスク] をポイントして、[ データベースのコピー] をクリックします。
[ ソース サーバーの選択] ページで、移動またはコピーするデータベースを含むサーバーを指定し、ログイン情報を入力します。 認証方法を選択し、ログイン情報を入力したら、[ 次へ ] をクリックしてソース サーバーへの接続を確立します。 この接続はセッション全体で開いたままです。
ソース サーバー
移動またはコピーするデータベースが配置されているサーバーの名前を選択するか、参照 (...) ボタンをクリックして目的のサーバーを見つけます。 サーバーは、少なくとも SQL Server 2005 である必要があります。Windows 認証 を使用する
ユーザーが Microsoft Windows ユーザー アカウント経由で接続できるようにします。SQL Server 認証を使用する
SQL Server 認証のユーザー名とパスワードを指定して、ユーザーが接続できるようにします。ユーザー名
接続先のユーザー名を入力します。 このオプションは、SQL Server 認証を使用して接続することを選択した場合にのみ使用できます。パスワード
ログインのパスワードを入力します。 このオプションは、SQL Server 認証を使用して接続することを選択した場合にのみ使用できます。次に
サーバーに接続し、ユーザーを検証します。 このプロセスでは、ユーザーが選択したコンピューターの sysadmin 固定サーバー ロールのメンバーであるかどうかを確認します。[ 移行先サーバーの選択] ページで、データベースを移動またはコピーするサーバーを指定します。 移行元サーバーと移行先サーバーを同じサーバー インスタンスに設定すると、データベースのコピーが作成されます。 この場合、ウィザードの後の時点でデータベースの名前を変更する必要があります。 コピー元データベース名は、コピー先サーバーに名前の競合が存在しない場合にのみ、コピーまたは移動されたデータベースに使用できます。 名前の競合が存在する場合は、ソース データベース名を使用する前に、コピー先サーバーで手動で解決する必要があります。
移行先サーバー
データベースまたはデータベースを移動またはコピーするサーバーの名前を選択するか、参照 (...) ボタンをクリックして移行先サーバーを見つけます。注
クラスター化されたサーバーである宛先を使用できます。データベースのコピー ウィザードでは、クラスター化された移行先サーバー上の共有ドライブのみを選択します。
Windows 認証 を使用する
ユーザーが Microsoft Windows ユーザー アカウント経由で接続できるようにします。SQL Server 認証を使用する
SQL Server 認証のユーザー名とパスワードを指定して、ユーザーが接続できるようにします。ユーザー名
接続先のユーザー名を入力します。 このオプションは、SQL Server 認証を選択した場合にのみ使用できます。パスワード
ログインのパスワードを入力します。 このオプションは、SQL Server 認証を選択した場合にのみ使用できます。次に
サーバーに接続し、ユーザーを検証します。 このプロセスでは、ユーザーが選択したコンピューターで上記のアクセス許可を持っているかどうかを確認します。[ 転送方法の選択 ] ページで、転送方法を選択します。
デタッチとアタッチの方法を使用する
ソース サーバーからデータベースをデタッチし、データベース ファイル (.mdf、.ndf、および .ldf) をコピー先サーバーにコピーし、コピー先サーバーにデータベースをアタッチします。 プリンシパル作業ではソース ディスクの読み取りとコピー先ディスクの書き込みが行われるため、通常、この方法の方が高速です。 データベース内にオブジェクトを作成したり、データ ストレージ構造を作成したりするために SQL Server ロジックは必要ありません。 ただし、データベースに大量の割り当て済みで未使用の領域が含まれている場合は、この方法の方が遅くなる可能性があります。 たとえば、100 MB を割り当てて作成された新規で実質的に空のデータベースでは、5 MB しか満たされていない場合でも、100 MB 全体がコピーされます。注
このメソッドを使用すると、転送中にデータベースをユーザーが使用できなくなります。
エラーが発生した場合は、ソース データベースを再アタッチします。
データベースがコピーされると、元のデータベース ファイルは常にソース サーバーに再アタッチされます。 データベースの移動を完了できない場合は、このボックスを使用して元のファイルをソース データベースに再アタッチします。SQL 管理オブジェクト メソッドを使用する
このメソッドは、ソース データベース上の各データベース オブジェクトの定義を読み取り、コピー先データベースに各オブジェクトを作成します。 次に、ソース テーブルからコピー先テーブルにデータを転送し、インデックスとメタデータを再作成します。注
データベース ユーザーは、転送中も引き続きデータベースにアクセスできます。
[ データベースの選択 ] ページで、移行元サーバーから移行先サーバーに移動またはコピーするデータベースを選択します。 このトピックの「始める前に」セクションの 「制限事項と制限 事項」を参照してください。
移動
データベースを移行先サーバーに移動します。コピー
コピー先サーバーにデータベースをコピーします。ソース
ソース サーバーに存在するデータベースを表示します。地位
データベースを移動できる場合は 、OK を表示します 。 それ以外の場合は、データベースを移動できない理由が表示されます。更新
データベースの一覧を更新します。次に
検証プロセスを開始し、次の画面に移動します。[ 変換先データベースの構成 ] ページで、必要に応じてデータベース名を変更し、データベース ファイルの場所と名前を指定します。 このページは、移動またはコピーされるデータベースごとに 1 回表示されます。
[ データベース オブジェクトの選択] ページで、移動またはコピー操作に含めるオブジェクトを選択します。 このページは、移行元と移行先が異なるサーバーである場合にのみ使用できます。 オブジェクトを含めるには、[ 使用可能な関連 オブジェクト] ボックスでオブジェクト名をクリックし、[ >> ] ボタンをクリックしてオブジェクトを [選択した関連オブジェクト ] ボックスに移動します。 オブジェクトを除外するには、[ 選択した関連 オブジェクト] ボックスでオブジェクト名をクリックし、[ << ] ボタンをクリックしてオブジェクトを [ 使用可能な関連オブジェクト ] ボックスに移動します。 既定では、選択した各種類のすべてのオブジェクトが転送されます。 任意の種類の個々のオブジェクトを選択するには、[ 選択した関連 オブジェクト] ボックスの任意のオブジェクトの種類の横にある省略記号ボタンをクリックします。 ダイアログ ボックスが開き、個々のオブジェクトを選択できます。
ログイン (実行時のすべてのログイン)
移動操作またはコピー操作にログインを含めます。 既定でオンになっています。master データベースからのストアド プロシージャ
移動操作またはコピー操作に マスター データベースのストアド プロシージャを含めます。注
拡張ストアド プロシージャとそれに関連付けられている DLL は、自動コピーの対象ではありません。
SQL Server エージェント ジョブ
移動またはコピー操作に msdb データベースからのジョブを含めます。ユーザー定義エラー メッセージ
移動操作またはコピー操作にユーザー定義のエラー メッセージを含めます。エンドポイント
ソース データベースで定義されているエンドポイントを含めます。フルテキスト カタログ
ソース データベースのフルテキスト カタログを含めます。SSIS パッケージ
ソース データベースで定義されている SSIS パッケージを含めます。説明
オブジェクトの説明。[ ソース データベース ファイルの場所 ] ページで、ソース サーバー上のデータベース ファイルを含むファイル システム共有を指定します。 これは、移行元サーバー インスタンスと移行先サーバー インスタンスが異なるコンピューター上にある場合に必要です。
データベース
移動する各データベースの名前を表示します。フォルダーの場所
ファイル システム上のソース データベース ファイルの場所を指定します。例: C:\Program Files\Microsoft SQL Server\MSSQL110。MSSQLSERVER\MSSQL\DATA
ソース サーバー上のファイル共有
ソース データベース ファイルの場所をファイル共有のパスとして指定します。たとえば、"\server_name\C$\Program Files\Microsoft SQL Server\MSSQL110\MSSQLSERVER\MSSQL\Data"
データベースのコピー ウィザードは、SSIS パッケージを作成してデータベースを転送します。[ パッケージの構成 ] ページから、必要に応じてパッケージをカスタマイズします。
[パッケージの場所]
SSIS パッケージの書き込み先を表示します。パッケージ名
SSIS パッケージの名前を入力します。ログ オプション
ログ情報を Windows イベント ログに格納するか、テキスト ファイルに格納するかを選択します。エラー ログ ファイルのパス
ログ ファイルの場所のパスを指定します。 このオプションは、テキスト ファイルのログ記録オプションが選択されている場合にのみ使用できます。[ パッケージのスケジュール] ページで、移動またはコピー操作を開始するタイミングを指定します。 システム管理者でない場合は、Integration Services (SSIS) パッケージ実行サブシステムにアクセスできる SQL Server エージェント プロキシ アカウントを指定する必要があります。
すぐに実行する
[ 次へ] をクリックした後、移動またはコピー操作を開始します。スケジュール
後で移動またはコピー操作を開始します。 現在のスケジュール設定が説明ボックスに表示されます。 スケジュールを変更するには、[ 変更] をクリックします。変更点
[ 新しいジョブ スケジュール ] ダイアログ ボックスを開きます。Integration Services プロキシ アカウント
使用可能なプロキシ アカウントを選択します。 転送をスケジュールするには、 SQL Server Integration Services パッケージ実行 サブシステムへのアクセス許可で構成された、ユーザーが使用できるプロキシ アカウントが少なくとも 1 つ必要です。SSIS パッケージ実行用のプロキシ アカウントを作成するには、オブジェクト エクスプローラーで SQL Server エージェントを展開し、[ プロキシ] を展開し、[ SSIS パッケージの実行] を右クリックして、[ 新しいプロキシ] をクリックします。
sysadmin 固定サーバー ロールのメンバーは、必要なアクセス許可を持つ SQL Server エージェント サービス アカウントを選択できます。
[ ウィザードの完了] ページで、選択したオプションの概要を確認します。 [ 戻る ] をクリックしてオプションを変更します。 [ 完了] をクリックしてデータベースを作成します。 転送中、[ 実行中の操作 ] ページでは、 データベースのコピー ウィザードの実行に関する状態情報が監視されます。
アクション
実行されている各アクションを一覧表示します。地位
アクション全体が成功したか失敗したかを示します。メッセージ
各ステップから返されるすべてのメッセージを提供します。
補足情報: SQL Server データベースをアップグレードした後
データベースのコピー ウィザードを使用して以前のバージョンの SQL Server から SQL Server 2014 にデータベースをアップグレードすると、データベースはすぐに使用可能になり、自動的にアップグレードされます。 データベースにフルテキスト インデックスがある場合、アップグレード プロセスでは、 Full-Text アップグレード オプション サーバー プロパティの設定に応じて、それらをインポート、リセット、または再構築します。 アップグレード オプションが [インポート ] または [再構築] に設定されている場合、フルテキスト インデックスはアップグレード中に使用できなくなります。 インデックスを作成するデータの量によっては、インポートに数時間かかる場合があり、再構築には最大で 10 倍かかる場合があります。 また、アップグレード オプションが [インポート] に設定されている場合、フルテキスト カタログが使用できない場合は、関連付けられているフルテキスト インデックスが再構築されることにも注意してください。 Full-Text アップグレード オプション プロパティの設定を表示または変更する方法については、「サーバー インスタンスの Full-Text 検索の管理と監視」を参照してください。
アップグレード前にユーザー データベースの互換性レベルが 100 以上であった場合、アップグレード後も同じままです。 アップグレードされたデータベースで互換性レベルが 90 であった場合、互換性レベルは 100 に設定されます。これは、SQL Server 2014 でサポートされている最下位の互換性レベルです。 詳細については、「ALTER DATABASE 互換性レベル (Transact-SQL)」を参照してください。
こちらもご覧ください
デタッチとアタッチ (Transact-SQL) を使用してデータベースをアップグレードする
SQL Server エージェント プロキシ を作成する