次の方法で共有


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

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

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

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

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

登録している .Net Frameworks アセンブリ AssemblyName は、SQL Server ホスト環境で完全にテストされていません。

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

テストされていない .NET Framework アセンブリは、メモリ不足状態などの重大な条件が発生すると、ホスト プロセスを終了する可能性があります。 アセンブリは、SQL Server CLR でホストされる環境で自己責任で使用できます。 ただし、SQL Server カスタマー サポート サービス (CSS) は、サポートされていない .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 アセンブリは、純粋アセンブリからバージョン間の混合アセンブリに変更できます。 サポートされている一覧に含まれていないアセンブリを使用する場合は、アセンブリが .NET Framework の 1 つのバージョンでは動作するが、別のバージョンでは動作しない場合があります。 これらのアセンブリは ステートメントを使用して CREATE ASSEMBLY 登録する必要がないため、この制限はサポートされている一覧のアセンブリには適用されません。

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

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

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

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

  • 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