Set-SqlErrorLog

Define ou redefine o número máximo de arquivos de log de erros antes que eles sejam reciclados.

Sintaxe

Set-SqlErrorLog
   [-MaxLogCount <UInt16>]
   [-ErrorLogSizeKb <Int32>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Set-SqlErrorLog
   [[-ServerInstance] <String[]>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-MaxLogCount <UInt16>]
   [-ErrorLogSizeKb <Int32>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Set-SqlErrorLog
   [-MaxLogCount <UInt16>]
   [-ErrorLogSizeKb <Int32>]
   [-InputObject] <Server>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

Description

O cmdlet Set-SqlErrorLog define ou redefine o número máximo de arquivos de log de erros antes de serem reciclados.

Esse cmdlet dá suporte aos seguintes modos de operação para definir logs:

  • Passe a instância do SQL Server.
  • Especifique o parâmetro Path da instância do SQL Server.
  • Invoque o cmdlet em um contexto válido.

Exemplos

Exemplo 1: Definir o número máximo ou os logs de erros

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

Esse comando define o número máximo de arquivos de log de erros como 11.

Exemplo 2: retornar o código de script TSQL para definir o número máximo ou logs de erro

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, 11
GO

Esse comando retorna o código de script T-SQL, como uma matriz de cadeia de caracteres, necessário para definir o número máximo de arquivos de log de erros como 11.

Parâmetros

-AccessToken

O token de acesso usado para autenticar no SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.

Isso pode ser usado, por exemplo, para se conectar a SQL Azure DB e SQL Azure Managed Instance usando um Service Principal ou um Managed Identity.

O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um objeto PSAccessToken conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

Esse parâmetro é novo na v22 do módulo.

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ConnectionTimeout

Especifica o número de segundos para aguardar uma conexão de servidor antes de uma falha de tempo limite. O valor de tempo limite deve ser um valor inteiro entre 0 e 65534. Se 0 for especificado, as tentativas de conexão não chegarão ao tempo limite.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Especifica um objeto PSCredential usado para especificar as credenciais de um logon do SQL Server que tenha permissão para executar essa operação.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Encrypt

O tipo de criptografia a ser usado ao se conectar ao SQL Server.

Esse valor é mapeado para a propriedade EncryptSqlConnectionEncryptOption no objeto SqlConnection do driver Microsoft.Data.SqlClient.

Na v22 do módulo, o padrão é Optional (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração significativa para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

Tipo:String
Valores aceitos:Mandatory, Optional, Strict
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ErrorLogSizeKb

Especifica o limite de tamanho do arquivo de log de erros da instância SQL em quilo bytes.

O intervalo válido é de 0 a Int32.MaxValue.

Se o usuário não especificar esse parâmetro, o ErrorLogSizeKb permanecerá inalterado. O valor padrão para a instância do SQL é 0.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-HostNameInCertificate

O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se a instância do SQL Server estiver habilitada para o Force Encryption e quiser se conectar a uma instância usando nome de host/nome curto. Se esse parâmetro for omitido, passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance será necessário para se conectar a uma instância do SQL Server habilitada para o Force Encryption.

Esse parâmetro é novo na v22 do módulo.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifica o objeto de servidor da instância de destino.

Tipo:Server
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-MaxLogCount

Especifica o número máximo de arquivos de log de erros. Se o valor não for especificado, o cmdlet redefinirá o valor para o padrão.

O intervalo permitido de valores está entre 6 e 99.

Tipo:UInt16
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifica o caminho para a instância do SQL Server na qual esse cmdlet executa a operação. Se você não especificar um valor para esse parâmetro, o cmdlet usará o local de trabalho.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ProgressAction

Determina como o PowerShell responde às atualizações de progresso geradas por um script, cmdlet ou provedor, como as barras de progresso geradas pelo cmdlet Write-Progress. O cmdlet Write-Progress cria barras de progresso que mostram o status de um comando.

Tipo:ActionPreference
Aliases:proga
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Script

Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa executada por esse cmdlet.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ServerInstance

Especifica, como uma matriz de cadeia de caracteres, o nome de uma instância do SQL Server. Para instâncias padrão, especifique apenas o nome do computador: MyComputer. Para instâncias nomeadas, use o formato MyComputer\MyInstanceName.

Tipo:String[]
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-TrustServerCertificate

Indica se o canal será criptografado ao ignorar a cadeia de certificados para validar a confiança.

Na v22 do módulo, o padrão é $true (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração significativa para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

System.String[]

Microsoft.SqlServer.Management.Smo.Server

Observações

Se o valor no servidor já estiver definido como o valor especificado, esse cmdlet não fará nada.