次の方法で共有


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

適用対象: SQL サーバー

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

Note

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

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

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

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

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

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

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

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

参照

アセンブリの作成
CLR 統合のコード アクセス セキュリティ
CLR 統合プログラミング モデルの制限事項