次の方法で共有


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