Partager via


Get-SqlErrorLog

Obtient les journaux d’erreurs SQL Server.

Syntaxe

ByPath (Par défaut)

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

L’applet de commande Get-SqlErrorLog obtient les journaux des erreurs SQL Server.

Cette applet de commande prend en charge les modes d’opération suivants pour obtenir un journal des erreurs :

  • Transmettez l’instance de SQL Server.
  • Spécifiez le paramètre Path de l’instance SQL Server.
  • Appelez l’applet de commande dans un contexte valide.

Exemples

Exemple 1 : Obtenir tous les journaux générés dans un délai spécifique qui ont un mot de recherche

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

La première commande remplace le répertoire par l’instance SQL Server.

Exemple 2 : Obtenir tous les journaux générés dans un délai spécifique

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.

La première commande remplace le répertoire par l’instance SQL Server.

Exemple 3 : Obtenir tous les journaux générés dans un intervalle de temps spécifique trié par ordre croissant et groupé

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

La première commande remplace le répertoire par l’instance SQL Server.

Paramètres

-AccessToken

Jeton d’accès utilisé pour s’authentifier auprès de SQL Server, comme alternative à l’authentification utilisateur/mot de passe ou Windows.

Cela peut être utilisé, par exemple, pour se connecter à SQL Azure DBSQL Azure Managed Instance un Service Principal ou un Managed Identity.

Le paramètre à utiliser peut être une chaîne représentant le jeton ou un PSAccessToken objet tel qu’il est retourné en exécutant Get-AzAccessToken -ResourceUrl https://database.windows.net.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:PSObject
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-After

Spécifie que cette applet de commande obtient uniquement les journaux d’erreur générés après le temps donné.

Si vous spécifiez le paramètre Before, cette applet de commande obtient tous les journaux d’erreur générés avant le paramètre spécifié.

Ne spécifiez pas ce paramètre si vous envisagez d’utiliser les paramètres Since ou Timespan.

Le format est défini conformément aux règles de .Net System.DataTime.Parse().

Propriétés du paramètre

Type:DateTime
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Ascending

Indique que l’applet de commande trie la collection de journaux d’erreurs par date de journal dans l’ordre croissant. Si vous ne spécifiez pas ce paramètre, l’applet de commande trie les journaux d’erreurs dans l’ordre décroissant.

Lorsque cette applet de commande obtient les journaux d’erreurs plusieurs sources, le tri est appliqué à tous les journaux d’erreurs de la même source. Les journaux d’activité de cette applet de commande sont regroupés par source, puis triés par date de journal.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Before

Spécifie que cette applet de commande obtient uniquement les journaux d’erreurs générés avant l’heure donnée.

Si le paramètre After est spécifié, l’applet de commande est définie par défaut maintenant, ce qui signifie que l’applet de commande obtient tous les journaux d’erreurs générés après ce que vous avez spécifié pour ce paramètre jusqu’à l’heure actuelle.

Ne spécifiez pas de valeur pour ce paramètre si vous envisagez d’utiliser les paramètres Since ou Timespan. Le format est défini en fonction des règles de .Net System.Datatime.Parse().

Propriétés du paramètre

Type:DateTime
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ConnectionTimeout

Spécifie le nombre de secondes à attendre pour une connexion serveur avant une défaillance de délai d’attente. La valeur de délai d’attente doit être un entier compris entre 0 et 65534. Si 0 est spécifié, les tentatives de connexion n’expirent pas.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByName
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Credential

Spécifie un objet PSCredential utilisé pour spécifier les informations d’identification d’une connexion SQL Server autorisée à effectuer cette opération.

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByName
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Encrypt

Type de chiffrement à utiliser lors de la connexion à SQL Server.

Cette valeur est mappée à la Encrypt propriété SqlConnectionEncryptOption sur l’objet SqlConnection du pilote Microsoft.Data.SqlClient.

Dans la version 22 du module, la valeur par défaut est Optional (pour la compatibilité avec v21). Dans la version 23+ du module, la valeur par défaut est « Obligatoire », ce qui peut créer une modification cassant pour les scripts existants.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Valeurs acceptées:Mandatory, Optional, Strict
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-HostNameInCertificate

Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL. Vous devez passer ce paramètre si votre instance SQL Server est activée pour Forcer le chiffrement et que vous souhaitez vous connecter à une instance à l’aide du nom d’hôte/shortname. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à une instance SQL Server activée pour Forcer le chiffrement.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Spécifie l’objet serveur, en tant que tableau, de l’instance cible à partir de laquelle cette applet de commande obtient les journaux d’activité.

Propriétés du paramètre

Type:

Server[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByObject
Position:1
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

Spécifie le chemin d’accès, en tant que tableau, à l’instance de SQL Server sur laquelle cette applet de commande exécute l’opération. Si vous ne spécifiez pas de valeur pour ce paramètre, l’applet de commande utilise l’emplacement de travail actuel.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByPath
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ServerInstance

Spécifie le nom d’une instance de SQL Server, en tant que tableau. Pour les instances par défaut, spécifiez uniquement le nom de l’ordinateur : MyComputer. Pour les instances nommées, utilisez le format ComputerName\InstanceName.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByName
Position:1
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Since

Spécifie une abréviation pour le paramètre Timespan.

Ne spécifiez pas ce paramètre si vous envisagez d’utiliser le paramètre After ou Before.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Minuit (obtient tous les journaux générés après minuit)
  • Hier (obtient tous les journaux générés au cours des dernières 24 heures).
  • LastWeek (obtient tous les journaux générés dans la dernière semaine)
  • LastMonth (obtient tous les journaux générés au cours du dernier mois)

Propriétés du paramètre

Type:SinceType
Valeur par défaut:None
Valeurs acceptées:Midnight, Yesterday, LastWeek, LastMonth
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Timespan

Spécifie un objet TimeSpan que cette applet de commande filtre hors des journaux d’erreurs qui se trouvent en dehors de l’intervalle de temps.

Le format de ce paramètre est d.HH :mm :ss.

Ce paramètre est ignoré si vous utilisez les paramètres Since, After ou Before.

Propriétés du paramètre

Type:TimeSpan
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-TrustServerCertificate

Indique si le canal sera chiffré lors du contournement de la marche à pied de la chaîne de certificats pour valider l’approbation.

Dans la version 22 du module, la valeur par défaut est $true (pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « $false », ce qui peut créer une modification cassant pour les scripts existants.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

System.String

Microsoft.SqlServer.Management.Smo.Server