ストアド プロシージャの作成
適用対象:
SQL Server Analysis Services
Azure Analysis Services
Power BI Premium
ストアド プロシージャを使用するには、これを共通言語ランタイム (CLR) クラスまたはコンポーネント オブジェクト モデル (COM) クラスに関連付ける必要があります。 クラスは、サーバーにインストールする必要があります。通常は、Microsoft ActiveX®ダイナミックリンクライブラリ (DLL) の形式で、サーバーまたは Analysis Services データベースにアセンブリとして登録します。
ストアド プロシージャはサーバーまたはデータベースに登録されています。 サーバーのストアド プロシージャは、どのクエリ コンテキストからでも呼び出すことができます。 データベースのストアド プロシージャは、データベース コンテキストが、ストアド プロシージャが定義されているデータベースの場合にのみアクセスできます。 あるアセンブリの関数が別のアセンブリの関数を呼び出す場合は、両方のアセンブリを同じコンテキスト (サーバーまたはデータベース) に登録する必要があります。 サーバー上のサーバーまたは配置された Microsoft SQL Server Analysis Services データベースの場合、SQL Server Management Studio を使用してアセンブリを登録できます。 Analysis Services プロジェクトの場合、Analysis Services デザイナーを使用して、プロジェクトにアセンブリを登録できます。
重要
COM アセンブリにより、セキュリティ上のリスクが生じる可能性があります。 このリスクやその他の考慮事項により、SQL Server 2008 Analysis Services (SSAS) では COM アセンブリが非推奨とされました。 COM アセンブリは、今後のリリースではサポートされない可能性があります。
サーバー アセンブリの登録
SQL Server Management Studio のオブジェクトエクスプローラーでは、サーバーアセンブリは Analysis Services のインスタンスの [アセンブリ] フォルダーに一覧表示されます。 サーバー アセンブリには .NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
サーバー アセンブリを作成するには
オブジェクトエクスプローラーで Analysis Services のインスタンスを展開し、[アセンブリ] フォルダーを右クリックして、[新しいアセンブリ] をクリックします。 [ サーバーアセンブリの登録 ] ダイアログボックスが表示されます。
[ 種類 : アセンブリの種類を指定します。
マネージド コード (CLR) DLL の場合は、.NET アセンブリを指定します。
ネイティブコード (COM) DLL の場合は、COM DLL を指定します。
[ ファイル名] に、ストアドプロシージャを含む DLL を指定します。
[ アセンブリ名] には、アセンブリの名前を指定します。
これが、ストアドプロシージャのデバッグに使用するライブラリのデバッグビルドの場合は、[ デバッグ情報を含める ] チェックボックスをオンにします。 ストアドプロシージャのデバッグの詳細については、「 ストアドプロシージャのデバッグ」を参照してください。
[ OK ] をクリックしてアセンブリをすぐに登録するか、ダイアログボックスのツールバーで [ スクリプト ] メニューのコマンドをクリックして、登録アクションをクエリウィンドウ、ファイル、またはクリップボードにスクリプト化することができます。
サーバーアセンブリを登録したら、オブジェクトエクスプローラーでアセンブリを右クリックし、[プロパティ] をクリックして構成できます。
サーバーへのデータベース アセンブリの登録
SQL Server Management Studio のオブジェクトエクスプローラーでは、データベースアセンブリは Analysis Services データベースの [アセンブリ] フォルダーに一覧表示されます。 データベース アセンブリには .NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
サーバーでデータベース アセンブリを作成するには
オブジェクトエクスプローラーで Analysis Services データベースのインスタンスを展開し、[アセンブリ] フォルダーを右クリックして、[新しいアセンブリ] をクリックします。 [ データベースアセンブリの登録 ] ダイアログボックスが表示されます。
[ 種類 : アセンブリの種類を指定します。
マネージド コード (CLR) DLL の場合は、.NET アセンブリを指定します。
ネイティブ コード (COM) DLL の場合は、COM DLL を指定します。
[ ファイル名] に、ストアドプロシージャを含む DLL を指定します。
[ アセンブリ名] には、アセンブリの名前を指定します。
これが、ストアドプロシージャのデバッグに使用するライブラリのデバッグビルドの場合は、[ デバッグ情報を含める ] チェックボックスをオンにします。 ストアドプロシージャのデバッグの詳細については、「 ストアドプロシージャのデバッグ」を参照してください。
[ OK ] をクリックしてアセンブリをすぐに登録するか、ダイアログボックスのツールバーで [ スクリプト ] メニューのコマンドをクリックして、登録アクションをクエリウィンドウ、ファイル、またはクリップボードにスクリプト化することができます。
データベースアセンブリを登録したら、オブジェクトエクスプローラーでアセンブリを右クリックし、[プロパティ] をクリックして構成できます。
プロジェクトへのデータベース アセンブリの登録
SQL Server Data Tools のソリューションエクスプローラーでは、データベースアセンブリは Analysis Services プロジェクトの [アセンブリ] フォルダーに一覧表示されます。 データベース アセンブリには .NET (CLR) アセンブリと COM ライブラリの両方を含めることができます。
Analysis Services プロジェクトにデータベース アセンブリを作成するには
オブジェクトエクスプローラーで 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>