[解決済み] Sql Server Profiler の "exec sp_reset_connection" はどういう意味ですか?[重複している]。
質問
Sql Profiler が "sp_reset_connection" を出力することの意味を理解しようとしています。
私は次の、"exec sp_reset_connection" 行に続いて、BatchStarting と Completed があります。
RPC:Completed exec sp_reset_connection
SQL:BatchStarting SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
SQL:BatchCompleted SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
基本的に、最初の行 "exec sp_reset_connection" は、すべてのプロセス(接続が開かれ、select stmt が実行され、接続が閉じられプールに戻される)が行われたことを意味しますか。 それとも、私の接続はまだ開いたままなのでしょうか?
そして、なぜsp_reset_connectionは私のselect文の前に実行されるのでしょうか?
接続がいつ開かれ、いつ閉じられたかをもっと詳しく知る方法はないのでしょうか?
exec sp_reset_connection" を見るということは、接続が終了したということでしょうか?
解決方法は?
他の回答にもあるように
sp_reset_connection
は、接続プールが再利用されていることを示します。ある特定の結果に注意してください
ジミー・メイズのMSDNブログ は言った。
sp_reset_connectionは、次のようにリセットしません。 トランザクション分離レベルを サーバーのデフォルトであり、以前の 接続の設定です。
アップデイト : SQL 2014 から、TDS バージョン 7.3 以降のクライアントドライバーでは、トランザクション分離レベルはデフォルトにリセットされます。
を参照してください。 SQL Server プールされた接続での分離レベルのリーク
以下は追加情報です。
ODBCのようなデータアクセスAPIのレイヤー。 OLE-DB、System.Data.SqlClientはすべて は、(内部)ストアドプロシージャ sp_reset_connectionを再利用する場合。 接続プールからの接続 これは の状態をリセットするために行います。 接続が再利用される前に しかし、どのような がリセットされます。この記事では の部分を文書化する。 接続がリセットされます。
sp_reset_connection は、次のようにリセットします。 接続の以下の側面。
すべてのエラーの状態および番号 (@@error のような)
すべてのEC(実行コンテキスト)を停止する。 親ECの子スレッドである 並列クエリを実行している
未処理のI/Oを待ちます。 を実行します。
に保持されているバッファを解放する。 接続によってサーバーに
バッファリソースのロックを解除する 接続によって使用される
割り当てられたすべてのメモリ 接続が所有する
作業用または一時的な によって作成されるテーブルを 接続
が所有するすべてのグローバルカーソルを削除します。 接続
開いている SQL-XML ハンドルをすべて閉じる
開いている SQL-XML 関連ワークテーブルをすべて削除します。
すべてのシステムテーブルをクローズする
すべてのユーザーテーブルを閉じる
すべてのテンポラリオブジェクトを削除します。
開いているトランザクションを中止する
分散処理されたトランザクションの不具合(エンリステッド時
参照回数を減らす 現在のデータベースのユーザーに対して データベースの共有ロックを解放する
取得したロックの解放
取得したハンドルの解放
すべてのSETオプションをデフォルト値にリセットする
行数の値をリセットする
ID 値をリセットする
セッションレベルのトレース オプションは、dbcc traceon()を使用します。
CONTEXT_INFO をリセットします。
NULL
SQL Server 2005 以降の場合 <サブ [ 元記事の一部ではありません ]。sp_reset_connection はリセットされません。
セキュリティコンテキスト、その理由は コネクションプーリングは 正確な接続文字列に基づいて
を使用して入力したアプリケーションロール sp_setapprole SQL Server 2005 以前には、アプリケーションのロールを元に戻すことができなかったからです。SQL Server 2005 以降、アプリケーションのロールは元に戻すことができますが、セッションの一部ではない追加情報のみが必要となります。接続を閉じる前に、アプリケーションのロールを手動で戻すには sp_unsetapprole のときに取得される "cookie" 値を使用しています。
sp_setapprole
が実行される。
注:このリストは、常に移り変わるウェブの中で失われてほしくないので、ここに載せています。
関連
-
[解決済み] T-SQL XOR 演算子
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み] クラスター化インデックスと非クラスター化インデックスの実際の意味は何ですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SQL Server データベース復元エラー:指定されたキャストは有効ではありません。(SqlManagerUI)
-
[解決済み] sql文の角括弧[]の使い方を教えてください。
-
[解決済み] SSISで新しいレコードを挿入する前に、宛先テーブルを空にするにはどうすればよいですか?
-
[解決済み] T-SQL XOR 演算子
-
[解決済み] リンクサーバーとしてローカルデータベースを使用する場合、「Deferred prepare could not be completed」エラーが発生する。
-
[解決済み] ミリタリータイムを使用するDatetimeフィールド - 標準時間のみが必要です。
-
[解決済み] BCP - IDENTITY列を持つテーブルにインポートする際、キャスト指定に無効な文字値がある。
-
[解決済み] SQL ServerでCreateステートメントを使用してtempテーブルを作成する方法は?
-
[解決済み] 文字列から特定の文字を削除する
-
[解決済み] データベース内の全テーブルのサイズを取得する