多次元データベースの互換性レベルの設定 (Analysis Services)
Analysis Services では、データベース互換性レベル プロパティによってデータベースの機能レベルが決まります。 互換性レベルは、各モデルの種類に固有です。 たとえば、 の 1100
互換性レベルは、データベースが多次元か表形式かに応じて異なる意味を持ちます。
このトピックでは、多次元データベースの互換性レベルについてのみ説明します。 表形式ソリューションの詳細については、「 互換性レベル (SSAS テーブル SP1)」を参照してください。
Note
表形式モデルには、多次元モデルに適用できないデータベース互換性レベルが存在します。 互換性レベル 1103
は、多次元モデルには存在しません。 表形式ソリューションの詳細については、「SQL Server 2012 SP1 の表形式モデルの新機能」と互換性レベルに関する1103
ページを参照してください。
多次元データベースの互換性レベル
現在、機能レベルによって異なる多次元データベースの動作は、文字列ストレージ アーキテクチャのみです。 データベースの互換性レベルを高くすることで、メジャーとディメンションの文字列ストレージの上限である 4 GB をオーバーライドできます。
多次元データベースの CompatibilityLevel
プロパティの有効値を以下に示します。
設定 | 説明 |
---|---|
1050 |
この値はスクリプトやツールには表示されませんが、SQL Server 2005、SQL Server 2008、または SQL Server 2008 R2 で作成されたデータベースに対応します。 CompatibilityLevel が明示的に設定されていないデータベースはすべて、暗黙的に 1050 レベルで実行されます。 |
1100 |
これは、SQL Server 2012 または SQL Server 2014 で作成する新しいデータベースの既定値です。 以前のバージョンの Analysis Services で作成されたデータベースに指定して、この互換性レベルでのみサポートされている機能 (つまり、ディメンション属性の文字列ストレージの増加、または文字列データを含む個別のカウント メジャー) を使用できるようにすることもできます。 追加の CompatibilityLevel プロパティ を取得する 1100 が設定されているデータベース。これにより、 StringStoresCompatibilityLevel パーティションとディメンションの代替文字列ストレージを選択できます。 |
警告
高いレベルに設定したデータベース互換性は元に戻せません。 互換性レベルを に 1100
引き上げた後は、新しいサーバーで引き続きデータベースを実行する必要があります。 に 1050
ロールバックすることはできません。 2012 年または 2014 年SQL Server SQL Serverより前のバージョンのサーバーでデータベースをアタッチまたは復元1100
することはできません。
前提条件
データベース互換性レベルは、SQL Server 2012 で導入されています。 データベース互換性レベルを表示または設定するには、SQL Server 2012Analysis Services 以上が必要です。
データベースをローカル キューブにすることはできません。 ローカル キューブでは、CompatibilityLevel
プロパティがサポートされません。
データベースは以前のリリース (SQL Server 2008 R2 以前) で作成された後、SQL Server 2012Analysis Services 以降のサーバーに接続または復元されている必要があります。 SQL Server 2012 に配置されたデータベースは既に 1100
であり、ダウングレードして低いレベルで実行することはできません。
多次元データベースの既存のデータベース互換性レベルの確認
データベース互換性レベルを表示または変更するには、XMLA を使用するしかありません。 データベースを指定する XMLA スクリプトは、SQL Server Management Studio で表示または変更できます。
データベースの XMLA 定義で CompatibilityLevel
プロパティを検索し、それが存在しなかった場合、データベースが 1050
レベルになっている可能性が高いと考えられます。
XMLA スクリプトの表示と変更の方法については、次のセクションで説明します。
SQL Server Management Studio でのデータベース互換性レベルの設定
互換性レベルを上げる前に、変更を元に戻すことができるように、データベースをバックアップします。
SQL Server Management Studioを使用して、データベースをホストする SQL Server 2014Analysis 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 データベースのSQL Server 2008 R2 データベースのリンクディメンションを使用する場合は、SQL Server 2008 R2 データベースをSQL Server 2012 サーバーに移植し、互換性レベルを に設定する
1100
必要があります。サーバーの同期は、サーバーで同じバージョンとデータベース互換性レベルを共有している場合にのみサポートされます。
次の手順
データベース互換性レベルを上げた後、SQL Server Data Toolsで プロパティをStringStoresCompatibilityLevel
設定できます。 これにより、メジャーとディメンションの文字列ストレージが大きくなります。 この機能の詳細については、「 ディメンションおよびパーティションの文字列ストレージの構成」を参照してください。