Template Script: System Proc\sp_ErrorHandler.sql

USE MASTER
GO
IF OBJECT_ID('sp_ErrorHandler') IS NULL
    EXEC('CREATE PROCEDURE sp_ErrorHandler AS SELECT 1 AS ID')
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE sp_ErrorHandler
    @ErrorNumber INT = NULL OUTPUT,
    @ErrorSeverity INT = NULL OUTPUT,
    @ErrorState INT = NULL OUTPUT,
    @ErrorProcedure VARCHAR(256) = NULL OUTPUT,
    @ErrorLine INT = NULL OUTPUT,
    @ErrorMessage VARCHAR(8000) = NULL OUTPUT,
    @FullErrorMessage VARCHAR(MAX) = NULL OUTPUT,
    @RaiseError BIT = 0,
    @PrintError BIT = 0
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

SELECT  @ErrorNumber = ERROR_NUMBER(),
        @ErrorSeverity = ERROR_SEVERITY(),
        @ErrorState = ERROR_STATE(),
        @ErrorProcedure = ERROR_PROCEDURE(),
        @ErrorLine = ERROR_LINE(),
        @ErrorMessage = ERROR_MESSAGE(),
        @FullErrorMessage = 'Msg ' + ISNULL(CAST(@ErrorNumber AS VARCHAR), 'N/A') + ', Level '
        + ISNULL(CAST(@ErrorSeverity AS VARCHAR), 'N/A') + ', State ' + ISNULL(CAST(@ErrorState AS VARCHAR), 'N/A')
        + ', Line ' + ISNULL(CAST(@ErrorLine AS VARCHAR), 'N/A') + ISNULL(', Procedure ' + @ErrorProcedure, '')
        + ISNULL('
'
 + @ErrorMessage, '')

IF @PrintError = 1
    PRINT @FullErrorMessage

IF @RaiseError = 1
    AND @ErrorNumber IS NOT NULL
    RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState)

RETURN 0
GO
EXEC sys.sp_ms_marksystemobject
    sp_ErrorHandler
GO

Description for Template Script: System Proc\sp_ErrorHandler.sql

Todo
Site Map | Printable View | © 2008 - 2012 NuRoN Consulting, INC | Powered by mojoPortal | HTML 5 | CSS | Original design by Andreas Viklund
Share This Using Popular Bookmarking Services