サポートされている .NET Framework ライブラリ
適用対象:SQL Server
SQL Serverでホストされている共通言語ランタイム (CLR) を使用すると、ストアド プロシージャ、トリガー、ユーザー定義関数、ユーザー定義型、およびユーザー定義集計をマネージ コードで作成できます。 .NET Framework クラス ライブラリに用意されている機能を使用すると、文字列操作、高度な算術演算、ファイル アクセス、暗号化などの機能を提供する組み込みのクラスにアクセスできます。 これらのクラスは、任意のマネージド ストアド プロシージャ、ユーザー定義型、トリガー、ユーザー定義関数、またはユーザー定義集計からアクセスできます。
注意
グローバル アセンブリ キャッシュ (GAC) でサポートされていないアセンブリをサービスまたはアップグレードすると、SQL Server アプリケーションが動作しなくなる可能性があります。 これは、GAC のライブラリをサービスまたはアップグレードしても、SQL Server内のアセンブリは更新されないためです。 アセンブリがSQL Server データベースと GAC の両方に存在する場合、アセンブリの 2 つのコピーが完全に一致している必要があります。 一致しない場合は、CLR 統合によってアセンブリが使用されるときにエラー SQL Server発生します。 サポートされていない.NET Framework アセンブリを含め、データベースにも登録されている GAC 内のアセンブリをサービスまたはアップグレードする場合は、ALTER ASSEMBLY ステートメントを使用して、SQL Server データベース内のアセンブリのコピーもサービスまたはアップグレードしてください。 詳細については、 サポート技術情報の記事 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.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 統合コード アクセス セキュリティ」を参照してください。