SQL Server 接続プーリングの sp_reset_connection の機能の詳細
SQL Server は、データベース接続を効率的に管理するために接続プーリングを採用しています。このメカニズムの中心となるのは、プールからの接続を再利用するときに呼び出されるストアド プロシージャ sp_reset_connection です。その主な目的は、接続の状態をリセットして、その後の使用に備えられるようにすることです。
包括的なリセット
sp_reset_connection は、次のような接続のさまざまな側面をリセットします。
- エラーの状態と番号
- 実行コンテキスト(EC)
- 未処理の I/O 操作
- 保留されたサーバー バッファー
- ロックされたバッファー リソース
- 接続によって割り当てられたメモリ
- 一時テーブル
- グローバルカーソル
- オープン SQL-XML ハンドルと関連作業テーブル
- システム テーブルとユーザー テーブル
- 一時オブジェクト
- オープン トランザクション
- 分散トランザクション入隊
- 共有データベースロック
- 取得されたロック
- ハンドル
- オプションの設定
- @@rowcount
- @@identity
- セッション-レベルトレースoptions
Exclusions
ただし、sp_reset_connection は特にリセットを回避します:
- セキュリティ コンテキスト。これは、以下に基づいて接続を照合するために重要です。接続文字列
- アプリケーション ロール。取り消されました
- トランザクション分離レベル
実際的な意味
- sp_setapprole によって確立されたアプリケーション ロールは引き続き有効です。
- sp_reset_connection ではトランザクションが管理されないため、トランザクションはアプリケーションによって明示的に管理される必要があります。それらをリセットします。
- SET オプションはデフォルトにリセットされるため、接続を再利用しても保持されることに依存しないでください。
以上がsp_reset_connection は SQL Server 接続をどのようにリセットしますか?また、それは何に影響しませんか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。