列出SQL错误的方法?

时间:2016-02-01 06:50:34

标签: sql-server database

我想列出sql server的所有错误,我正在使用下面的方法

 USE MASTER

    GO

    SELECT * FROM SYS.MESSAGES

有没有其他方法可以做到这一点?

1 个答案:

答案 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;