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