SQL Server スクリプトの実行を中断するための戦略
SQL Server スクリプトの実行途中での停止は、特に検証操作やデータ検索操作中に必要になることがよくあります。 これを達成するための効果的な方法は次のとおりです:
1. raiserror
アプローチ:
raiserror
ステートメントは、スクリプトの実行を停止する強力な方法を提供します。 次の構文を使用します:
raiserror('Critical error encountered', 20, -1) with log
重大度レベルを 20 (またはそれ以上) に設定し、WITH LOG
を含めると、スクリプトが終了し、SQL Server ログにエラーが記録されます。
2. noexec
オプションの活用:
このメソッドは、GO
ステートメントと連携して機能します。 noexec on
を設定すると、後続のコマンドが実行されなくなります。実行を再開する前に、必ず noexec
をオフにしてください。
両方の方法を組み合わせた例:
print 'Starting script execution...' go print 'Fatal error detected, script will terminate!' -- Method 1: Raiserror raiserror('Critical error encountered', 20, -1) with log -- Method 2: Noexec set noexec on print 'This message will not be printed.' go -- Re-enable execution (necessary in SSMS for script re-run) set noexec off
重要な考慮事項:
raiserror
は管理者権限を必要とし、データベース接続を閉じます。noexec
は接続を閉じませんが、実行を明示的に再度有効にする必要があります。sqlcmd.exe
から実行すると、2745 終了コードがスクリプトの終了を示します。以上が検証または検索プロセス中に SQL Server スクリプトの実行を効果的に停止するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。