Partager via


Get-SqlErrorLog

Obtient les journaux d’erreurs SQL Server.

Syntaxe

Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [[-Path] <String[]>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [[-ServerInstance] <String[]>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [-InputObject] <Server[]>
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<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 DB et SQL Azure Managed Instance à l’aide d’un Service Principal ou d’un Managed Identity.

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

Ce paramètre est nouveau dans v22 du module.

Type:PSObject
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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().

Type:DateTime
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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().

Type:DateTime
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Type:PSCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Encrypt

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

Cette valeur est mappée à la propriété EncryptSqlConnectionEncryptOption 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.

Type:String
Valeurs acceptées:Mandatory, Optional, Strict
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-HostNameInCertificate

Nom d’hôte à utiliser pour valider le certificat TLS/SSL SQL Server. 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.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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é.

Type:Server[]
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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.

Type:String[]
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ProgressAction

Détermine comment PowerShell répond aux mises à jour de progression générées par un script, une applet de commande ou un fournisseur, telles que les barres de progression générées par l’applet de commande Write-Progress. L’applet de commande Write-Progress crée des barres de progression qui affichent l’état d’une commande.

Type:ActionPreference
Alias:proga
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Type:String[]
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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)
Type:SinceType
Valeurs acceptées:Midnight, Yesterday, LastWeek, LastMonth
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Type:TimeSpan
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

System.String[]

Microsoft.SqlServer.Management.Smo.Server[]