La respuesta larga: el número de línea se cuenta a partir de la CREATE PROCEDUREdeclaración, más cualquier línea en blanco o línea de comentario que pueda haber tenido arriba cuando realmente ejecutó la CREATEdeclaración, pero sin contar las líneas antes de una GOdeclaración ...
Me pareció mucho más fácil hacer un proceso almacenado para jugar y confirmar:
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE ErrorTesting
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT 1/0
END
GO
Una vez que lo haya creado, puede cambiarlo ALTER PROCEDUREy agregar algunas líneas en blanco encima de los comentarios y arriba y debajo de la primeraGO declaración para ver el efecto.
Una cosa muy extraña que noté fue que tenía que correr EXEC ErrorTesting en una nueva ventana de consulta en lugar de resaltarla en la parte inferior de la misma ventana y ejecutar… ¡Cuando hice eso, los números de línea siguieron aumentando! No estoy seguro de por qué sucedió eso ...