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