Set-​Sql​Error​Log

Sets or resets the maximum number of error log files before they are recycled.

Syntax

Set-SqlErrorLog
   [[-Path] <String>]
   [-MaxLogCount <UInt16>]
   [-Script]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
Set-SqlErrorLog
   [[-ServerInstance] <String[]>]
   [-MaxLogCount <UInt16>]
   [-Script]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [<CommonParameters>]
Set-SqlErrorLog
   [-InputObject] <Server>
   [-MaxLogCount <UInt16>]
   [-Script]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Description

The Set-SqlErrorLog cmdlet sets or resets the maximum number of error log files before they are recycled.

This cmdlet supports the following modes of operation to set logs:

- Pass the instance of the SQL Server.

  • Specify the Path parameter of the SQL Server instance.
  • Invoke the cmdlet in a valid context.

Examples

Example 1: Set the maximum number or error logs

PS C:\> Set-SqlErrorLog -ServerInstance "MyServer\MyInstance" -MaxLogCount 11 | Out-Null

This command sets the maximum number of error log files to 11.

Example 2: Return the T-SQL script code to set the maximum number or error logs

PS C:\> Set-SqlErrorLog -ServerInstance "MyServer\MyInstance" -MaxLogCount 11 -Script
USE [master] 
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 10
GO

This command returns the T-SQL script code, as a string array, that is needed to set the maximum number of error log files to 11.

Required Parameters

-InputObject

Specifies the server object of the target instance.

Type:Server
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Optional Parameters

-ConnectionTimeout

Specifies the number of seconds to wait for a server connection before a time-out failure. The time-out value must be an integer value between 0 and 65534. If 0 is specified, connection attempts do not time out.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Credential

Specifies a PSCredential object used to specify the credentials for a SQL Server login that has permission to perform this operation.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationAction

Specifies how this cmdlet responds to an information event.The acceptable values for this parameter are:- Continue

  • Ignore
  • Inquire
  • SilentlyContinue
  • Stop
  • Suspend
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationVariable

Specifies an information variable.

Type:String
Aliases:iv
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-MaxLogCount

Specifies the maximum number of error log files. If the value is not specified, the cmdlet resets the value to the default.The allowed range of values are between 6 and 99.

Type:UInt16
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Path

Specifies the path to the instance of SQL Server on which this cmdlet runs the operation. If you do not specify a value for this parameter, the cmdlet uses the working location.

Type:String
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Script

Indicates that this cmdlet returns a Transact-SQL script that performs the task that this cmdlet performs.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ServerInstance

Specifies, as a string array, the name of an instance of SQL Server. For default instances, only specify the computer name: MyComputer. For named instances, use the format ComputerName\InstanceName.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Notes

* If the value on the server is already set to the value specified, this cmdlet does not do anything.