合 使用sp_readerrorlog读取SQL Server错误日志或代理错误日志
Tags: MSSQLSQL Serversp_readerrorlog错误日志
错误日志简介
查看 SQL Server 错误日志可以确保进程(如备份和还原操作、批处理命令或其他脚本和进程)成功完成。 此功能可用于帮助检测任何当前或潜在的问题领域,包括自动恢复消息(尤其是在 SQL Server 实例已停止并重启时)、内核消息或其他服务器级错误消息。
使用 SQL Server Management Studio 或任何文本编辑器查看 SQL Server 错误日志。 有关如何查看错误日志的详细信息,请参阅 Open Log File Viewer。 默认情况下,错误日志位于 Program Files\Microsoft SQL Server\MSSQL.
n\MSSQL\LOG\ERRORLOG
和 ERRORLOG.
n 文件中。
每当启动 SQL Server 实例时,将创建新的错误日志,虽然 sp_cycle_errorlog 系统存储过程可用于循环使用错误日志文件,而不必重启 SQL Server 实例。 通常,SQL Server 保留前六个日志的备份,并指定最近日志备份的扩展名为 .1、下一个最近日志备份的扩展名为 .2,依次类推。 当前的错误日志没有扩展名。
请注意,还可以查看脱机或无法启动的 SQL Server 实例上的 SQL Server 错误日志。 有关详细信息,请参阅 查看脱机日志文件。
sp_readerrorlog简介
sp_readerrorlog 允许读取 SQL Server 的内容或SQL Server 代理错误日志文件,并筛选关键字 (keyword)。
语法
1 2 3 4 5 | sp_readerrorlog @p1 int = 0, @p2 int = NULL, @p3 nvarchar(4000) = NULL, @p4 nvarchar(4000) = NULL |
参数
[@p1 = ]“log_number”
要查看的日志的整数 (int) 值。 当前错误日志的值为 0,上一个值为 1(Errorlog.1),前一个为 2(Errorlog.2),依此等。
[@p2 = ]“product ID”
要查看其日志的产品的整数 (int) 值。 将 1 用于 SQL Server 或 2 SQL Server 代理。 如果未指定值,则使用 SQL Server 产品
[@p3 = ]“string_to_search”
查看错误日志时要筛选的字符串值的字符串值。 此值为 nvarchar(4000), 默认值为 NULL。
[@p4 = ]“string_to_search”
要筛选的其他字符串的字符串值,以便在查看错误日志时进一步优化搜索。 此值为 nvarchar(4000), 默认值为 NULL。 这为第一个字符串搜索 @p3提供了额外的筛选器。
返回代码值
无返回代码
结果集
显示请求的错误日志的内容。 如果仅使用筛选器字符串,则显示与这些字符串匹配的行。
注解
每次启动 SQL Server 时,当前错误日志都会重命名为 errorlog.1; errorlog.1 变为 errorlog.2、errorlog.2 变为 errorlog.3 等。 sp_readerrorlog使你能够读取这些错误日志文件中的任何一个,只要文件存在。