3

sql-serverは無限ループをどのように処理しますか?それを検出しますか、それともサーバーを強制終了しますか。

例えば:

WHILE (@number = 3)
BEGIN
    print @number
END
4

2 に答える 2

6

これは、クライアントコマンドのタイムアウトによって異なります。

デフォルトでは、.netアプリは30秒で中止され、SSMSは永久に待機します(タイムアウト=ゼロ)

SQL Serverエンジン自体には、「OK、もう十分だ」という概念はありません。

于 2009-11-24T10:59:32.917 に答える
1

試してみてください:)いいえ、それらは検出されません。単に長時間実行されるトランザクションとして扱われます。

また、どんな種類のループも本当に悪いSQLコーディング慣行の兆候です

于 2009-11-24T11:00:34.633 に答える