CLR データベース オブジェクトからのデータ アクセス

適用対象:SQL Server

共通言語ランタイム (CLR) ルーチンは、実行する Microsoft SQL Server のインスタンスに格納されているデータと、リモート インスタンスに格納されているデータに簡単にアクセスできます。 ルーチンからどのデータにアクセスできるかは、コードが実行されているユーザー コンテキストによって決まります。 .NET Framework Data Provider for SQL Server (SqlClient とも呼ばれます) を使用して、CLR データベース オブジェクト内からデータにアクセスします。 これは、マネージド クライアントと中間層アプリケーションからSQL Serverデータにアクセスする開発者が使用するプロバイダーと同じです。 このため、クライアントおよび中間層アプリケーションで ADO.NET と SqlClient に関する知識を活用できます。

注意

ユーザー定義型メソッドとユーザー定義関数では、既定ではデータ アクセスの実行が許可されていません。 ユーザー定義型 (UDT) メソッドまたはユーザー定義関数からの読み取り専用データ アクセスを有効にするには、SqlMethodAttribute または SqlFunctionAttribute の DataAccess プロパティをDataAccessKind.Read に設定する必要があります。 UDT またはユーザー定義関数によるデータ変更操作は許可されません。この操作を実行しようとすると、実行時に例外がスローされます。

ここでは、CLR データベース オブジェクト内からデータにアクセスする際の機能や動作の具体的な違いについて説明します。 ADO.NET の機能の詳細については、.NET Framework SDK に付属の ADO.NET のドキュメントを参照してください。

次の表に、このセクションのトピックを示します。

コンテキスト接続
SQL Server へのコンテキスト接続について説明します。

接続の権限借用と資格情報
接続の権限借用および接続の資格情報について説明します。

ADO.NET に対する SQL Server インプロセス固有の拡張機能
インプロセス固有の SqlPipe、SqlContextSqlTriggerContext、および SqlDataRecord オブジェクトについて説明します。

CLR 統合とトランザクション
System.Transactions 名前空間で提供される新しいトランザクション フレームワークを ADO.NET と CLR 統合SQL Server統合する方法について説明します。

CLR データベース オブジェクトからの XML シリアル化
SQL Server内の CLR データベース オブジェクトの XML シリアル化シナリオを有効にする方法について説明します。