次の方法で共有


ディメンションとパーティションの文字列ストレージを構成する

文字列ストアの 4 GB のファイル サイズ制限を超えるディメンション属性またはパーティション内の非常に大きな文字列に対応するように、文字列ストレージを再構成できます。 ディメンションまたはパーティションにこのサイズの文字列ストアが含まれている場合は、ローカル オブジェクトとリンク (ローカルまたはリモート) オブジェクトのディメンションまたはパーティション レベルで StringStoresCompatibilityLevel プロパティを変更することで、ファイル サイズの制約を回避できます。

追加の容量が必要なオブジェクトに対して、文字列ストレージを増やすことができます。 ほとんどの多次元モデルでは、文字列データはディメンションに関連付けられています。 ただし、文字列の上に異なるカウントメジャーが含まれるパーティションにも、この設定の恩恵があります。 この設定は文字列用であるため、数値データは影響を受けません。

このプロパティの有効な値は次のとおりです。

価値 説明
1050 既定の文字列ストレージ アーキテクチャを指定します。ストアあたりの最大ファイル サイズは 4 GB です。
1100 より大きな文字列ストレージを指定し、ストアごとに最大 40 億個の一意の文字列をサポートします。

重要

オブジェクトの文字列ストレージ設定を変更するには、オブジェクト自体と依存オブジェクトを再処理する必要があります。 この手順を完了するには、処理が必要です。

このトピックには、次のセクションが含まれています。

文字列ストアについて

文字列ストレージの構成は省略可能です。つまり、作成する新しいデータベースでも、4 GB の最大ファイル サイズの対象となる既定の文字列ストア アーキテクチャが使用されます。 より大きな文字列ストレージ アーキテクチャを使用すると、パフォーマンスに小さいが顕著な影響があります。 文字列ストレージファイルが最大4GBの上限に近い、または既に達している場合にのみ使用してください。

この設定は、データ マイニング モデルには適用されません。 現時点では、データ マイニング構造を含むモデルで GB ファイル サイズの制限が発生する可能性があります。

Analysis Services 多次元データベースでは、文字列は数値データとは別に格納され、データの特性に基づく最適化が可能になります。 文字列データは、通常、名前または説明を表すディメンション属性にあります。 個別のカウント測定値に文字列データを含めることもできます。 文字列データはキーでも使用できます。

文字列ストアは、ファイル拡張子 (asstore、.bstore、.ksstore、.string ファイルなど) で識別できます。 既定では、これらの各ファイルには最大 4 GB の制限が適用されます。 SQL Server 2012 では、必要に応じて文字列ストアを拡張できる代替ストレージ メカニズムを指定することで、最大ファイル サイズをオーバーライドできます。

物理ファイルのサイズを制限する既定の文字列ストレージ アーキテクチャとは対照的に、大きな文字列ストレージは文字列の最大数に基づきます。 大きな文字列ストレージの上限は、40 億個の一意の文字列または 40 億レコードのいずれか早い方です。 文字列ストレージを大きくすると、偶数サイズのレコードが作成され、各レコードは 64K ページに等しくなります。 1 つのレコードに収まらない非常に長い文字列がある場合、有効な制限は 40 億未満の文字列になります。

[前提条件]

SQL Server 2012 以降のバージョンの Analysis Services が必要です。

ディメンションとパーティションは、MOLAPストレージを使用する必要があります。

データベース互換性レベルは 1100 に設定する必要があります。 SQL Server Data Tools と SQL Server 2012 以降のバージョンの Analysis Services を使用してデータベースを作成またはデプロイした場合、データベース互換性レベルは既に 1100 に設定されています。 以前のバージョンの Analysis Services で作成されたデータベースを ssSQL11 以降に移動した場合は、互換性レベルを更新する必要があります。 移動するが再デプロイしていないデータベースの場合は、SQL Server Management Studio を使用して互換性レベルを設定できます。 詳細については、「 多次元データベースの互換性レベルの設定 (Analysis Services)」を参照してください。

手順 1: SQL Server Data Tools で StringStoreCompatiblityLevel プロパティを設定する

  1. SQL Server Data Tools (SSDT) を使用して、変更するディメンションまたはパーティションを含むプロジェクトを開きます。

  2. ディメンションの文字列ストレージを変更するには、ソリューション エクスプローラーを開きます。 文字列ストレージを変更するディメンションをダブルクリックします。

  3. ディメンション デザイナーの [属性] ウィンドウで、ディメンションの親ノードが選択されていることを確認します (たとえば、ディメンションが Customers の場合は、子属性の 1 つではなく顧客を選択します)。

  4. [プロパティ] ウィンドウの [詳細設定] セクションで、 StringStoresCompatibilityLevel1100 に設定します。 より大きなストレージを必要とする他のディメンションに対して繰り返します。それ以外の場合は、残りのディメンションを 1050 の値のままにします。

  5. パーティションの場合は、ソリューション エクスプローラーからキューブを開きます。

  6. [パーティション] タブをクリックします。

  7. パーティションを展開し、追加のストレージ容量を必要とするパーティションを選択し、 StringStoresCompatibilityLevel プロパティを変更します。

  8. ファイルを保存します。

手順 2: オブジェクトを処理する

新しいストレージ アーキテクチャは、オブジェクトを処理した後に使用されます。 オブジェクトの処理では、以前に文字列ストアオーバーフロー条件を報告したエラーが発生しなくなったため、ストレージ制約の問題が正常に解決されていることも証明されます。

  • ソリューション エクスプローラーで、ディメンションを右クリックするか、変更して [プロセス] を選択します。

新しい文字列ストア アーキテクチャを使用している各オブジェクトで、[完全処理] オプションを使用する必要があります。 処理する前に、ディメンションに対して影響分析を実行して、依存オブジェクトにも再処理が必要かどうかを確認してください。

こちらもご覧ください

処理のためのツールとアプローチ (Analysis Services)
処理オプションと設定 (Analysis Services)
パーティションストレージモードと処理
ディメンションストレージ