SQL Server 2008 の Analysis Services 機能における重大な変更

このトピックでは、Analysis Services における重大な変更について説明します。これらの変更によって、以前のバージョンの SQL Server に基づくアプリケーション、スクリプト、または機能が使用できなくなる場合があります。この問題は、アップグレードするときに発生することがあります。詳細については、「アップグレード アドバイザを使用したアップグレードの準備」を参照してください。

SQL Server 2008 の Analysis Services における重大な変更

次の表に、SQL Server 2005 Analysis Services (SSAS)Analysis Services データベースを SQL Server 2008 にアップグレードする際に発生する可能性がある問題を示します。

問題の種類

説明

shallow exists 関数が、列挙メンバまたは列挙セットの相互結合が含まれる名前付きセットとは異なる動作をする

SQL Server 2005 Analysis Services (SSAS) では、shallow exists 関数は、列挙メンバまたは列挙セットの相互結合が含まれる名前付きセットとは動作しません。SQL Server 2005 Analysis Services (SSAS) の最初のリリース バージョンおよび SP1 との互換性を維持するには、構成プロパティ "ConfigurationSettings\OLAP\Query\NamedSetShallowExistsMode" を 1 に設定します。SQL Server 2005 Analysis Services (SSAS) SP2 との互換性を維持するには、この構成プロパティを 2 に設定します。

VBA 関数による null 値と空の値の処理が、SQL Server 2005 Analysis Services (SSAS)Analysis Services での処理方法と異なる

SQL Server 2005 Analysis Services (SSAS) では、null 値または空の値を引数として使用した場合に、VBA 関数から 0 または空の文字列が返されました。SQL Server 2008 では、null が返されます。

DSO は既定ではインストールされないため、移行ウィザードは失敗します。

既定では、SQL Server 2008 には DSO (Decision Support オブジェクト) 下位互換コンポーネントがインストールされません。下位互換パッケージは既定でインストールされますが、パッケージの DSO コンポーネントは無効になります。SQL Server Analysis Services 移行ウィザードはこのコンポーネントに依存しているため、このコンポーネントがインストールされていない場合、移行ウィザードは正常に動作しません。DSO コンポーネントをインストールするには、次の操作を行います。

  1. コントロール パネルを開きます。

  2. Windows XP または Windows Server 2003 の場合は、[プログラムの追加と削除] をクリックします。Windows Vista および Windows Server 2008 の場合は、[プログラムと機能] をクリックします。

  3. [Microsoft SQL Server 2005 の旧バージョンとの互換性] を右クリックし、[変更] をクリックします。

  4. 旧バージョンとの互換性セットアップ ウィザードで、[次へ] をクリックします。

  5. [プログラムのメンテナンス] ページで、[変更] を選択し、[次へ] をクリックします。

  6. [機能の選択] ページで、Decision Support オブジェクト (DSO) を使用できない場合は、下矢印をクリックし、[この機能はローカル ハード ドライブにインストールされます] をクリックします。[次へ] をクリックします。

  7. [プログラム変更の準備完了] ページで、[インストール] をクリックします。

  8. インストールが完了したら、[完了] をクリックします。

移行が完了したら、前の手順に従って DSO のオプションを [この機能は使用できません] に変更して、DSO を削除できます。

下位互換パッケージがインストールされていない場合、SQL Server 2008 配布メディアからインストールすることができます。ターゲット アーキテクチャ (x86、x64、ia64) ごとにバージョンが存在することに注意してください。これらのバージョンは、次の場所にあります。

x86\Setup\x86\SQLServer2005_BC.msi

x64\Setup\x64\SQLServer2005_BC.msi

ia64\Setup\ia64\SQLServer2005_BC.msi

パーティションの場所をデータ フォルダに指定することはお勧めしません。

サーバーは、データ フォルダを管理すると共に、オブジェクトの作成、削除、変更に応じてフォルダを作成または削除します。したがって、データ フォルダ内にパーティション格納場所を指定することは、特にデータベース、キューブ、およびディメンションのサブフォルダでは、お勧めしません。サーバーで [作成] または [変更] を使用してこの手順を実行できますが、警告が表示されます。SQL Server 2005 Analysis Services から、データ フォルダ内にパーティション格納場所を持つ SQL Server 2008 Analysis Services にデータベースをアップグレードする場合は、操作を実行できます。復元または同期の際は、パーティション格納場所をデータ フォルダの外部に移動する必要があります。

SQL Server 2005 の Analysis Services における重大な変更

次の表に、SQL Server 2000Analysis Services データベースを SQL Server 2008 にアップグレードする際に発生する可能性がある問題を示します。

問題の種類

説明

リンク オブジェクトに依存するオブジェクトは移行されない

リンク キューブとリンク ディメンションは、アップグレード アドバイザによって MicrosoftSQL Server 2008Analysis Services に移行されません。したがって、オブジェクトのベースであるリンク オブジェクトが移行できないため、リンク キューブまたはリンク ディメンションを参照するオブジェクトは移行できません。たとえば、リンク キューブに基づいた OLAP マイニング モデルは移行できません。マイニング モデルの基になるリンク キューブを移行できないためです。

