Как я могу получить SQL Server 2008r2, чтобы показать мне ошибки? - PullRequest
22 голосов
/ 03 декабря 2010

Я выполняю скрипт вставки, который должен вставить 13,381 строк в пустую БД из SSMS. Он говорит мой «Запрос завершен с ошибками» и вставляет только 13357 строк.

Ничего не отображается в списке ошибок. Как мне найти ошибки в скрипте?

Спасибо!

1 Ответ

35 голосов
/ 03 декабря 2010

попробуйте это:

begin try

    --your inserts here

end try
begin catch
    --returns the complete original error message as a result set
    SELECT 
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage

    --will return the complete original error message as an error message
    DECLARE @ErrorMessage nvarchar(400), @ErrorNumber int, @ErrorSeverity int, @ErrorState int, @ErrorLine int
    SELECT @ErrorMessage = N'Error %d, Line %d, Message: '+ERROR_MESSAGE(),@ErrorNumber = ERROR_NUMBER(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE(),@ErrorLine = ERROR_LINE()
    RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState, @ErrorNumber,@ErrorLine)
end catch
...