データベースのバックアップ、復元、および同期 (XMLA)
XML for Analysis には、データベースのバックアップ、復元、および同期を行う 3 つのコマンドがあります。
backupコマンドは、「データベースのバックアップ」で説明されているように、Analysis Services バックアップファイル (abf) を使用して、Microsoft SQL Server Analysis Services データベースをバックアップします。
Restoreコマンドは、「データベースの復元」セクションで説明されているように、abf ファイルから Analysis Services データベースを復元します。
Synchronizeコマンドは、「データベースの同期」で説明されているように、1つの Analysis Services データベースを別のデータベースのデータおよびメタデータと同期します。
データベースのバックアップ
既に説明したように、 backup コマンドは、指定された Analysis Services データベースをバックアップファイルにバックアップします。 Backupコマンドには、バックアップするデータベース、使用するバックアップファイル、セキュリティ定義のバックアップ方法、およびバックアップするリモートパーティションを指定できるさまざまなプロパティがあります。
重要
Analysis Services サービス アカウントには、各ファイルに指定されたバックアップ場所に対する書き込み権限が必要です。 また、ユーザーは、Analysis Services インスタンスの管理者ロール、またはバックアップするデータベースに対するフルコントロール (管理者) 権限を持つデータベースロールのメンバーである必要があります。
データベースとバックアップ ファイルの指定
バックアップするデータベースを指定するには、 Backupコマンドのオブジェクトプロパティを設定します。 オブジェクトのプロパティには、データベースのオブジェクト識別子が含まれている必要があります。存在しない場合、エラーが発生します。
バックアッププロセスによって作成および使用されるファイルを指定するには、 backupコマンドのfileプロパティを設定します。 ファイルのプロパティは、作成するバックアップファイルの UNC パスとファイル名に設定する必要があります。
バックアップに使用するファイルの指定に加えて、指定したバックアップ ファイルに対する以下のオプションを設定できます。
Allowoverwriteプロパティを true に設定すると、指定したファイルが既に存在する場合、 backup コマンドによってバックアップファイルが上書きされます。 Allowoverwriteプロパティを false に設定すると、指定したバックアップファイルが既に存在する場合にエラーが発生します。
Applycompressionプロパティを true に設定すると、ファイルの作成後にバックアップファイルが圧縮されます。
Passwordプロパティを空白以外の値に設定すると、指定したパスワードを使用してバックアップファイルが暗号化されます。
重要
ApplycompressionプロパティとPasswordプロパティが指定されていない場合、接続文字列に含まれているユーザー名とパスワードはクリアテキストで保存されます。 クリア テキストで格納されたデータは、取得される可能性があります。 セキュリティを強化するには、バックアップファイルを圧縮して暗号化するために、 Applycompression と パスワード の設定を使用します。
セキュリティ設定のバックアップ
セキュリティプロパティは、 Backupコマンドによって、Analysis Services データベースで定義されたロールや権限などのセキュリティ定義をバックアップするかどうかを決定します。 セキュリティプロパティは、セキュリティ定義のメンバーとして定義されている Windows ユーザーアカウントとグループをバックアップファイルに含めるかどうかも決定します。
セキュリティプロパティの値は、次の表に示す文字列のいずれかに制限されています。
| 値 | 説明 |
|---|---|
| SkipMembership | バックアップ ファイルにセキュリティ定義を含めますが、メンバーシップ情報は除外します。 |
| CopyAll | バックアップ ファイルにセキュリティ定義とメンバーシップ情報を含めます。 |
| IgnoreSecurity | バックアップ ファイルからセキュリティ定義を除外します。 |
リモート パーティションのバックアップ
Analysis Services データベースのリモートパーティションをバックアップするには、 Backupコマンドのbackupremotepartitionsプロパティを true に設定します。 この設定により、 backup コマンドは、データベースのリモートパーティションを格納するために使用される各リモートデータソースのリモートバックアップファイルを作成します。
バックアップする各リモートデータソースについて、 backupコマンドの LocationプロパティにLocation要素を含めることによって、対応するバックアップファイルを指定できます。 Location要素では、ファイルプロパティをリモートバックアップファイルの UNC パスとファイル名に設定し、そのDataSourceIDプロパティにデータベースで定義されているリモートデータソースの識別子を設定する必要があります。
復元 (データベースを)
Restoreコマンドは、指定された Analysis Services データベースをバックアップファイルから復元します。 Restoreコマンドには、復元するデータベース、使用するバックアップファイル、セキュリティ定義を復元する方法、格納するリモートパーティション、および再配置リレーショナル OLAP (ROLAP) オブジェクトを指定できるさまざまなプロパティがあります。
重要
バックアップ ファイルごとに、復元コマンドを実行するユーザーは、各ファイルに指定されたバックアップ場所から読み取る権限を持っている必要があります。 サーバーにインストールされていない Analysis Services データベースを復元するには、その Analysis Services インスタンスのサーバーロールのメンバーでもある必要があります。 Analysis Services データベースを上書きするには、ユーザーは、Analysis Services インスタンスのサーバーロールのメンバーであるか、または復元するデータベースに対してフルコントロール (管理者) 権限を持つデータベースロールのメンバーである必要があります。
注意
既存のデータベースを復元すると、データベースを復元したユーザーは、復元されたデータベースにアクセスできなくなる可能性があります。 バックアップの実行時に、ユーザーがサーバー ロールのメンバー、またはフル コントロール (管理者) 権限を持つデータベース ロールのメンバーではなかった場合、このようにアクセスできなくなることがあります。
データベースとバックアップ ファイルの指定
RestoreコマンドのDatabaseNameプロパティには、データベースのオブジェクト識別子が含まれている必要があります。存在しない場合、エラーが発生します。 指定したデータベースが既に存在する場合は、 Allowoverwrite プロパティによって既存のデータベースが上書きされるかどうかが決定されます。 Allowoverwriteプロパティが false に設定されていて、指定したデータベースが既に存在する場合は、エラーが発生します。
Restoreコマンドのfileプロパティを、指定したデータベースに復元するバックアップファイルの UNC パスとファイル名に設定する必要があります。 また、指定したバックアップファイルの Password プロパティを設定することもできます。 Passwordプロパティを空白以外の値に設定すると、指定したパスワードを使用してバックアップファイルの暗号化が解除されます。 バックアップ ファイルが暗号化されていない場合、または指定されたパスワードがバックアップ ファイルの暗号化に使用されたパスワードと一致しない場合は、エラーが発生します。
セキュリティ設定の復元
セキュリティプロパティは、Analysis Services データベースで定義されたロールや権限などのセキュリティ定義を復元コマンドが復元するかどうかを決定します。 また、このセキュリティプロパティは、復元処理の一部として、セキュリティ定義のメンバーとして定義されている Windows ユーザーアカウントとグループが、復元コマンドに含まれているかどうかを判断します。
この要素の値は、次の表の一覧に示す文字列のいずれかに限定されています。
| 値 | 説明 |
|---|---|
| SkipMembership | データベースにセキュリティ定義を含めますが、メンバーシップ情報は除外します。 |
| CopyAll | データベースにセキュリティ定義とメンバーシップ情報を含めます。 |
| IgnoreSecurity | データベースからセキュリティ定義を除外します。 |
リモート パーティションの復元
前のbackupコマンドで作成された各リモートバックアップファイルについて、 Restoreコマンドの LocationプロパティにLocation要素を含めることによって、関連付けられているリモートパーティションを復元できます。 各ロケーション要素のDataSourceTypeプロパティは、除外するか、明示的にRemoteに設定する必要があります。
Analysis Services インスタンスは、指定された各 Location 要素に対して、 DataSourceID プロパティで指定されたリモートデータソースに接続して、 file プロパティで指定されたリモートバックアップファイルに定義されているパーティションを復元します。 DataSourceIDとファイルのプロパティに加えて、リモートパーティションの復元に使用される各ロケーション要素では、次のプロパティを使用できます。
DataSourceIDで指定されたリモートデータソースの接続文字列をオーバーライドするには、 Location要素のConnectionStringプロパティを別の接続文字列に設定します。 その後、 Restore コマンドは ConnectionString プロパティに含まれている接続文字列を使用します。 ConnectionStringが指定されていない場合、 Restoreコマンドは、指定されたリモートデータソースのバックアップファイルに格納されている接続文字列を使用します。 ConnectionString設定を使用して、リモートパーティションを別のリモートインスタンスに移動できます。 ただし、 ConnectionString 設定を使用して、復元されたデータベースを含む同じインスタンスにリモートパーティションを復元することはできません。 言い換えると、 ConnectionString プロパティを使用してリモートパーティションをローカルパーティションに設定することはできません。
リモートデータソースにリモートパーティションを格納するために使用する元のフォルダーごとに、 フォルダー 要素を指定して、元のフォルダーに格納されているすべてのリモートパーティションを復元する新しいフォルダーを指定できます。 Folder要素が指定されていない場合、 Restoreコマンドは、リモートバックアップファイルに含まれるリモートパーティションに指定されている元のフォルダーを使用します。
ROLAP オブジェクトの再配置
Restoreコマンドでは、ROLAP ストレージを使用するオブジェクトの集計やデータを復元することはできません。このような情報は、基になるリレーショナルデータソースのテーブルに格納されているためです。 ただし、ROLAP オブジェクトのメタデータは復元できます。 ROLAP オブジェクトのメタデータを復元するには、 restore コマンドを実行して、リレーショナルデータソース上にテーブル構造を再作成します。
RestoreコマンドでLocation要素を使用して、ROLAP オブジェクトを再配置できます。 データソースの再配置に使用される各 Location 要素について、 DataSourceType プロパティを明示的に Localに設定する必要があります。 また、 location要素のConnectionStringプロパティを新しい場所の接続文字列に設定する必要があります。 復元中は、 Location要素のDataSourceIDプロパティによって識別されるデータソースの接続文字列が、 location要素のConnectionStringプロパティの値に置き換えられます。
データベースの同期
Synchronizeコマンドは、指定された Analysis Services データベースのデータとメタデータを別のデータベースと同期します。 Synchronizeコマンドには、ソースデータベースの指定、セキュリティ定義の同期方法、同期するリモートパーティション、および ROLAP オブジェクトの同期を指定できるさまざまなプロパティがあります。
注意
Synchronizeコマンドを実行できるのは、サーバー管理者とデータベース管理者だけです。 同期元データベースと同期先のデータベースの両方の互換性レベルが同じであることが必要です。
同期元データベースの指定
Synchronize コマンドの Sourceプロパティには、 ConnectionString と Object という 2 つのプロパティ が含 まれている。 ConnectionString プロパティには、ソース データベースを含む インスタンスの接続文字列が含まれます。Object プロパティには、ソース データベースのオブジェクト識別子が含まれます。
転送先データベースは、Synchronize コマンドを実行するセッションの現在 の データベースです。
Synchronize コマンドの ApplyCompression プロパティが true に設定されている場合、転送元データベースから転送先データベースに送信される情報は、送信される前に圧縮されます。
セキュリティ設定の同期
SynchronizeSecurity プロパティは、Synchronize コマンドが、ソース データベースで定義されているロールやアクセス許可などのセキュリティ定義を同期するかどうかを決定します。 SynchronizeSecurity プロパティでは、Sychronize コマンドに、セキュリティ定義のメンバーとして定義された Windows ユーザー アカウントとグループが含まれるかどうかも決定します。
この要素の値は、次の表の一覧に示す文字列のいずれかに限定されています。
| 値 | 説明 |
|---|---|
| SkipMembership | 同期先データベースにセキュリティ定義を含めますが、メンバーシップ情報は除外します。 |
| CopyAll | 同期先データベースにセキュリティ定義とメンバーシップ情報を含めます。 |
| IgnoreSecurity | 同期先データベースからセキュリティ定義を除外します。 |
リモート パーティションの同期
ソース データベースに存在するリモート データ ソースごとに、Synchronize コマンドの Locations プロパティに Location 要素を含めて、関連付けられている各リモート パーティションを同期できます。 Location 要素ごとに、DataSourceType プロパティを除外するか、明示的に Remote に設定する必要があります。
同期コマンドは、コピー先データベース内のリモート データ ソースを定義して接続するために、Location 要素の ConnectionString プロパティで定義されている接続文字列を使用します。 その後、Synchronize コマンドは Location 要素の DataSourceID プロパティを使用して、同期するリモート パーティションを識別します。 Synchronizecommand は、ソース データベースの DataSourceID プロパティで指定されたリモート データ ソース上のリモート パーティションを、コピー先データベースの DataSourceID プロパティで指定されたリモート データ ソースと同期します。
ソース データベースのリモート データ ソースにリモート パーティションを格納するために使用される元のフォルダーごとに、Location 要素に Folder 要素 を指定 することもできます。 Folder 要素は、コピー先データベースの新しいフォルダーを示します。このフォルダーでは、リモート データ ソース上の元のフォルダーに格納されているリモート パーティションすべてが同期されます。 Folder 要素 が指定 されていない場合、Synchronize コマンドは、ソース データベースに含まれるリモート パーティションに指定された元のフォルダーを使用します。
ROLAP オブジェクトの同期
Synchronize コマンド は、ROLAP ストレージを使用するオブジェクトの集計またはデータを同期できません。このような情報は、基になるリレーショナル データ ソース上のテーブルに格納されます。 ただし、ROLAP オブジェクトのメタデータは同期できます。 メタデータを同期するために、 Synchronize コマンドは リレーショナル データ ソースにテーブル構造を再作成します。
Synchronize コマンドで Location 要素 を使用すると、ROLAP オブジェクトを同期できます。 データ ソース の再配置 に使用される Location 要素ごとに、 DataSourceType プロパティを明示的に Local に設定する必要 があります。 . Location 要素の ConnectionString プロパティを新しい場所の接続文字列に設定する必要があります。 同期中、Synchronize コマンドは Location 要素の DataSourceID プロパティで識別されるデータ ソースの接続文字列を Location 要素の ConnectionString プロパティの値に置き換える処理を行います。
参照
Backup 要素 (XMLA)
Restore 要素 (XMLA)
Synchronize 要素 (XMLA)
Analysis Services データベースのバックアップと復元