Existe uma maneira de consultar o SQL Server 2005+ para obter a localização do sistema de arquivos de seus vários arquivos de log. Com isso, quero dizer os arquivos de log de texto, não os arquivos de log de transações do banco de dados?
Por exemplo, meu SQL Agent, logs de erros e planos de manutenção são gravados em uma pasta chamada:
D:\MSSQLData\MSSQL.1\MSSQL\LOG
É desta pasta que preciso encontrar o nome.
Atualizada:
Além de caçar SQL Books, dei uma olhada no registro em
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
e
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER`
mas nada salta para mim.
Eu também gostaria de uma maneira "oficial" de conseguir isso e prefiro não confiar em recursos não documentados.
EDIT: Limpei um pouco com um pouco mais de pesquisa no Google para verificar; Observe também que esse argumento específico "ErrorLogFileName" para a função SERVERPROPERTY não é documentado e, portanto, não é suportado pela Microsoft. Use por sua conta e risco. etc etc.
Se você tiver o Powershell, isso será feito para você. Se você tiver o SSMS 2005 instalado, poderá executá-lo como está após substituir "YourServerNameHere". Se você estiver executando o SSMS 2008, exclua a primeira linha e remova o comentário da segunda.
Depois de analisar um de nossos logs de rastreamento em segundo plano do SQL Server 2008, notei que eles invariavelmente existem na mesma pasta que os arquivos de log.
Então, posso usar esta consulta para me aproximar o suficiente: