コンテキスト接続と通常の接続に関する制限事項
適用対象:SQL Server
この記事では、コンテキストと通常の接続を介して SQL Server プロセスで実行されるコードに関連する制限について説明します。
コンテキスト接続に関する制限事項
アプリケーションを開発するときは、コンテキスト接続に適用される次の制限事項を考慮してください。
特定の接続に対して特定の時点に開くことができるコンテキスト接続は 1 つだけです。 複数のステートメントをそれぞれ独立した接続で同時に実行する場合、その中の 1 つの接続しか独自のコンテキスト接続を取得できません。 この制限は、異なる接続からの同時要求には影響しません。特定の接続の特定の要求にのみ影響します。
コンテキスト接続では、複数のアクティブな結果セット (MARS) はサポートされていません。
SqlBulkCopy
クラスはコンテキスト接続では動作しません。コンテキスト接続でのバッチ処理の更新はサポートされていません
SqlNotificationRequest
は、コンテキスト接続に対して実行されるコマンドでは使用できません。コンテキスト接続に対して実行されているコマンドの取り消しはサポートされていません。
SqlCommand.Cancel
メソッドは、要求をサイレント モードで無視します。context connection=true
を使用する場合、他の接続文字列キーワードは使用できません。sql Server のインスタンスの名前ではなく、
SqlConnection
の接続文字列がcontext connection=true
されている場合、SqlConnection.DataSource
プロパティは null を返します。SqlCommand.CommandTimeout
プロパティの設定は、コマンドがコンテキスト接続に対して実行されるときには影響しません。
通常の接続に関する制限事項
アプリケーションを開発するときは、通常の接続に適用される次の制限事項を考慮してください。
内部サーバーに対する非同期コマンドの実行はサポートされていません。 コマンドの接続文字列に
async=true
を含めてからコマンドを実行すると、System.NotSupportedException
がスローされます。 次のメッセージが表示されます。Asynchronous processing is not supported when running inside the SQL Server process.
SqlDependency
オブジェクトはサポートされていません。