我已经使用这个存储过程Sys.xp_readerrorlog大约一个星期了,我学到的是它接受了7个参数来完全改进它应该如何显示它的数据。很容易理解。
我现在有一个问题,这个存储过程到底从哪里获取数据?我知道您也可以在SSMS对象浏览器中预览数据,在SQL Server日志文件夹中的管理下,虽然我已经了解到当您阅读日志时打开的对话框也使用此过程向用户显示网格。
我很困惑。我通过系统数据库进行了搜索,发现没有任何东西(没有表格)看起来像你从这个程序得到的输出
exec sys.xp_readerrorlog 1,0,'','',null,null,N'Desc';
任何可以告诉我实际日志数据存储位置的专家,如果您拥有管理员权限,是否可通过select语句查询?
答案 0 :(得分:3)
它从SQL Server error log file读取,这是一个纯文本文件。 TSQL没有内置的文件接口; xp_readerrorlog是众所周知的,但它也没有文档,所以依赖它是有风险的,当然如果你不介意这种风险你可以use it。
使用SMO,您可以找到文件location,但没有特殊的API可供阅读,因为它只是一个文本文件。