SQL Server CLR でホストされている環境でテストされていない.NET Framework アセンブリのサポート ポリシー

この記事では、SQL Serverの.NET Framework共通言語ランタイム (CLR) ホスト環境でテストされていない Microsoft .NET Framework アセンブリのサポート ポリシーについて説明します。

元の製品バージョン: SQL Server
元の KB 番号: 922672

アセンブリのテストとサポート

SQL Serverでテストされていない.NET Framework アセンブリを参照するアセンブリを登録すると、次の警告メッセージが表示されることがあります。

登録している .Net frameworks assembly AssemblyName は、SQL Serverホストされている環境で完全にテストされていません。

メッセージは、.NET Framework アセンブリが、SQL Server CLR でホストされている環境でテストされていないことを意味します。 そのため、アセンブリは、SQL Server CLR でホストされる環境ではサポートされていません。

テストされていない.NET Framework アセンブリは、メモリ不足状態などの重大な条件が発生すると、ホスト プロセスを終了する可能性があります。 アセンブリは、自分の責任でSQL Server CLR でホストされる環境で使用できます。 ただし、カスタマー サポート サービス (CSS) SQL Serverは、サポートされていない.NET Framework アセンブリに関連する問題の使用とトラブルシューティングには役立ちません。 サポートされていない特定のアセンブリによってSQL Serverの問題が発生すると CSS によって判断された場合は、アセンブリの使用を停止するように求められる場合があります。 さらに、必要に応じて CSS が特定のSQL Serverの問題をトラブルシューティングするときに、アセンブリの使用を一時的に停止するように求められる場合があります。

アセンブリ登録

.NET アセンブリには、純粋アセンブリと混合アセンブリの 2 種類があります。 純粋な .NET アセンブリには、MSIL 命令のみが含まれています。 混合アセンブリには、アンマネージド マシン命令と MSIL 命令の両方が含まれます。 一般的な混合アセンブリは、"clr" スイッチを使用して C++ コンパイラでコンパイルされ、ネイティブ C++ コードから構築されたマシン命令も含まれます。

サポートされている一覧にない.NET Framework アセンブリを使用する場合は、 ステートメントをCREATE ASSEMBLY使用して、アセンブリと参照されるアセンブリSQL Serverデータベース内に登録する必要があります。 SQL Server CREATE ASSEMBLY ステートメントを使用すると、純粋な.NET Frameworkアセンブリのみを登録できます。 アセンブリまたは参照先アセンブリが純粋な.NET Framework アセンブリではない場合 (したがって、アセンブリが混在している場合)、次のエラー メッセージが表示されます。

メッセージ 6544、レベル 16、状態 1、行 2
アセンブリ '<アセンブリ名>' の CREATE ASSEMBLY が失敗しました。アセンブリ '<アセンブリ名>' の形式が正しくないか、純粋な .NET アセンブリではないためです。
検証できない PE ヘッダー/ネイティブ スタブ。

この場合、この記事に記載されているサポートされている一覧にアセンブリがない限り、.NET Framework アセンブリを SQL CLR と共に使用することはできません。 さらに、.NET Framework アセンブリは、純粋アセンブリからバージョン間の混合アセンブリに変更できます。 サポートされている一覧に含まれていないアセンブリを使用する場合は、アセンブリが 1 つのバージョンの.NET Frameworkで動作するが、別のバージョンでは機能しない場合があります。 これらのアセンブリは ステートメントを使用して CREATE ASSEMBLY 登録する必要がないため、この制限はサポートされている一覧のアセンブリには適用されません。

さらに、これらのアセンブリは、.NET Frameworkをアップグレードした後で管理する必要があります。 CLR ルーチンを実行するか、SQL Serverでアセンブリを使用すると、次のエラー メッセージが表示されます。

ホスト ストア内のアセンブリには、GAC のアセンブリとは異なる署名があります。 (HRESULT からの例外: 0x80131050)

SQL Server CLR でホストされる環境でサポートされるアセンブリ

次の.NET Framework アセンブリは、SQL Server CLR でホストされる環境でサポートされています。

  • Microsoft.VisualBasic.dll

  • Mscorlib.dll

  • System.Data.dll

  • System.dll

  • System.Xml.dll

  • Microsoft.VisualC.dll

  • CustomMarshalers.dll

  • System.Security.dll

  • System.Web.Services.dll

  • System.Data.SqlXml.dll

  • System.Transactions.dll

  • System.Data.OracleClient.dll

  • System.Configuration.dll