CLR (共通言語ランタイム) 統合の概要

Microsoft SQL Server には、.NET Framework for Microsoft Windows の CLR (共通言語ランタイム) コンポーネントが統合されました。CLR では、言語間の統合、コード アクセス セキュリティ、オブジェクトの有効期間の管理、デバッグとプロファイルのサポートなどのサービスがマネージ コードに提供されます。SQL Server のユーザーやアプリケーション開発者にとっての CLR 統合とは、Microsoft Visual Basic .NET や Microsoft Visual C# などの .NET Framework 言語を使用して、ストアド プロシージャ、トリガ、ユーザー定義型、ユーザー定義関数 (スカラ関数とテーブル値関数)、ユーザー定義集計関数を記述できるようになることを意味します。Visual Studio .NET 2003 は、CLR 統合プログラミングには使用できない点に注意してください。SQL Server には .NET Framework Version 2.0 SP1 がプレインストールされていますが、Visual Studio .NET 2003 では .NET Framework 2.0 アセンブリを使用できません。

次に、この統合の主な利点のいくつかを示します。

  • 優れたプログラミング モデル。.NET Framework 言語では、以前 SQL Server の開発者が使用できなかった構造や機能が提供されるので、多くの点で Transact-SQL よりも優れています。また、開発者は .NET Framework ライブラリの機能も使用できます。.NET Framework ライブラリには、プログラミングに関する問題を、迅速かつ効率的に解決する際に使用できる幅広いクラスのセットが用意されています。

  • **安全性とセキュリティの強化。**マネージ コードは、データベース エンジンをホストとする共通言語ランタイム環境で実行されます。SQL Server では、以前のバージョンの SQL Server で使用していた拡張ストアド プロシージャに代わってマネージ コードを使用することで、安全性やセキュリティを高めることができます。

  • **データ型や集計関数を定義する機能。**ユーザー定義型とユーザー定義集計は、SQL Server のストレージ機能とクエリ機能を拡張する新しい 2 つのマネージ データベース オブジェクトです。

  • **標準化された環境による効率的な開発。**データベース開発は、今後リリースされる Microsoft Visual Studio .NET 開発環境に統合されます。開発者は、データベース オブジェクトやスクリプトの開発およびデバッグを行う際に、中間層またはクライアント層の .NET Framework コンポーネントやサービスを作成する場合と同じツールを使用できます。

  • パフォーマンスとスケーラビリティの強化。 .NET Framework 言語のコンパイル モデルと実行モデルは、多くの状況で、Transact-SQL を超える優れたパフォーマンスを提供します。

このセクションのトピックでは、次の内容について説明します。

  • CLR 統合の概要
    CLR 統合を使用してビルドできるオブジェクトの種類について説明します。また、CLR 統合を使用してデータベース オブジェクトをビルドする場合の要件を確認します。

  • CLR 統合のアーキテクチャ
    CLR 統合の設計目標について説明します。

  • CLR 統合の有効化
    CLR 統合を有効にする方法を説明します。