Sql-Server
有沒有辦法查詢 SQL Server 2005/2008 的日誌文件位置?
我有一種方法可以查詢 SQL Server 2005+ 的各種日誌文件的文件系統位置。我的意思是文本日誌文件,而不是數據庫事務日誌文件?
例如,我的 SQL 代理、錯誤日誌和維護計劃都寫入一個名為:
D:\MSSQLData\MSSQL.1\MSSQL\LOG
這是我需要找到名稱的文件夾。
更新:
除了尋找 SQL 書籍外,我還瀏覽了以下系統資料庫
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
和
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER`
但我什麼也沒有。
我也想要一種“官方”的方式來實現這一點,並且寧願不依賴未記錄的功能。
SELECT REPLACE(CAST(SERVERPROPERTY('ErrorLogFileName') AS nvarchar(512)), 'ERRORLOG', '')
編輯:用更多的Google搜尋來驗證它。另請注意,SERVERPROPERTY 函式的此特定參數“ErrorLogFileName”未記錄,因此不受 Microsoft 支持。使用風險自負。等等等等
如果您有 Powershell,它將為您提供。如果您安裝了 SSMS 2005,您可以在替換“YourServerNameHere”後按原樣執行它。如果您正在執行 SSMS 2008,請刪除第一行並取消註釋第二行。
Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" -EA Stop #Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" -EA Stop $srvObj = new-object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList "YourServerNameHere" $srvObj.ErrorLogPath