Analysis Services データベースのインポートとデタッチ
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
多くの場合、SQL Server Analysis Services データベース管理者 (dba) が一定期間データベースをオフラインにし、そのデータベースを同じサーバー インスタンスまたは別のサーバー インスタンスでオンラインに戻す必要がある場合があります。 こうした状況は、パフォーマンス向上のためにデータベースを別のディスクに移動したり、データベース拡張のための領域を確保したり、製品をアップグレードしたりするなど、ビジネス上のニーズによって頻繁に発生します。 このようなすべてのケースで、[アタッチとデタッチ] コマンドを使用すると、SQL Server 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 コマンドを実行するには、サーバーの管理者特権が必要です。
参照
Analysis Services データベースの移動
データベースの ReadWriteMode
Analysis Services データベースの ReadOnly モードと ReadWrite モードの切り替え
Detach 要素
Attach 要素