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

適用対象: SQL Server Azure SQL Managed Instance

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

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

解説

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

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

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

関連項目