我想列出sql server的所有错误,我正在使用下面的方法
USE MASTER
GO
SELECT * FROM SYS.MESSAGES
有没有其他方法可以做到这一点?
答案 0 :(得分:0)
如果您的数据库中有存储过程和触发器,那么您可以使用如下所示的异常处理创建一个单独的表来捕获错误。
CREATE PROCEDURE Prc_procedurename
AS
BEGIN
BEGIN try
PRINT 'enter your code here'
END try
BEGIN catch
INSERT INTO ERROR_LOG
([DBname],
[ProcedureName],
[ErrorNumber],
[ErrorLine],
[ErrorMessage])
SELECT Db_name(),
CONVERT(NVARCHAR(300), Object_name(@@PROCID)),
CONVERT(NVARCHAR(15), Error_number()),
CONVERT(NVARCHAR(10), Error_line()),
Error_message()
END catch
END
或者您只需要获取错误列表然后使用此
SELECT message_id,
severity,
text
FROM sys.messages
WHERE language_id = 1033;