[INF] SQL Server 2000 のデータベース コピー ウィザードの説明とトラブルシューティング

文書翻訳 文書翻訳
文書番号: 274463 - 対象製品
この記事は、以前は次の ID で公開されていました: JP274463
すべて展開する | すべて折りたたむ

目次

概要

データベース コピー ウィザードは SQL Server 2000 の新しいユーティリティで、SQL Server 7.0 または SQL Server 2000 から SQL Server 2000 にデータベースをコピーまたは移動できます。コピーまたは移動プロセスは比較的単純で、他にほとんど影響を与えることのないプロセスともいえます。この資料では、データベース コピー ウィザードの動作についての情報を提供し、ウィザードを使用するときに気を付ける必要がある問題の概要について説明します。

詳細

データベース コピー ウィザードを操作する方法

データベース コピー ウィザードを起動するには、次の手順を実行します。
  • SQL Server Enterprise Manager で、SQL Server インスタンスをクリックし、ツール バーの [ウィザードの実行] をクリックします。次に、[管理] をクリックし、[データベース コピー ウィザード] をクリックして、[OK] をクリックします。

    または

  • [データベース] フォルダを右クリックし、[すべてのタスク] をクリックます。次に、[データベース コピー ウィザード] をクリックします。

    または

  • コマンド プロンプトで、Cdw.exe と入力し、Enter キーを押します。
ウィザードでは、コピーまたは移動するデータベースをデタッチし、データベースに関連付けられたファイルをコピー先のサーバーにコピー後、そのデータベースをアタッチします。データベースのデタッチおよびアタッチは次のストアド プロシージャを使用して実行されます。
  • sp_detach_db

    および

  • sp_attach_db
これらのストアド プロシージャの詳細については、SQL Server Books Online の「sp_attach_db」と「sp_detach_db」を参照してください。

コマンド ラインの COPY コマンドを実行する XP_CMDSHELL を介してファイルが実際にコピーされます。そのため、データベース コピー ウィザードを実行するアカウントが sysadmin のメンバであることが重要です。詳細については、SQL Server Books Online の「データベース コピー ウィザードの使用」を参照してください。

このウィザードでは、次の処理が順に実行されます。
  1. ファイルがコピーされるコピー先のコンピュータに UNC 共有ポイントを作成します。
  2. コピー元のデータベースでアクティブな接続を確認します。
  3. データベースをシングル ユーザー モードにします。
  4. コピー元のデータベースをデタッチします。
  5. コピー先にファイルが存在するかどうかを確認した後、データベース ファイルを上記で作成した共有ポイントにコピーします。
  6. コピー元のサーバーでデータベースを再アタッチします。
  7. コピー先のサーバーでデータベースをアタッチします。
  8. UNC 共有を削除します。
  9. データベースを元のモード (シングル ユーザー、マルチユーザーなど) に戻します。
4 つの詳細機能が存在し、これらの機能を使用してコピーまたは移動するデータベースに関連付けられたオブジェクトを移動することができます。
  • ログイン (推奨)
    • パッケージ実行時に検出した全ログイン
    • 選択したデータベースが使用するログインのみ
  • Master データベースから共有ストアド プロシージャ (省略可)
    • パッケージ実行時に検出した全ストアド プロシージャ
    • ユーザーが選択したストアド プロシージャ
  • MSDB からジョブ選択 (省略可)
    • パッケージ実行時に検出した全ジョブ
    • ユーザーが選択したジョブ
  • ユーザー定義エラー メッセージ (省略可)
    • パッケージ実行時に検出した全エラー メッセージ
    • ユーザーが選択したエラー メッセージ

ウィザードによって作成されるデータ変換サービス (DTS) パッケージ

データベース コピー ウィザードにより、コピー先のサーバーで実行する DTS パッケージが作成されます。このパッケージはすぐに実行することも、スケジュールを設定して後で実行することもできます。また、DTS デザイナ ツールを使用し、[データベース転送タスク] をクリックすることにより、データベース DTS パッケージのコピーを手動で作成できます。詳細については、SQL Server 2000 Books Online の「データベース オブジェクトの転送タスク」を参照してください。

