lỗi biên dịch xảy ra trong quá trình tạo kế hoạch thực thi. Lỗi thời gian chạy xảy ra khi kế hoạch được tạo và đang được thực thi.
Cách duy nhất để phân biệt giữa hai điều này là liệu một kế hoạch có được tạo AFAIK hay không.
Ví dụ
/*Parse Error*/
SELEC * FROM master..spt_values
GO
/*Bind Error*/
SELECT * FROM master..spt_values_
GO
/*Compile time - constant folding error*/
SELECT LOG(0)
FROM master..spt_values
GO
/*Runtime Error*/
DECLARE @Val int = 0
SELECT LOG(@Val)
FROM master..spt_values
2 lỗi cuối cùng phát sinh chính xác cùng một lỗi mặc dù một lỗi là lỗi thời gian biên dịch và lỗi còn lại là lỗi thời gian chạy.