次の方法で共有


サポートされている .NET Framework ライブラリ

適用対象:SQL Server

SQL Server でホストされている共通言語ランタイム (CLR) を使用すると、ストアド プロシージャ、トリガー、ユーザー定義関数、ユーザー定義型、およびユーザー定義集計をマネージド コードで作成できます。 .NET Framework クラス ライブラリにある機能を使用すると、文字列操作、高度な数学演算、ファイル アクセス、暗号化などの機能を提供する事前構築済みのクラスにアクセスできます。 これらのクラスは、任意のマネージド ストアド プロシージャ、ユーザー定義型、トリガー、ユーザー定義関数、またはユーザー定義集計からアクセスできます。

グローバル アセンブリ キャッシュ (GAC) でサポートされていないアセンブリにサービスを提供またはアップグレードすると、SQL Server アプリケーションが動作を停止する可能性があります。 これは、GAC のライブラリのサービスまたはアップグレードでは、SQL Server 内のアセンブリが更新されないためです。 アセンブリが SQL Server データベースと GAC の両方に存在する場合、アセンブリの 2 つのコピーが完全に一致している必要があります。 一致しない場合は、アセンブリが SQL Server CLR 統合によって使用されるときにエラーが発生します。 サポートされていない .NET Framework アセンブリを含め、データベースにも登録されている GAC 内のアセンブリにサービスを提供またはアップグレードする場合は、ALTER ASSEMBLY ステートメントを使用して、SQL Server データベース内のアセンブリのコピーもサービスまたはアップグレードしてください。 詳細については、MSSQLSERVER_6522を参照してください。

サポートされているライブラリ

SQL Server には、SQL Server との対話に関する信頼性とセキュリティ標準を満たしていることを確認するためにテストされる、サポートされている .NET Framework ライブラリの一覧があります。 サポートされているライブラリをコードで使用する前に、サーバーに明示的に登録する必要はありません。SQL Server は、グローバル アセンブリ キャッシュ (GAC) から直接読み込みます。

SQL Server での CLR 統合でサポートされるライブラリ/名前空間は次のとおりです。

  • mscorlib.dll
  • CustomMarshalers.dll
  • Microsoft.VisualBasic.dll
  • Microsoft.VisualC.dll
  • System.Configuration.dll
  • System.Core.dll
  • System.Data.OracleClient.dll
  • System.Data.SqlXml.dll
  • System.Data.dll
  • System.Deployment.dll
  • System.Security.dll
  • System.Transactions.dll
  • System.Web.Services.dll
  • System.Xml.Linq.dll
  • system.Xml.dll
  • System.dll

サポートされていないライブラリ

サポートされていないライブラリは、マネージド ストアド プロシージャ、トリガー、ユーザー定義関数、ユーザー定義型、およびユーザー定義集計から呼び出すことができます。 サポートされていないライブラリは、コードで使用する前に、CREATE ASSEMBLY ステートメントを使用して SQL Server データベースに登録する必要があります。 サポートされていないライブラリをサーバーに登録して実行する場合は、そのライブラリのセキュリティと信頼性を確認およびテストする必要があります。

たとえば、System.DirectoryServices 名前空間はサポートされていません。 コードから呼び出す前に、System.DirectoryServices.dll アセンブリを UNSAFE のアクセス許可に登録する必要があります。 System.DirectoryServices 名前空間のクラスが SAFE または EXTERNAL_ACCESSの要件を満たしていないため、UNSAFE アクセス許可が必要です。 詳細については、CLR 統合コード アクセス セキュリティCLR 統合プログラミング モデルの制限を参照してください。