パッケージは、繰り返し実行、または一度だけ実行するようにスケジュールが設定されている場合、保存されます。そのため、コピー先のサーバーでは SQL Server エージェントが開始されている必要があります。データベース転送 DTS パッケージは、パッケージのスケジュール設定および実行に関連付けられる必要条件や権限などについては、その他すべての DTS パッケージと同様に扱われる必要があります。定期 DTS パッケージのトラブルシューティング方法の詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) の資料を参照してください。
269074 [INF] 定期ジョブとして DTS パッケージを実行する方法
Microsoft SQL Server 7.0 がコピー元のデータベース サーバーである場合のみ、Microsoft SQL Server 7.0 でデータベース コピー ウィザードを使用できます。Microsoft SQL Server 6.x 以前のバージョンではこのウィザードを使用できません。

データベース コピー ウィザードのログと DTS パッケージ ログ

データベース コピー ウィザードのログは、MSDB の sysdtspackagelog システム テーブルに格納されますが、SQL Server Enterprise Manager (SEM) でも表示できます。このログを表示するには、次の手順を実行します。
  1. パッケージが格納されているコピー先サーバーで、SEM を起動し、[データ変換サービス] フォルダを展開します。
  2. [ローカル パッケージ] をクリックし、ログを表示するパッケージを探します。デフォルトでは、パッケージには CDW_SourceServer_DestinationServer_autonumber という名前が付けられています。
  3. パッケージを右クリックし、[パッケージ ログ] をクリックします。
  4. [DTS パッケージのバージョンとログのツリー] の下で、正符号 (+) をクリックして展開し、ログの一覧を表示します。
このダイアログ ボックスでは、このパッケージのログを表示したり、別のパッケージをドロップダウン リスト ボックスから選択したりすることができます。また、[削除] をクリックして、不必要なログを削除することもできます。

また、トラブルシューティングのために、出力ファイルを生成するように DTS パッケージを構成できます。
  1. パッケージを右クリックし、[パッケージのデザイン] をクリックします。
  2. [パッケージ] メニューの [プロパティ] をクリックします。
  3. [ログ記録] タブで、エラー ファイルを指定します。

    このファイルには、パッケージの実行に関する詳細情報が記載されます。

ファイルをコピーする権限

ファイルをコピー元からコピー先にコピーするには、コピー先の SQL Server の起動アカウントがドメイン アカウントであり、かつ、コピー元の SQL Server サーバー コンピュータのローカル管理者特権を持っている必要があります。

コピー先の SQL Server をローカル システム アカウントで起動している場合、次のエラー メッセージが表示されることがあります。
SQL Server サービスがローカル システム アカウントで実行されています。ネットワークを経由してファイルをコピーする権限を持つためには、SQL Server サービス アカウントを変更する必要があります。
コピー先の SQL Server がドメイン アカウントで起動されており、そのアカウントがコピー元のコンピュータのローカル管理者特権を持っていない場合は、ウィザードで次のエラー メッセージが表示されることがあります。
ステップ エラー ソース: Microsoft データ変換サービス (DTS) パッケージ
ステップ エラーの説明: エラーを特定できません

ステップ エラー コード: 80004005
ステップ エラー ヘルプファイル:sqldts80.hlp
ステップ エラー ヘルプ コンテキスト ID: 1100
[詳細情報] をクリックすると、リモート共有を作成するための権限が存在しないことがわかります。
共有 OMWWIZD の作成に失敗しました

データベース デタッチの認識

既に説明したように、データベース コピー ウィザードでは、コピー先サーバーにデータベースをコピーする前に、コピー元データベースをデタッチします。データベースが不安定状態、またはデータベースのデタッチまたは再アタッチを妨げる問題が他に存在する場合は、データベース コピー ウィザードを実行しないでください。入出力エラー (たとえば、エラー 823)、データ整合性エラー (たとえば、テーブルの破損)、または既知のハードウェアの問題 (たとえば、システム イベント ログに SCSI ポート エラーまたはコントローラ エラーが記録されている場合) などが、データベースの正常な再アタッチを妨げる障害になることがあります。

