次の方法で共有


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

このトピックでは、SQL Server 2012 Analysis Services (SSAS) の新しい変更点について説明します。 これらの変更によって、以前のバージョンの SQL Server に基づくアプリケーション、スクリプト、または機能が使用できなくなる場合があります。

このトピックの内容

  • Breaking Changes in SQL Server 2012 SP1

  • Breaking Changes in SQL Server 2012

  • Breaking Changes in SQL Server 2008 and SQL Server 2008 R2

SQL Server 2012 SP1 における重大な変更

グローバリゼーションに関連するコードの変更は、一部のアプリケーションの互換性に影響することがわかっています。 既知の問題は次のとおりです。

  • オブジェクト識別子の大文字と小文字の区別
    すべてのオブジェクト識別子で大文字と小文字を区別しないようにするためのコード変更は、一部の言語では反対の影響を与えます。 この変更の目的は、照合順序に関係なく、すべてのオブジェクト識別子で大文字と小文字を区別しないようにすることです。 この変更により、同じソリューションのスタックで通常使用される他のアプリケーションと Analysis Services を揃えることになります。

    26 の基本的なラテン語アルファベット文字に基づく言語の場合、現在はオブジェクト識別子で大文字と小文字が区別されないため、これは目的どおりの動作です。

    キリル文字や、大文字と小文字の区別がある他の言語スクリプト (ギリシャ語、アルメニア語、およびコプト語) のオブジェクト識別子は、現在、大文字と小文字が区別されています。 互換性に影響する変更は、オブジェクト識別子とそれを参照する方法の間で大文字小文字の区別が異なる場合に発生する可能性が最も高くなります (たとえば、オブジェクト識別子をすべて小文字で参照する処理スクリプトなど)。 この動作は将来的に変更される可能性がありますが、一時的な回避策として、オブジェクト識別子として同じ大文字と小文字の区別を使用するようにスクリプトを変更することをお勧めします。

SQL Server 2012 における重大な変更

ここでは、SQL Server 2012 での SQL Server 2012 Analysis Services (SSAS) の機能に関する重大な変更について説明します。

問題点

説明

文字列とブール値を比較するとエラーが返される

以前のリリースでは、文字列をブール値と比較する MDX クエリでは、値を比較できない場合でも、結果が返されました。 今回のリリースでは、比較する場合、両方の値の型が同じである必要があります。 型が異なる値を比較する MDX クエリを含むアプリケーションの場合は、結果の代わりにエラーが返されます。

PowerPivot for SharePoint のインストール用のセットアップ コマンドが削除されました。

セットアップでは PowerPivot for SharePoint がインストールされますが、構成されなくなりました。 構成操作に使用される値を収集するためのセットアップ コマンドが削除されました。 削除されたコマンドは、/FARMACCOUNT、/FARMPASSWORD、/PASSPHRASE、/FARMADMINPORT などです。

自動セットアップ用のインストール スクリプトを作成していた場合、PowerPivot for SharePoint をインストールするには、スクリプトを修正する必要があります。 代替手段として、自動モードでサーバーを構成する PowerShell コマンドレットを使用してください。 詳細については、「コマンド プロンプトからの PowerPivot のインストール」および「Windows PowerShell を使用した PowerPivot の構成」を参照してください。

DAX の DATESBETWEEN 関数では引数として参照される日付列において一意な値が強制されます。

SQL Server 2012 SP1 では、DATESBETWEEN 関数に新しい検証要件が導入されています。

DATESBETWEEN タイム インテリジェンス関数が使用された DAX 式は、引数として参照される日付列に一意の値が含まれていない場合にエラーを返すことがあります。 すべての DAX タイム インテリジェンス関数の 1 つ目の引数として参照される日付列では、行ごとに一意の値が含まれている必要があります。

DAX 式の比較演算子での互換性のないデータ型の値の使用

SQL Server 2012 では、DAX 式の中で比較演算子を使用して文字列値と整数値を比較できます (たとえば、文字列値 "45" を整数値 45 と比較できます)。 これは、有効な比較操作です。 SQL Server 2012 SP1 では、算術規則を適用するために、文字列から整数への強制型変換は許可されなくなりました。 文字列値と整数値を比較する数式はエラーを返します。 DAX のキャスト関数 (VALUE、FORMAT) を使用して、値を別の型に変換できます。

DAX 式での順位付け関数の使用による空白の値と空の文字列 ("") の比較

SQL Server 2012 では、DAX の順位付け関数において、BLANK() は数値列で 0 として順位付けられ、テキスト列において空の文字列として順位付けられます。 SQL Server 2012 SP1 では、DAX の順位付け関数において、BLANK() は数値列で 0 として順位付けられますが、テキスト列において空の文字列として順位付けられなくなりました。 BLANK() は、空の文字列に次ぐ、わずかに小さい値として順位付けされます。

[トップに戻る] リンクで使用される矢印アイコンTop

SQL Server 2008/SQL Server 2008 R2 における重大な変更

このセクションでは、以前のリリースからの重大な変更について説明します。 SQL Server 2005 からアップグレードする場合は、SQL Server 2008 と SQL Server 2008 R2 における重大な変更の内容を確認してください。

問題点

説明

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 にデータベースをアップグレードする場合は、操作を実行できます。 復元または同期の際は、パーティション格納場所をデータ フォルダーの外部に移動する必要があります。

ProClarity Analytics Server および Microsoft Office PerformancePoint Server 2007 で MDX の "EXISTING" キーワードを使用するクエリに対して、予期しない結果が返される場合があります。

ProClarity Analytics Server および Microsoft Office PerformancePoint Server 2007 では、MDX の EXISTING キーワードが正しく使用されない特定のシナリオがあります。 SQL Server 2008 Analysis Services で行われた変更が原因で、このようなクエリから予期しない結果が返される場合があります。

[トップに戻る] リンクで使用される矢印アイコンTop

関連項目

その他の技術情報

Analysis Services の旧バージョンとの互換性