共通言語ランタイム (CLR) 統合プログラミングの概念

適用対象:SQL ServerAzure SQL Managed Instance

SQL Server 2005 (9.x) 以降では、SQL Serverは Microsoft Windows 用.NET Frameworkの共通言語ランタイム (CLR) コンポーネントの統合を備えています。

Visual Basic や C# などの任意の.NET Framework言語を使用して、ストアド プロシージャ、トリガー、ユーザー定義型、ユーザー定義関数、ユーザー定義集計、ストリーミング テーブル値関数を記述できます。

注釈

  • SQL Server CLR 統合では、.NET Core または .NET 5 以降のバージョンはサポートされていません。

  • Linux では、SQL Server 2017 (14.x) 以降のバージョンの CLR データベース オブジェクトを読み込むことができますが、.NET Frameworkを使用してビルドする必要があります。 また、 または UNSAFE アクセス許可セットをEXTERNAL_ACCESS持つ CLR アセンブリは、Linux ではサポートされていません。

  • 既定では、.NET Framework ランタイムは SQL Server と共にインストールされますが、.NET Framework SDK はインストールされません。 .NET Framework SDK の最新バージョンをインストールするには、「.NET Framework Developer Pack をダウンロードする」を参照してください。

  • Microsoft.SqlServer.Server名前空間には、SQL Serverでの CLR プログラミングのコア機能が含まれています。 名前空間のMicrosoft.SqlServer.Serverドキュメントについては、「Microsoft.SqlServer.Server 名前空間 (.NET Framework 4.8)」を参照してください。

  • CLR ユーザー関数などの CLR 機能は、Azure SQL Database ではサポートされていません。

このセクションの内容

次の表に、このセクションの記事を示します。

[アーティクル] 説明
CLR (共通言語ランタイム) 統合の概要 CLR の概要と、このテクノロジがSQL Serverで使用された方法と理由について説明します。 CLR を使用してデータベース オブジェクトを作成する利点についても説明します。
アセンブリ (データベース エンジン) 関数、ストアド プロシージャ、トリガー、ユーザー定義集計、および Transact-SQL で記述されていない Microsoft .NET Framework共通言語ランタイム (CLR) によってホストされるマネージ コード言語のいずれかで記述されたユーザー定義型を展開するために、SQL Serverでアセンブリを使用する方法について説明します。
共通言語ランタイム (CLR) 統合を使用したデータベース オブジェクトの構築 CLR を使用して作成できるオブジェクトの種類について説明し、CLR データベース オブジェクトの作成要件を確認します。
CLR データベース オブジェクトからのデータ アクセス CLR ルーチンが、SQL Serverのインスタンスに格納されているデータにアクセスする方法について説明します。
CLR 統合のセキュリティ CLR 統合のセキュリティ モデルについて説明します。
CLR データベース オブジェクトのデバッグ CLR データベース オブジェクトをデバッグする場合の制限事項と要件について説明します。
CLR データベース オブジェクトの配置 実稼働サーバーへのアセンブリの配置について説明します。
CLR 統合アセンブリの管理 CLR 統合のアセンブリの作成および削除方法について説明します。
マネージド データベース オブジェクトの監視とトラブルシューティング SQL Serverで実行されているマネージド データベース オブジェクトとアセンブリの監視とトラブルシューティングに使用できるツールに関する情報を提供します。
CLR (共通言語ランタイム) 統合の使用シナリオと例 CLR オブジェクトを使用する使用シナリオとコード サンプルについて説明します。

こちらもご覧ください