コピー先データベースが '読み取り専用'、'オフライン'、'問題あり'、'緊急'、または '読み込み中' の状態ではないようにしてください。このような場合にウィザードを実行すると、データベースのデタッチは失敗します。デタッチではデータベースの統計を更新する必要があるため、何らかの理由でデータベースに書き込みを行えない場合、統計の更新が失敗して、デタッチは失敗します。データベースへの書き込みを行えない状態にあることが原因でデタッチに失敗した場合、次のエラー メッセージが表示されます。
データベース <DatabaseName> のデタッチに失敗しました
[エラーの表示] をクリックすると、次のエラー メッセージが表示されます。
ステップ エラー ソース: Microsoft データ変換サービス (DTS) パッケージ
ステップ エラーの説明: エラーを特定できません

ステップ エラー コード: 80004005
ステップ エラー ヘルプファイル:sqldts80.hlp
ステップ エラー ヘルプ コンテキスト ID: 1100
また、データベースをデタッチするには、データベースがシングル ユーザー モードに設定されているか、ユーザーが接続していない状態にする必要があります。複数のユーザーがデータベースを使用している場合、ウィザードが次のエラーで失敗することがあります。
ステップ エラー ソース: Microsoft データ変換サービス (DTS) パッケージ
ステップ エラーの説明: エラーを特定できません

ステップ エラー コード: 80004005
ステップ エラー ヘルプファイル:sqldts80.hlp
ステップ エラー ヘルプ コンテキスト ID: 1100
[詳細情報] をクリックすると、次に示す、問題の根本的な原因が表示されます。
データベース [dbname] は [N] 個のアクティブな接続を持っています。データベースは転送されません。

データベースをデタッチする権限

データベースをデタッチするには一定の権限が必要です。SQL Server 2000 Books Online には、このウィザードを使用するために必要な権限について次のように記載されています。
「データベース コピー ウィザードを使用するには、システム管理者またはロール sysadmin のメンバである必要があります。Microsoft Windows NT? 4.0 または Microsoft Windows? 2000 を実行している場合は、管理者特権を持ったユーザー アカウントが必要です。」

コピー先ディレクトリの存在の確認

CDW を使用している場合、[データベース ファイルの場所] ページで [変更] をクリックし、コピー先ディレクトリが適切であることを確認します。ディレクトリが存在しない場合、CDW が次のエラーで失敗することがあります。
ステップ エラー ソース: Microsoft データ変換サービス (DTS) パッケージ
ステップ エラーの説明: エラーを特定できません

ステップ エラー コード: 80004005
ステップ エラー ヘルプファイル:sqldts80.hlp
ステップ エラー ヘルプ コンテキスト ID: 1100
[詳細情報] をクリックすると、ディレクトリが存在しないことがわかります。
コピー先のディレクトリが存在しないので、ファイル \\SOURCE_SERVER\OMWWIZx\Program Files\Microsoft SQL Server\MSSQL\Data\Filename_Data.mdf をコピーできません。

データベースを削除する MOVE オプション

データベースをコピーするのではなく、データベースの移動を選択すると、移動元の SQL Server からデータベースが削除されることに注意してください。具体的には、データベースは移動元のサーバーからデタッチされ、再アタッチされません。ただし、元のデータベース ファイル (.mdf、.ndf、.ldf) は移動元のサーバーから物理的に削除されるわけではありません。容量などの関係でこれらが不要な場合は、これらを手動で削除する必要があります。次の警告メッセージが [データベース コピー ウィザードの完了] ダイアログ ボックスに表示されます。
データベース 'Pubs' がコピーされますが、コピー先のサーバーだけで使用できます。管理者はコピー元のデータベース 'Pubs' のデータ ファイルとログ ファイルを削除する必要があります。
ただし、COPY オプションの代わりに誤って MOVE オプションを選択しても、それらのファイルは問題なくサーバーに再アタッチしてデータベースを復旧することができます。

ログインの移動

データベース コピー ウィザードの新機能により、手動によるログインの移動に関する問題が軽減されます。ウィザードではデータベース ユーザーに対応するログインを識別し、データベースの移動またはコピー プロセスの一環としてログインを移動またはコピーするオプションを提供します。SQL Server 標準認証のログインおよび Microsoft Windows NT や Microsoft Windows 2000 認証のログインの両方がウィザードにより移動されます。

