すべてのストアド プロシージャを使用するには、共通言語ランタイム (CLR) またはコンポーネント オブジェクト モデル (COM) クラスに関連付ける必要があります。 このクラスは、通常は Microsoft ActiveX® ダイナミック リンク ライブラリ (DLL) の形式でサーバーにインストールし、サーバーまたは Analysis Services データベースのアセンブリとして登録する必要があります。
ストアド プロシージャは、サーバーまたはデータベースに登録されます。 サーバー ストアド プロシージャは、任意のクエリ コンテキストから呼び出すことができます。 データベース ストアド プロシージャにアクセスできるのは、データベース コンテキストがストアド プロシージャが定義されているデータベースである場合のみです。 あるアセンブリ内の関数が別のアセンブリの関数を呼び出す場合は、両方のアセンブリを同じコンテキスト (サーバーまたはデータベース) に登録する必要があります。 サーバーまたはサーバーに配置された Microsoft SQL Server Analysis Services データベースの場合は、SQL Server Management Studio を使用してアセンブリを登録できます。 Analysis Services プロジェクトの場合は、Analysis Services デザイナーを使用して、プロジェクトにアセンブリを登録できます。
Von Bedeutung
COM アセンブリは、セキュリティ 上のリスクを引き起こす可能性があります。 このリスクとその他の考慮事項により、COM アセンブリは SQL Server 2008 Analysis Services (SSAS) で非推奨になりました。 COM アセンブリは、今後のリリースではサポートされない可能性があります。
サーバー アセンブリの登録
SQL Server Management Studio のオブジェクト エクスプローラーでは、サーバー アセンブリは Analysis Services のインスタンスの下にある [アセンブリ] フォルダーに一覧表示されます。 サーバー アセンブリには、.NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
サーバー アセンブリを作成するには
オブジェクト エクスプローラーで Analysis Services のインスタンスを展開し、[ アセンブリ ] フォルダーを右クリックし、[ 新しいアセンブリ] をクリックします。 [ サーバー アセンブリの登録 ] ダイアログ ボックスが表示されます。
[型] には、アセンブリの型を指定します。
マネージド コード (CLR) DLL の場合は、.NET Assembly を指定します。
ネイティブ コード (COM) DLL の場合は、COM DLL を指定します。
[ファイル名] には、ストアド プロシージャを含む DLL を指定します。
[ アセンブリ名] には、アセンブリの名前を指定します。
これがストアド プロシージャのデバッグに使用するライブラリのデバッグ ビルドである場合は、[ デバッグ情報を含める ] チェック ボックスをオンにします。 ストアド プロシージャのデバッグの詳細については、「 ストアド プロシージャのデバッグ」を参照してください。
[ OK] をクリックしてアセンブリをすぐに登録するか、ダイアログ ボックスのツール バーで [ スクリプト ] メニューのコマンドをクリックして、登録アクションをクエリ ウィンドウ、ファイル、またはクリップボードにスクリプト化できます。
サーバー アセンブリを登録したら、オブジェクト エクスプローラーでアセンブリを右クリックし、[ プロパティ] をクリックして構成できます。
サーバーへのデータベース アセンブリの登録
SQL Server Management Studio のオブジェクト エクスプローラーでは、データベース アセンブリは Analysis Services データベースの [アセンブリ] フォルダーに一覧表示されます。 データベース アセンブリには、.NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
サーバー上にデータベース アセンブリを作成するには
オブジェクト エクスプローラーで Analysis Services データベースのインスタンスを展開し、[ アセンブリ ] フォルダーを右クリックし、[ 新しいアセンブリ] をクリックします。 [ データベース アセンブリの登録 ] ダイアログ ボックスが表示されます。
[型] には、アセンブリの型を指定します。
マネージド コード (CLR) DLL の場合は、.NET Assembly を指定します。
ネイティブ コード (COM) DLL の場合は、COM DLL を指定します。
[ファイル名] には、ストアド プロシージャを含む DLL を指定します。
[ アセンブリ名] には、アセンブリの名前を指定します。
これがストアド プロシージャのデバッグに使用するライブラリのデバッグ ビルドである場合は、[ デバッグ情報を含める ] チェック ボックスをオンにします。 ストアド プロシージャのデバッグの詳細については、「 ストアド プロシージャのデバッグ」を参照してください。
[ OK] をクリックしてアセンブリをすぐに登録するか、ダイアログ ボックスのツール バーで [ スクリプト ] メニューのコマンドをクリックして、登録アクションをクエリ ウィンドウ、ファイル、またはクリップボードにスクリプト化できます。
データベース アセンブリを登録したら、オブジェクト エクスプローラーでアセンブリを右クリックし、[ プロパティ] をクリックして構成できます。
プロジェクトにデータベース アセンブリを登録する
SQL Server Data Tools (SSDT) のソリューション エクスプローラーでは、データベース アセンブリは Analysis Services プロジェクトの [アセンブリ] フォルダーに一覧表示されます。 データベース アセンブリには、.NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
Analysis Service プロジェクトでデータベース アセンブリを作成するには
オブジェクト エクスプローラーで Analysis Services データベースのインスタンスを展開し、[ アセンブリ ] フォルダーを右クリックし、[ 新しいアセンブリ参照] をクリックします。 [ 参照の追加 ] ダイアログ ボックスが表示されます。 [参照の追加] ダイアログ ボックスの [.NET] タブには既存の .NET (CLR) アセンブリが一覧表示され、[プロジェクト] タブにはプロジェクトが一覧表示されます。
既存のコンポーネントまたはプロジェクトをクリックし、[ 追加 ] をクリックして Analysis Services プロジェクトに追加できます。 COM DLL への参照を追加するには、[ 参照 ] タブをクリックしてファイルを見つけます。 選択したプロジェクトとコンポーネントの一覧には、プロジェクトに追加する各コンポーネントの名前、種類、バージョン、場所が表示されます。
追加するコンポーネントの選択が完了したら、[ OK] をクリックして Analysis Services プロジェクトに追加します。
アセンブリのスクリプト形式
.NET アセンブリの登録は非常に簡単です。 .NET アセンブリは、次の形式を使用してバイナリ形式でデータベースに追加されます。
<Create>
<ObjectDefinition>
<Assembly>
<Files>
<File>
<Name>filename</Name>
<Type>filetype</Type>
<Data>
<Block>binarydatablock</Block>
<Block>binarydatablock</Block>
...
</Data>
</File>
</Files>
<PermissionSet>PermissionSet</PermissionSet>
</Assembly>
<ObjectDefinition>
</Create>