批處理是包含一個或多個 Transact-SQL 語句的組,從應用程序一次性地發送到 SQL Server 2005 進行執行。SQL Server 將批處理的語句編譯為一個可執行單元,稱為執行計劃。執行計劃中的語句每次執行一條。
編譯錯誤(如語法錯誤)可使執行計劃無法編譯。因此未執行批處理中的任何語句。
運行時錯誤(如算術溢出或違反約束)會產生以下兩種影響之一:
在遇到運行時錯誤之前執行的語句不受影響。唯一的例外是如果批處理在事務中而且錯誤導致事務回滾。在這種情況下,回滾運行時錯誤之前所進行的未提交的數據修改。
假定在批處理中有 10 條語句。如果第五條語句有一個語法錯誤,則不執行批處理中的任何語句。如果編譯了批處理,而第二條語句在執行時失敗,則第一條語句的結果不受影響,因為它已經執行。
以下規則適用於批處理:
安全性:批處理文件可能包含以純文本存儲的憑據。在批處理執行期間,憑據可能會回顯到用戶屏幕上