適用対象:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
SQL Server Analysis Services では、データベース互換性レベル プロパティによってデータベースの機能レベルが決まります。 互換性レベルは、各モデルの種類に固有です。 たとえば、互換性レベル 1100 は、データベースが多次元か表形式かに応じて異なる意味を持ちます。
このトピックでは、多次元データベースのみの互換性レベルについて説明します。 表形式ソリューションの詳細については、「 Analysis Services のテーブル モデルの互換性レベル」を参照してください。
注
テーブル モデルには、多次元モデルには適用できない追加のデータベース互換性レベルがあります。 多次元モデルの互換性レベル 1103 は存在しません。
多次元データベースの互換性レベル
現時点では、機能レベルによって異なる多次元データベースの動作は、文字列ストレージ アーキテクチャのみです。 データベース互換性レベルを上げることで、メジャーとディメンションの文字列ストレージの 4 ギガバイトの上限をオーバーライドできます。
多次元データベースの場合、 CompatibilityLevel プロパティの有効な値は次のとおりです。
| Setting | Description |
|---|---|
| 1050 | この値はスクリプトやツールには表示されませんが、SQL Server 2005 (9.x)、SQL Server 2008、または SQL Server 2008 R2 で作成されたデータベースに対応します。 CompatibilityLevel が明示的に設定されていないデータベースは、1050 レベルで暗黙的に実行されます。 |
| 1100 | これは、SQL Server 2012 (11.x) または SQL Server 2017 で作成する新しいデータベースの既定値です。 以前のバージョンの SQL Server Analysis Services で作成されたデータベースに対して指定して、この互換性レベルでのみサポートされている機能の使用を可能にすることもできます (つまり、ディメンション属性の文字列ストレージの増加や、文字列データを含む個別のカウント メジャー)。 CompatibilityLevel が 1100 に設定されているデータベースでは、追加のプロパティ StringStoresCompatibilityLevel が取得されます。これにより、パーティションとディメンションの代替文字列ストレージを選択できます。 |
Warnung
データベースの互換性を高いレベルに設定することは元に戻すことはできません。 互換性レベルを 1100 に引き上げた後は、新しいサーバーで引き続きデータベースを実行する必要があります。 1050 にロールバックすることはできません。 SQL Server 2012 (11.x ) または SQL Server 2017 より前のバージョンのサーバーで 1100 データベースをアタッチまたは復元することはできません。
[前提条件]
データベース互換性レベルは、SQL Server 2012 (11.x) で導入されています。 データベース互換性レベルを表示または設定するには、SQL Server 2012 (11.x) SQL Server Analysis Services 以降が必要です。
データベースをローカル キューブにすることはできません。 ローカル キューブは CompatibilityLevel プロパティをサポートしていません。
データベースは、以前のリリース (SQL Server 2008 R2 以前) で作成された後、SQL Server 2012 (11.x) SQL Server Analysis Services 以降のサーバーにアタッチまたは復元されている必要があります。 SQL Server 2012 にデプロイされたデータベースは既に 1100 であり、下位レベルで実行するようにダウングレードすることはできません。
多次元データベースの既存のデータベース互換性レベルを決定する
データベース互換性レベルを表示または変更する唯一の方法は、XMLA を使用することです。 SQL Server Management Studio でデータベースを指定する XMLA スクリプトを表示または変更できます。
データベースの XMLA 定義で CompatibilityLevel プロパティを検索しても存在しない場合は、データベースが 1050 レベルである可能性が最も高くなります。
XMLA スクリプトを表示および変更する手順については、次のセクションで説明します。
SQL Server Management Studio でデータベース互換性レベルを設定する
互換性レベルを上げる前に、後で変更を元に戻す場合に備えて、データベースをバックアップします。
SQL Server Management Studio を使用して、データベースをホストする SQL Server 2017SQL Server Analysis Services サーバーに接続します。
データベース名を右クリックし、[ スクリプト データベース] をポイントして ALTER をポイントし、[ 新しいクエリ エディター ウィンドウ] を選択します。 データベースの XMLA 表現が新しいウィンドウで開きます。
次の XML 要素をコピーします。
<ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel></Annotations>終了要素の後、および<Language>要素の前に貼り付けます。 XML は次の例のようになります。</Annotations> <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel> <Language>1033</Language>ファイルを保存します。
スクリプトを実行するには、[クエリ] メニューの [ 実行 ] をクリックするか、F5 キーを押します。
同じ互換性レベルを必要とするサポートされている操作
次の操作では、ソース データベースが同じ互換性レベルを共有する必要があります。
異なるデータベースからのパーティションのマージは、両方のデータベースが同じ互換性レベルを共有している場合にのみサポートされます。
別のデータベースからリンクされたディメンションを使用するには、同じ互換性レベルが必要です。 たとえば、SQL Server 2012 (11.x) データベースの SQL Server 2008 R2 データベースのリンクディメンションを使用する場合は、SQL Server 2008 R2 データベースを SQL Server 2012 (11.x) サーバーに移植し、互換性レベルを 1100 に設定する必要があります。
サーバーの同期は、同じバージョンとデータベース互換性レベルを共有するサーバーでのみサポートされます。
次のステップ
データベース互換性レベルを上げた後、SQL Server Data Tools で StringStoresCompatibilityLevel プロパティを設定できます。 これにより、メジャーとディメンションの文字列ストレージ容量が増加します。 この機能の詳細については、「 ディメンションとパーティションの文字列ストレージを構成する」を参照してください。