次の方法で共有


データベースのアタッチとデタッチ

Analysis Services のデータベース管理者 (DBA) がデータベースを一時的にオフラインにした後、そのデータベースを同じサーバー インスタンスまたは別のサーバー インスタンス上でオンラインに戻すことは少なくありません。こうした状況は、パフォーマンス向上のためにデータベースを別のディスクに移動したり、データベース拡張のための領域を確保したり、製品をアップグレードしたりするなど、ビジネス上のニーズによって頻繁に発生します。このような状況だけでなくさまざまな場合に、Attach コマンドと Detach コマンドを使用することによって、Analysis Services の DBA は、データベースをオフラインにした後、簡単にオンラインに戻すことができます。

Attach コマンドと Detach コマンド

Attach コマンドを使用すると、オフラインになっているデータベースをオンラインにすることができます。データベースは元のサーバー インスタンスにでも、別のインスタンスにでもアタッチできます。データベースをアタッチする場合、データベースに ReadWriteMode 設定を指定できます。Detach コマンドを使用すると、データベースをサーバーからオフラインにすることができます。

Attach と Detach の使用方法

Attach コマンドは、既存のデータベース構造をオンラインにする際に使用します。データベースを ReadWrite モードでアタッチする場合は、1 つのサーバー インスタンスに 1 回だけアタッチできます。一方、データベースを ReadOnly モードでアタッチする場合は、異なるサーバー インスタンスに複数回アタッチできます。ただし、同じデータベースを同じサーバー インスタンスに複数回アタッチすることはできません。同じデータベースを複数回アタッチしようとすると、データを別のフォルダにコピーした場合でも、エラーが発生します。

重要な注意事項重要

データベースをデタッチする際にパスワードが必要だった場合は、そのデータベースをアタッチする際にも同じパスワードが必要になります。

Detach コマンドは、既存のデータベース構造をオフラインにする際に使用します。データベースをデタッチする場合は、パスワードを指定して、機密性のあるメタデータを保護する必要があります。

重要な注意事項重要

データ ファイルの内容を保護するには、フォルダ、サブフォルダ、およびデータ ファイルのアクセス制御リストを使用する必要があります。

データベースをデタッチする場合、サーバーでは次の手順を実行します。

読み書き可能なデータベースのデタッチ

読み取り専用データベースのデタッチ

  1. サーバーはデータベースに対する CommitExclusive ロックの要求を発行します。

  2. サーバーは、実行中のトランザクションすべてがコミットまたはロールバックされるまで待機します。

  3. サーバーはデータベースのデタッチに必要なすべてのメタデータを構築します。

  4. データベースは削除済みに設定されます。

  5. サーバーはトランザクションをコミットします。

  1. データベースは削除済みに設定されます。

  2. サーバーはトランザクションをコミットします。

注意注意
読み取り専用データベースでは、デタッチ用のパスワードを変更できません。アタッチされたデータベースに既にパスワードが含まれている場合にパスワード パラメータを指定すると、エラーが発生します。

Attach コマンドおよび Detach コマンドは 1 つの操作として実行する必要があります。同じトランザクション内でその他の操作と組み合わせることはできません。また、Attach コマンドおよび Detach コマンドはアトミックなトランザクション コマンドです。つまり、操作は成功するか失敗するかのどちらかになります。データベースは未完了の状態にしておくことはできません。

重要な注意事項重要

Detach コマンドを実行するには、サーバーまたはデータベースの管理者特権が必要です。

重要な注意事項重要

Attach コマンドを実行するには、サーバーの管理者特権が必要です。