複数の階層を同一ディメンションに移行した場合、autoexist によって異なるクエリ結果が生成される可能性がある

同一の MicrosoftSQL Server 2008Analysis Services ディメンションに複数の階層または仮想ディメンションを移行すると、ディメンションに存在しない組は、移行された階層のメンバを含むセットのクロスジョインから autoexist 機能によって自動的に削除されるので、そのディメンションに含まれる移行された階層に対してクエリを実行すると、SQL Server 2000Analysis Services にある同じ階層に対してクエリを実行した結果と異なる場合があります。この問題を解決するには、同一のディメンションの複数の階層に関係する計算を確認する必要があります。

無効なレベルを使用している場合は表示の見やすさが異なる

SQL Server 2005Analysis Services 以降、階層内の非表示レベルまたは無効なレベルはサポートされなくなりました。非表示レベルまたは無効なレベルは、表示可能なレベルおよび有効なレベルとして移行されます。そのようなレベルを含む階層が関与する計算は、予期しない結果を返す場合があります。アップグレード後に、以前非表示レベルまたは無効なレベルを含んでいた階層に関係する計算を確認して、検証します。

バケットはグループ化レベルによって異なる

MicrosoftSQL Server 2005 Analysis Services (SSAS) 以降の自動グループ化では、異なるメンバ グループの結果セットを返す場合があります。このようなメンバ グループを使用する計算は、予期しない結果を返す場合があります。アップグレード後に、メンバ グループを使用する計算を確認して検証します。

ニュートラル言語から特定言語への変換によって、予期しない結果が生じる場合がある

SQL Server 2000Analysis Services 以前のバージョンの Analysis Services では、ニュートラル言語識別子 (主言語識別子とも呼ばれる) のみを使用していました。英語向け LANG_ENGLISH (0x09)、中国語向け LANG_CHINESE (0x04) などです。

翻訳オプションと照合順序オプションをサポートするために、現在の Analysis Services では特定の言語識別子を使用し、主言語識別子と特定の文化に使用される副言語識別子を組み合わせます。たとえば、主言語識別子 LANG_ENGLISH (0x09) と副言語識別子 SUBLANG_ENGLISH_AUS (0x03) を組み合わせてオーストラリア英語を記述します。

ニュートラル言語の識別子を特定言語の識別子に移行すると、予期している翻訳および照合順序の動作が変わり、予期しない結果が生じる場合があります。アップグレード後に、ディメンション、階層、メンバなど、言語識別子が変更されたオブジェクトを確認して検証します。

キューブ ロール コマンドはサポートされない

MicrosoftSQL Server 2008Analysis Services ではキューブ ロールに対するコマンド オブジェクトがサポートされていないので、以前のバージョンからコマンドが移行されません。

カスタム レベル式の集計結果が異なる

カスタム レベル式を使用するディメンションがキューブに含まれ、その前後両方にもカスタム メンバ式や単項演算子を使用するディメンションが含まれている場合、以前のバージョンの Analysis Services とは異なる結果がキューブから返される場合があります。これは、計算の優先順位規則が変更されたことによって生じます。

カスタム メンバ式およびカスタム ロールアップ式は MDX スクリプトに移行される

以前のバージョンの Analysis Services では、カスタム ロールアップ式、カスタム メンバ式、All メンバ式、カスタム レベル式のプロパティは、ディメンションおよびレベルでサポートされています。SQL Server 2005Analysis Services では、これらのプロパティは多次元式 (MDX) スクリプトがサポートする機能に置き換わっており、移行時に MDX スクリプトにアップグレードされます。

カスタム集計は移行されない

以前のバージョンの Analysis Services を使用して手動で作成した集計は、MicrosoftSQL Server 2008Analysis Services に移行されません。ストレージ デザイン ウィザードで作成した集計だけが移行されます。この問題を解決するには、XMLA スクリプトを使用して手動で集計を作成します。

データ メンバは常に親子ディメンションに含まれる

以前のバージョンの Analysis Services では、親子ディメンションにデータ メンバを含めないように指定できました。以前のバージョンの Analysis Services では、ディメンションの DataMembers プロパティで 3 つのオプション (NoneHiddenVisible) を使用できました。MicrosoftSQL Server 2008Analysis Services では None オプションを使用できません。データ メンバは常に親属性に含まれます。親子ディメンションのデータ メンバを非表示にするには、ディメンションの DataMembers プロパティを Hidden に指定します。親属性の MembersWithData プロパティは、NonLeafDataHidden または NonLeafDataVisible の 2 つのオプションのみをサポートします。

データベース ロール コマンドはサポートされない

MicrosoftSQL Server 2008Analysis Services ではデータベース ロールに対するコマンド オブジェクトがサポートされていないので、以前のバージョンの Analysis Services からコマンドが移行されません。

DefaultMember が MDX スクリプトへ移行される

前のバージョンの Analysis Services では、ディメンションの既定メンバは多次元式 (MDX) によって指定され、ディメンションの DefaultMember プロパティに含まれていました。MicrosoftSQL Server 2005 Analysis Services (SSAS) では、このプロパティは MDX スクリプトでサポートされる機能に置き換わっており、移行時に MDX スクリプトにアップグレードされます。

