kompileringsfel uppstår under processen att generera en exekveringsplan. Körtidsfel uppstår när planen genereras och exekveras.
Det enda sättet att skilja mellan de två är om en plan genereras AFAIK eller inte.
Exempel
/*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
De sista 2 ger exakt samma fel även om det ena är ett kompileringstidsfel och det andra ett körtidsfel.