我有一种方法可以查询 SQL Server 2005+ 的各种日志文件的文件系统位置。我的意思是文本日志文件,而不是数据库事务日志文件?
例如,我的 SQL 代理、错误日志和维护计划都写入一个名为:
D:\MSSQLData\MSSQL.1\MSSQL\LOG
这是我需要找到名称的文件夹。
更新:
除了寻找 SQL 书籍外,我还浏览了下注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
和
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER`
但我什么也没想到。
我也想要一种“官方”方式来实现这一点,而不是依赖于未记录的功能。
编辑:用更多的谷歌搜索来验证一下它;另请注意,SERVERPROPERTY 函数的这个特定参数“ErrorLogFileName”未记录,因此不受 Microsoft 支持。使用风险自负。等等等等
如果你有 Powershell,这将为你获取它。如果您安装了 SSMS 2005,则可以在替换“YourServerNameHere”后按原样运行它。如果您运行的是 SSMS 2008,请删除第一行并取消注释第二行。
在不得不分析我们的一个 SQL Server 2008 后台跟踪日志后,我注意到这些日志文件总是存在于同一文件夹中。
所以我可以使用这个查询来让我足够接近: