次の方法で共有


通常の接続とコンテキスト接続に関する制限事項

このトピックでは、Microsoft SQL Server プロセスでコンテキスト接続や通常の接続を使用して実行するコードに関する制限事項について説明します。

コンテキスト接続に関する制限事項

アプリケーションを開発するときは、コンテキスト接続に適用される次の制限事項を考慮してください。

  • 特定の接続に対して特定の時点に開くことができるコンテキスト接続は 1 つだけです。複数のステートメントをそれぞれ独立した接続で同時に実行する場合、その中の 1 つの接続しか独自のコンテキスト接続を取得できません。この制限事項は、異なる接続からの同時実行要求には影響しません。つまり、特定の接続の特定の要求にしか影響しません。

  • コンテキスト接続では、MARS (複数のアクティブな結果セット) がサポートされません。

  • コンテキスト接続では、SqlBulkCopy クラスを使用できません。

  • コンテキスト接続では、更新バッチ処理がサポートされません。

  • SqlNotificationRequest は、コンテキスト接続に対して実行するコマンドと併用できません。

  • コンテキスト接続に対して実行しているコマンドはキャンセルできません。SqlCommand.Cancel メソッドでは、この要求が暗黙に無視されます。

  • "context connection=true" を使用する場合は、他の接続文字列キーワードを使用できません。

  • SqlConnection の接続文字列が、SQL Server のインスタンス名ではなく、"context connection=true" である場合、SqlConnection.DataSource プロパティは NULL を返します。

  • コンテキスト接続に対してコマンドを実行する場合に SqlCommand.CommandTimeout プロパティを設定しても、影響はありません。

通常の接続に関する制限事項

アプリケーションを開発するときは、通常の接続に適用される次の制限事項を考慮してください。

  • 内部サーバーに対する非同期コマンドの実行はサポートされません。コマンドの接続文字列に "async=true" を含めてコマンドを実行すると、System.NotSupportedException がスローされます。"Asynchronous processing is not supported when running inside the SQL Server process. (SQL Server プロセス内部での実行では、非同期処理はサポートされていません。)" というメッセージが表示されます。

  • SqlDependency オブジェクトはサポートされません。

関連項目

概念