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