移行によってディメンションおよび階層の名前が変わることで、クエリの結果が変化する場合がある

SQL Server 2000Analysis Services では、ディメンション階層が内部的には個別のディメンションとして表現され、名前付け規則でディメンションを識別していました。MicrosoftSQL Server 2008 に移行すると、各ディメンション階層に対して新しい名前のディメンションが個別に作成され、親ディメンションの下でディメンション階層が結合されることはありません。これは、autoexist によって、以前のバージョンの Analysis Services とは異なるセキュリティ ルールが作成されるためです。

ドリルスルーの設定は移行されない

MicrosoftSQL Server 2008Analysis Services にもドリルスルーは存在しますが、以前のバージョンの Analysis Services からはドリルスルーの設定が移行されません。

移行後、非表示レベルが表示可能になる

Analysis Services では、階層内の非表示レベルまたは無効なレベルがサポートされなくなりました。非表示レベルまたは無効なレベルは、表示可能なレベルおよび有効なレベルとして移行されます。そのようなレベルを含む階層が関与する計算は、予期しない結果を返す場合があります。

無効なオブジェクトがあると移行が失敗する

データベースに無効なオブジェクトが含まれています。データベースに無効なオブジェクトが含まれていると、移行を完了できません。

リンク キューブは移行されない

以前のバージョンの Analysis Services ではリンク キューブがサポートされていました。MicrosoftSQL Server 2005 Analysis Services (SSAS) では、この機能はリンク ディメンションおよびリンク メジャー グループに置き換えられました。

移行時にメンバの一意な名前が変更される可能性がある

Analysis Services では、移行時にメンバの一意の名前を保持しますが、メンバの一意な名前が変更される状況が発生する場合があります。メンバの一意な名前が変更された場合、メンバの一意な名前に依存するクライアント アプリケーション、多次元式 (MDX)、およびその他のプロパティに予期しない結果が発生する可能性があります。

ODBC データ ソースはサポートされない

以前のバージョンの Analysis Services では ODBC データ ソースを使用できましたが、この機能は現在サポートされていません。

リモート パーティションは移行されない

リモート パーティションは MicrosoftSQL Server 2000Analysis Services から MicrosoftSQL Server 2008Analysis Services に移行されません。サーバーを SQL Server 2008Analysis Services にアップグレードした後、リモート パーティションを手動で作成します。

マイニング モデル アルゴリズムの一部のパラメータがサポートされない

以前のバージョンの Analysis Services では、Microsoft デシジョン ツリー アルゴリズムによる MINIMUM_LEAF_CASES パラメータの使用、および Microsoft クラスタリング アルゴリズムによる MINIMUM_CLUSTER_CASES パラメータの使用がサポートされていました。SQL Server 2005Analysis Services 以降、これらのパラメータはいずれも MINIMUM_SUPPORT という名前に変更されています。以前のバージョンの Analysis Services を使用して作成されたマイニング モデルでこれらのパラメータが使用されていた場合、そのパラメータは移行されません。

MDX 関数の動作が変更された

MicrosoftSQL Server 2005 Analysis Services (SSAS) の多次元式 (MDX) 言語の拡張および変更により、特定の MDX 関数がサポートされないか、またはその動作が以前のバージョンの Analysis Services の場合とは異なります。

CREATE KPI コマンドに新しいキーワードが導入されている

CREATE KPI コマンドに新しいキーワード KPI が導入されました。既存のオブジェクトに KPI という名前が付いていた場合、新しいキーワードとの間に競合が発生します。

ディメンション セキュリティの最上位はサポートされない

以前のバージョンの Analysis Services では、階層の最上位でない場所を最上位としてユーザーに見せるディメンション セキュリティを指定できました。最上位の設定を使用してセキュリティで保護されているメンバは、移行後に表示可能になります。

UDF の移行元 .DLL は移行と登録が行われない

以前のバージョンの Analysis Services で登録したユーザー定義関数 (UDF) は移行されません。

親子階層以外の階層にある単項演算子のサポートは限定される

MicrosoftSQL Server 2005 Analysis Services (SSAS) 以降、階層内のレベルを示す属性間の属性リレーションシップがある場合を除き、親子階層以外の階層にある単項演算子はサポートされません。

仮想キューブはサポートされない

以前のバージョンの Analysis Services では、仮想キューブがサポートされていました。仮想キューブは、1 つ以上の通常のキューブまたはリンク キューブに属するメジャーとディメンションのサブセットを組み合わせたビューです。MicrosoftSQL Server 2005 Analysis Services (SSAS) では、この機能はリンク メジャー グループに置き換えられました。アップグレード時に、仮想キューブはリンク メジャー グループに移行されます。

書き戻しテーブルの内容が移行されない

以前のバージョンの Analysis Services で作成した書き戻しテーブルの構造は、MicrosoftSQL Server 2005 Analysis Services (SSAS) で更新されました。以前のバージョンの Analysis Services で作成した書き戻しテーブルのデータは、新しい書き戻しテーブルの構造に移行できません。