检索已配置的值SQL错误日志

时间:2011-09-08 12:39:22

标签: sql sql-server sql-server-2005

enter image description here

我想使用SQL Query检索最大错误日志文件值。

2 个答案:

答案 0 :(得分:2)

从运行SQL Server Profiler并跟踪调用,这就是SSMS所做的事情。

declare @NumErrorLogs int
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', 
                            N'Software\Microsoft\MSSQLServer\MSSQLServer',
                            N'NumErrorLogs', 
                            @NumErrorLogs OUTPUT
SELECT @NumErrorLogs

答案 1 :(得分:2)

Sql错误日志文件数设置存储在Windows注册表“[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS_ADV \ MSSQLServer] \ NumErrorLogs”

可以使用以下sql(来自sql profiler)检索它。

 use master
    declare @HkeyLocal nvarchar(18)
    declare @MSSqlServerRegPath nvarchar(31)
    declare @InstanceRegPath sysname
    select @HkeyLocal=N'HKEY_LOCAL_MACHINE'
    select @MSSqlServerRegPath=N'SOFTWARE\Microsoft\MSSQLServer'
    select @InstanceRegPath=@MSSqlServerRegPath + N'\MSSQLServer'
    declare @NumErrorLogs int
    exec master.dbo.xp_instance_regread @HkeyLocal, @InstanceRegPath, N'NumErrorLogs', @NumErrorLogs OUTPUT
    SELECT
    ISNULL(@NumErrorLogs, -1) AS [NumberOfLogFiles]