SQL server 记录脚本错误日志



BEGIN TRY
BEGIN TRANSACTION

---需要执行的sql


COMMIT TRANSACTION
END TRY
BEGIN CATCH
 /***记录的错误信息*/

INSERT INTO t_s_error
(count_date,ErrorProcedure,ErrorNumber,ErrorSeverity,ErrorState,ErrorLine,ErrorMessage)
    SELECT
GETDATE(),ERROR_PROCEDURE() AS ErrorProcedure,
        ERROR_NUMBER() AS ErrorNumber,
        ERROR_SEVERITY() AS ErrorSeverity,
        ERROR_STATE() AS ErrorState,        
        ERROR_LINE() AS ErrorLine,
        ERROR_MESSAGE() AS ErrorMessage


ROLLBACK TRANSACTION


END CATCH




t_s_error 表结构为:



CREATE TABLE [dbo].[t_s_error](
[id] [int] IDENTITY(1,1) NOT NULL,
[count_date] [datetime] NULL,
[ErrorProcedure] [varchar](200) NULL,
[ErrorNumber] [int] NULL,
[ErrorSeverity] [int] NULL,
[ErrorState] [int] NULL,
[ErrorLine] [int] NULL,
[ErrorMessage] [varchar](max) NULL,
 CONSTRAINT [PK_t_s_error] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


GO


SET ANSI_PADDING OFF
GO


EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'错误时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N't_s_error', @level2type=N'COLUMN',@level2name=N'count_date'
GO


EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'错误存储过程' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N't_s_error', @level2type=N'COLUMN',@level2name=N'ErrorProcedure'
GO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值