Compartilhar via


Get-SqlErrorLog

Obtém os logs de erros do SQL Server.

Sintaxe

ByPath (Padrão)

Get-SqlErrorLog
    [[-Path] <String[]>]
    [-Timespan <TimeSpan>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Since <SinceType>]
    [-Ascending]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

ByName

Get-SqlErrorLog
    [[-ServerInstance] <String[]>]
    [-Timespan <TimeSpan>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Since <SinceType>]
    [-Ascending]
    [-Credential <PSCredential>]
    [-ConnectionTimeout <Int32>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

ByObject

Get-SqlErrorLog
    [-InputObject] <Server[]>
    [-Timespan <TimeSpan>]
    [-Before <DateTime>]
    [-After <DateTime>]
    [-Since <SinceType>]
    [-Ascending]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

Description

O cmdlet Get-SqlErrorLog obtém os logs de erros do SQL Server.

Esse cmdlet dá suporte aos seguintes modos de operação para obter um log de erros:

  • 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: Obter todos os logs gerados em um período de tempo específico que tenha uma palavra de pesquisa

PS C:\> CD SQLSERVER:\SQL\MyServer\MyInstance
PS SQLSERVER:\SQL\MyServer\MyInstance> Get-SqlErrorLog -Since Yesterday  | Where-Object { $_.Text -match 'Error' } | Format-Table

Date                 Source Text                                  ArchiveNo ServerInstance
----                 ------ ----                                  --------- --------------
6/16/2016 6:04:20 PM Logon  Error: 17828, Severity: 20, State: 4.         0 MyServer\MyInstance

O primeiro comando altera o diretório para a instância do SQL Server.

Exemplo 2: Obter todos os logs gerados em um período de tempo específico

PS C:\> CD SQLSERVER:\SQL\MyServer\MyInstance
PS SQLSERVER:\SQL\MyServer\MyInstance> Get-SqlErrorLog -Timespan '05:30:00' | Format-Table

Date                  Source  Text
----                  ------  ----
6/17/2016 12:00:00 AM spid26s This instance of SQL Server has been using a process ID of 21520 since 6/10/2016 3:56:...
6/16/2016 6:04:20 PM  Logon   The prelogin packet used to open the connection is structurally invalid; the connectio...
6/16/2016 6:04:20 PM  Logon   Error: 17828, Severity: 20, State: 4.

O primeiro comando altera o diretório para a instância do SQL Server.

Exemplo 3: Obter todos os logs gerados em um período de tempo específico classificado crescente e agrupado

PS C:\> CD SQLSERVER:\SQL\MyServer
PS SQLSERVER:\SQL\MyServer> ls | Get-SqlErrorLog -After '2016-05-10' -Before '2016-06-18' -Ascending | ? { $_.Text -match 'Login failed' } | Group-Object -Property ServerInstance

Count Name                      Group
----- ----                      -----
    1 MyServer                  {{ Date = 6/17/2016 2:00:04 AM, Source = Logon, Text = Login failed for user ...
    2 MyServer\INST1            {{ Date = 6/10/2016 3:58:46 PM, Source = Logon, Text = Login failed for user

O primeiro comando altera o diretório para a instância do SQL Server.

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 SQL Azure DB e SQL Azure Managed Instance usar 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 PSAccessToken objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

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

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-After

Especifica que esse cmdlet só obtém logs de erro gerados após o tempo determinado.

Se você especificar o parâmetro Before, esse cmdlet obterá todos os logs de erro gerados antes do especificado.

Não especifique esse parâmetro se você pretende usar os parâmetros Since ou Timespan.

O formato é definido de acordo com as regras de .Net System.DataTime.Parse().

Propriedades do parâmetro

Tipo:DateTime
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Ascending

Indica que o cmdlet classifica a coleção de logs de erros pela data de log em ordem crescente. Se você não especificar esse parâmetro, o cmdlet classificará os logs de erro em ordem decrescente.

Quando esse cmdlet obtém logs de erro várias fontes, a classificação é aplicada a todos os logs de erros da mesma origem. Os logs obtidos por esse cmdlet são agrupados pela origem primeiro e, em seguida, classificados por data de log.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Before

Especifica que esse cmdlet só obtém logs de erro gerados antes do horário determinado.

Se o parâmetro After for especificado, o cmdlet será padrão até agora, o que significa que o cmdlet obtém todos os logs de erro gerados após o que você especificou para esse parâmetro até o momento atual.

Não especifique um valor para esse parâmetro se você pretende usar os parâmetros Since ou Timespan. O formato é definido de acordo com as regras de .Net System.Datatime.Parse().

Propriedades do parâmetro

Tipo:DateTime
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 inteiro entre 0 e 65534. Se 0 for especificado, as tentativas de conexão não chegarão ao tempo limite.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByName
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:PSCredential
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByName
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Encrypt

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

Esse valor é mapeado para a Encrypt propriedade SqlConnectionEncryptOption 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.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Valores aceitos:Mandatory, Optional, Strict
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InputObject

Especifica o objeto de servidor, como uma matriz, da instância de destino da qual esse cmdlet obtém os logs.

Propriedades do parâmetro

Tipo:

Server[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByObject
Cargo:1
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Path

Especifica o caminho, como uma matriz, 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 atual.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByPath
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ServerInstance

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

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByName
Cargo:1
Obrigatório:False
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Since

Especifica uma abreviação para o parâmetro Timespan.

Não especifique esse parâmetro se você pretende usar o parâmetro Depois ou Antes.

Os valores aceitáveis para este parâmetro são:

  • Meia-noite (obtém todos os logs gerados após a meia-noite)
  • Ontem (obtém todos os logs gerados nas últimas 24 horas).
  • LastWeek (obtém todos os logs gerados na última semana)
  • LastMonth (obtém todos os logs gerados no último mês)

Propriedades do parâmetro

Tipo:SinceType
Valor padrão:None
Valores aceitos:Midnight, Yesterday, LastWeek, LastMonth
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Timespan

Especifica um objeto TimeSpan que esse cmdlet filtra dos logs de erro que estão fora do período de tempo.

O formato desse parâmetro é d.HH:mm:ss.

Esse parâmetro será ignorado se você usar os parâmetros Since, After ou Before.

Propriedades do parâmetro

Tipo:TimeSpan
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

System.String

Microsoft.SqlServer.Management.Smo.Server