1
SQL服務器:SQL服務器:如何增加錯誤日誌文件的數量通過TSQL
- 環境:龐大的(多個SQL版本,命名實例等)
如何通過T-SQL將錯誤日誌文件的數量增加到一個定義的值? 我發現的腳本只涉及默認實例,並且不檢查num的當前值。的錯誤日誌。
SQL服務器:SQL服務器:如何增加錯誤日誌文件的數量通過TSQL
如何通過T-SQL將錯誤日誌文件的數量增加到一個定義的值? 我發現的腳本只涉及默認實例,並且不檢查num的當前值。的錯誤日誌。
USE master GO EXEC sys.xp_instance_regwrite N'HKEY_LOCAL_MACHINE' ,N'Software\Microsoft\MSSQLServer\MSSQLServer' ,N'NumErrorLogs' ,REG_DWORD ,20
上面的代碼將創建20個錯誤日誌
- 我發現這種方式與所有版本的工作:
使用母 去
Declare @instance_name nvarchar(100)
Declare @system_instance_name nvarchar(100)
Declare @key nvarchar(1000)
Declare @registry_key nvarchar(100)
Declare @NBRofErrorLogs int
Declare @NewValue int
SET @NewValue = 12
Set @instance_name= coalesce(convert(nvarchar(100), serverproperty('InstanceName')),'MSSQLSERVER');
EXEC master.dbo.xp_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\Microsoft SQL Server\Instance Names\SQL', @instance_name, @system_instance_name output;
SET @registry_key = N'Software\Microsoft\Microsoft SQL Server\' + @system_instance_name + '\MSSQLServer';
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',@registry_key,@value_name='NumErrorLogs',@[email protected] OUTPUT
IF isnull(@NBRofErrorLogs,6) < @NewValue
EXECUTE [master].[sys].xp_regwrite --[xp_instance_regwrite]
@rootkey = N'HKEY_LOCAL_MACHINE'
,@key = @registry_key
,@value_name = N'NumErrorLogs'
,@type = N'REG_DWORD'
,@value = @NewValue;
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',@registry_key,@value_name='NumErrorLogs',@[email protected] OUTPUT
select @NBRofErrorLogs
與問題xp_instance_regwrite權限,因爲服務帳戶不是本地管理員。 – SQLCH