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

SQL Server はタイムアウトした要求に対して何をしますか?

    タイムアウトは ADO.NET によって強制されます。 SQL Server はコマンド タイムアウトなどを認識しません。 .NET クライアントは「注意」TDS コマンドを送信します。 「注意」イベントがあるため、SQL プロファイラでこの動作を確認できます。

    SQL Server がキャンセルを受け取ると、現在実行中のクエリがキャンセルされます (SSMS が停止ボタンを押したときと同じように)。バッチを中止します (SSMS と同様)。これは、catch コードを実行できないことを意味します。接続は維持されます。

    私の経験では、トランザクションはすぐにロールバックされます。ただし、これが保証されているとは思いません。

    TL;DR:ADO.NET のタイムアウトは、SSMS で停止を押した (または SqlCommand.Cancel を呼び出した) 場合と同じように動作します。 ).

    これについての参照は次のとおりです。 i-say-cancel-the/ba-p/315511">https://techcommunity.microsoft.com/t5/sql-server-support/how-it-works-attention-attention-or-should-i-say -キャンセル-the/ba-p/315511



    1. phpでコンマ区切りのmySqlデータベースフィールド値を区切ります

    2. Oracle SQLクエリのエラーの位置を取得するにはどうすればよいですか?

    3. 画像や動画を保存するのに適したデータベースはどれですか?

    4. SQLServerのネストされたトランザクション