sql >> データベース >  >> RDS >> Sqlserver

SQL ServerProfilerでのexecsp_reset_connectionはどういう意味ですか?

    他の回答が言ったように、sp_reset_connection 接続プールが再利用されていることを示します。 1つの特定の結果に注意してください!

    ジミーメイズのMSDNブログ 言った:

    sp_reset_connectionは、トランザクション分離レベルを以前の接続の設定からサーバーのデフォルトにリセットしません。

    更新 :SQL 2014以降、TDSバージョン7.3以降のクライアントドライバーの場合、トランザクション分離レベルはデフォルトにリセットされます。

    参照:SQL Server:プールされた接続間での分離レベルのリーク

    追加情報は次のとおりです。

    sp_reset_connectionは何をしますか?

    ODBC、OLE-DB、System.Data.SqlClientなどのデータアクセスAPIのレイヤーはすべて、接続プールからの接続を再利用するときに、(内部の)ストアドプロシージャp_reset_connectionを呼び出します。これは、接続が再利用される前に接続の状態をリセットするために行われますが、何がリセットされるかはどこにも文書化されていません。この記事では、接続のリセットされる部分を文書化しようとしています。

    sp_reset_connectionは、接続の次の側面をリセットします:

    • すべてのエラー状態と数値(@@ errorなど)

    • 並列クエリを実行する親ECの子スレッドであるすべてのEC(実行コンテキスト)を停止します

    • 未処理の未処理のI/O操作を待機します

    • 接続によってサーバー上に保持されているバッファーを解放します

    • 接続で使用されているバッファリソースのロックを解除します

    • 接続によって所有されている割り当てられたすべてのメモリを解放します

    • 接続によって作成されたすべての作業または一時テーブルをクリアします

    • 接続が所有するすべてのグローバルカーソルを強制終了します

    • 開いているSQL-XMLハンドルをすべて閉じます

    • 開いているSQL-XML関連の作業テーブルをすべて削除します

    • すべてのシステムテーブルを閉じます

    • すべてのユーザーテーブルを閉じます

    • すべての一時オブジェクトを削除します

    • オープントランザクションを中止します

    • 参加時の分散トランザクションの欠陥

    • 共有データベースロックを解放する現在のデータベースのユーザーの参照数を減らします

    • 取得したロックを解放します

    • 取得したハンドルを解放します

    • すべてのSETオプションをデフォルト値にリセットします

    • @@rowcount値をリセットします

    • @@identity値をリセットします

    • dbcc traceon()

      を使用してセッションレベルのtraceoptionsをリセットします
    • CONTEXT_INFOをNULLにリセットします SQLServer2005以降の[元の記事の一部ではありません]

    sp_reset_connectionはリセットされません:

    • セキュリティコンテキスト。これが、接続プーリングが正確な接続文字列に基づいて接続と一致する理由です

    • SQL Server 2005より前のアプリケーションロールはまったく元に戻せなかったため、sp_setapproleを使用して入力されたアプリケーションロール。SQLServer2005以降、アプリケーションロールは元に戻すことができますが、セッションの一部ではない追加情報を使用する必要があります。接続を閉じる前に、sp_setapproleのときにキャプチャされる「cookie」値を使用して、sp_unsetapproleを介してアプリケーションの役割を手動で元に戻す必要があります。 実行されます。

    注:一時的なウェブでリストが失われることを望まないため、ここにリストを含めています。



    1. JSON配列内の要素を検索するためのインデックス

    2. MacでMySqlを使用する方法

    3. jQuery UIソート可能、次にデータベースに順序を書き込む

    4. OracleDBで外部キーとそれらが参照するテーブルのリスト