リモート パーティションの作成と管理 (Analysis Services)
メジャー グループをパーティション分割するときに、リモート Analysis Services インスタンスのセカンダリ データベースをパーティション ストレージとして構成できます。
キューブのリモート パーティション (master データベースと呼ばれます) は、Analysis Services のリモート インスタンス (セカンダリ データベースと呼ばれます) 上の専用の Analysis Services データベースに格納されます。
専用のセカンダリ データベースは、1 つのマスター データベースに対してのみリモート パーティションを格納できますが、すべてのセカンダリ データベースが Analysis Services の同じリモート インスタンス上にある限り、マスター データベースは複数のセカンダリ データベースを使用できます。 リモート パーティション専用のデータベース内のディメンションは、リンク ディメンションとして作成されます。
前提条件
リモート パーティションを作成するには、次の条件を満たしている必要があります。
パーティションを格納するには、2 つ目の Analysis Services インスタンスと専用データベースが必要です。 セカンダリ データベースには、master データベースのリモート パーティションのストレージを提供するという専用の目的があります。
両方のサーバー インスタンスが同じバージョンであることが必要です。 両方のデータベースの機能レベルは同じである必要があります。
両方のインスタンスが TCP 接続用に構成されている必要があります。 Analysis Services では、HTTP プロトコルを使用したリモート パーティションの作成はサポートされていません。
両方のコンピューターのファイアウォール設定は、外部接続を許可するように設定されている必要があります。 ファイアウォールの設定の詳細については、「 Analysis Services のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。
マスター データベースを実行しているインスタンスのサービス アカウントには、Analysis Services のリモート インスタンスへの管理アクセス権が必要です。 サービス アカウントが変更された場合は、サーバーとデータベース両方に対する権限を更新する必要があります。
両方のコンピューターの Analysis Services 管理者である必要があります。
ディザスター リカバリー計画がリモート パーティションのバックアップと復元に対応していることを確認する必要があります。 リモート パーティションを使用すると、バックアップ操作と復元操作が複雑になる場合があります。 必要なデータを復元できるように、計画を十分にテストしてください。
リモート パーティションの構成
1 台のコンピューターをマスター サーバーとして指定し、もう 1 台のコンピューターを下位サーバーとして指定するリモート パーティション配置を作成するには、SQL Server Analysis Servicesのインスタンスを実行している 2 つの個別のコンピューターが必要です。
次の手順では、マスター サーバーにキューブ データベースが配置されている、2 つのサーバー インスタンスがあることを前提としています。 この手順では、キューブ データベースを db-master と呼びます。 リモート パーティションが含まれているストレージ データベースを db-storage と呼びます。
この手順を完了するには、SQL Server Management StudioとSQL Server Data Tools (SSDT) の両方を使用します。
注意
リモート パーティションとマージできるのは、他のリモート パーティションのみです。 ローカル パーティションとリモート パーティションを組み合わせて使用している場合は、別の方法として、結合したデータを含む新しいパーティションを作成し、今後使用しないパーティションを削除する方法もあります。
キューブの配置に有効なサーバー名を指定する (SSDT)
マスター サーバー: ソリューション エクスプローラーでソリューション名を右クリックし、 [プロパティ]をクリックします。 [プロパティ] ダイアログ ボックスで、 [構成プロパティ]、 [配置]、 [サーバー] の順にクリックし、マスター サーバーの名前を設定します。
下位サーバー: ソリューション エクスプローラーでソリューション名を右クリックし、 [プロパティ]をクリックします。 [プロパティ] ダイアログ ボックスで、 [構成プロパティ]、 [配置]、 [サーバー] の順にクリックし、下位サーバーの名前を設定します。
セカンダリ データベースを作成および配置する (SSDT)
下位サーバー: ストレージ データベース用に新しい Analysis Services プロジェクトを作成します。
下位サーバー: ソリューション エクスプローラーで、キューブ データベース db-master を指す新しいデータ ソースを作成します。 プロバイダーに [ネイティブ OLE DB\Microsoft OLE DB Provider for Analysis Services 11.0]を使用します。
下位サーバー: ソリューションを配置します。
機能を有効にする (SSMS)
下位サーバー: SQL Server Management Studioで、オブジェクト エクスプローラーで接続されている Analysis Services インスタンスを右クリックし、 [プロパティ] を選択します。 [機能\LinkToOtherInstanceEnabled] と [機能\LinkFromOtherInstanceEnabled] の両方を [True]に設定します。
下位サーバー: オブジェクト エクスプローラーでサーバー名を右クリックして [再起動]をクリックし、サーバーを再起動します。
マスター サーバー上: SQL Server Management Studioで、オブジェクト エクスプローラーで接続されている Analysis Services インスタンスを右クリックし、 [プロパティ] を選択します。 [機能\LinkToOtherInstanceEnabled] と [機能\LinkFromOtherInstanceEnabled] の両方を [True]に設定します。
マスター サーバー: オブジェクト エクスプローラーでサーバー名を右クリックして [再起動]をクリックし、サーバーを再起動します。
リモート サーバーで MasterDataSourceID データベース プロパティを設定する (SSMS)
下位サーバーで、ストレージ データベース db-storage を右クリックし、[スクリプト データベース] を [ALTER To | New クエリ エディター Window] を | ポイントします。
[MasterDataSourceID] を XMLA に追加して、キューブ データベース db-master の ID を値として指定します。 XMLA は次のようになります。
<Alter ObjectExpansion="ExpandFull" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>DB-Storage</DatabaseID> </Object> <ObjectDefinition> <Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" 400" <ID>DB-Storage</ID> <Name>DB-StorageB</Name> <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel> <Language>1033</Language> <Collation>Latin1_General_CI_AS</Collation> <DataSourceImpersonationInfo> <ImpersonationMode>ImpersonateAccount</ImpersonationMode> <Account>*********</Account> </DataSourceImpersonationInfo> <MasterDataSourceID>DB-Master</MasterDataSourceID> </Database> </ObjectDefinition> </Alter>
F5 キーを押してスクリプトを実行します。
リモート パーティションを設定する (SSDT)
マスター サーバーで:キューブ Designerでキューブを開き、[パーティション] タブをクリックします。メジャー グループを展開します。 メジャー グループが既に複数のパーティション用に構成されている場合は [ 新しい パーティション] をクリックします。既存のパーティションを編集するには、[ソース] 列の [参照] ボタン (.) をクリックします。
パーティション ウィザードの [基になる情報の指定]で、元のデータ ソース ビューとファクト テーブルを選択します。
クエリ バインドを使用する場合は、作成する新しいパーティションにデータを分割する WHERE 句を指定します。
[処理およびストレージの場所]の [処理場所]で、 [リモート Analysis Services データ ソース] を選択し、 [新規作成] をクリックして、下位データベース db-storage を指す新しいデータ ソースを作成します。
注意
データ ソースがコレクションに存在しないことを示すエラーが発生した場合は、ストレージ データベース db-storage のプロジェクトを開き、master データベース db-master を指すデータ ソースを作成する必要があります。
マスター サーバー: ソリューション エクスプローラーでキューブ名を右クリックし、 [処理] を選択してキューブを完全に処理します。
リモート パーティションの管理
Analysis Services では、リモート パーティションの並列処理と順次処理の両方がサポートされています。 パーティションが定義された master データベースは、キューブのパーティション処理に参加するすべてのインスタンスのトランザクションを調整します。 処理のレポートは、パーティションを処理するすべてのインスタンスに送信されます。
リモート パーティションを含むキューブは、Analysis Services の単一インスタンス上のパーティションと共に管理できます。 ただし、リモート パーティションのメタデータは、パーティションとその親キューブが定義されている Analysis Services のインスタンスでのみ表示および更新できます。 Analysis Services のリモート インスタンスでは、リモート パーティションを表示または更新できません。
注意
リモート パーティションの格納専用のデータベースは、スキーマ行セットに対して公開されていませんが、分析管理オブジェクト (AMO) を使用するアプリケーションは、Analysis Discover コマンドの XML を使用して専用データベースを検出できます。 TCP または HTTP クライアントを使用して専用データベースに直接送信された CREATE コマンドまたは DELETE コマンドは成功しますが、操作によりこの厳密管理データベースが損傷する可能性があることを示す警告がサーバーにより返されます。