以前のバージョンの SQL Server では、コピーまたは移動するデータベースのデータベース ユーザーに関連付けられたログインを移動するには、手動の操作が必要でした。以前のバージョンの SQL Server でログインを転送する方法の詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) の資料を参照してください。
168001 [SQL]PRB: リストア後のユーザーログイン、権限エラー
246133 [INF] SQL Server 7.0 または SQL Server 2000 サーバー間でログインおよびパスワードを転送する
SQL Server へのログイン アクセス権が許可されたローカルの Windows NT および Windows 2000 のグループとユーザーは、別のコンピュータに転送することはできません。これを行おうとすると、ログインの転送は失敗します。[詳細情報] をクリックすると、次のような根本的な原因がわかります。
"転送 ログイン SourceMachine\LocalGroup1 失敗"
または
"転送 ログイン SourceMachine\LocalUser1 失敗"

データベース/ファイルの存在またはディスク領域の不足

データベースを転送する際、ウィザードでは転送先サーバーにそのデータベースが存在するかどうかを検出します。[移動またはコピーするデータベースの選択] ダイアログ ボックスでは、転送できるデータベースについては [OK] ステータスが表示され、"既に存在する" データベースや master データベースのような "システム データベース" は転送不可能なデータベースとして表示されます。

転送先サーバーに同じデータベースが既に存在する場合も、データベースの転送が中止されます。したがって、転送先の Pubs データベースと同じファイル名を持つデータベースには MyPubs という名前を付けるようにします。このようなファイルの転送先には赤い X マークが表示されます。
"移行元のファイルと移行先のファイルが同じ名前か、移行先のディスク領域が不足しています"
このエラー メッセージを回避するには、転送先サーバーに作成されるファイルの名前を変更するか、作成されるファイルの物理的な場所を変更します。

また、転送先サーバーのディスク領域が不足している場合も、転送が中止されます。ドライブを変更するか、十分な領域を確保できるまでファイルを削除します。

フルテキスト検索の停止とフルテキスト カタログ ファイルの非転送

データベースにフルテキスト カタログが含まれていると、データベース コピー ウィザードを使用してデータベースを転送する場合に 2 つの影響があります。第 1 に、データベースをシングル ユーザー モードにできるように、フルテキスト (FT) カタログの検索がウィザードにより停止されます。第 2 に、その FT カタログは、ウィザードによって移動されません。データベース コピー ウィザードの実行後に、転送元または転送先の SQL Server でフルテキスト検索クエリを実行すると、次のエラー メッセージが表示されることがあります。
サーバー: メッセージ 7616、レベル 16、状態 1、行 1
現在のデータベースではフルテキスト検索は無効です。sp_fulltext_database を使用して、データベースのフルテキスト検索を有効にしてください。
詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) の資料を参照してください。
303224 [FIX] データベース コピー ウィザードを使用してデータベースをコピーすると、コピー元のデータベースでフルテキスト インデックス作成が無効になる
転送元および転送先の SQL Server でフルテキスト検索を実行するには、次の手順を実行します。
  1. 次のストアド プロシージャを実行して、転送元または転送先、あるいはその両方のデータベースでフルテキスト インデックス作成を有効にします。
    sp_fulltext_database 'enable'
    					
  2. すべてのカタログについて全生成を実行します。
以下は、SQL Server Books Online の関連セクションの記述です。
「フルテキスト カタログを含むデータベースをコピーする場合は、コピー操作の完了後に、コピー元サーバーでそのデータベースのフルテキスト カタログを使用できなくなります。コピー先サーバーで、フルテキスト カタログを手動で再作成してください。

フルテキスト カタログを含むデータベースを移動する場合は、データベースを移動しても関連付けられているフルテキスト カタログ ファイルは移動されません。これらのファイルはデータベース管理者が手動で移動しなければなりません。」
フルテキスト カタログの移動方法の詳細については、次の「サポート技術情報」 (Microsoft Knowledge Base) の資料を参照してください。
240867 [INF] フルテキスト カタログのフォルダとファイルを移動、コピー、およびバックアップする方法

関連情報

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
327270 SQL Server 2000 は Windows Server 2003 のターミナル サーバー アプリケーション サーバーではサポートされない

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 274463 (最終更新日 2003-12-03) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。

プロパティ

文書番号: 274463 - 最終更新日: 2011年5月17日 - リビジョン: 7.0
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2000 Standard Edition
キーワード:?
kbsqlmanagementtools kbinfo KB274463
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com