Get-SqlErrorLog

Obtient les journaux d’erreurs SQL Server.

Syntax

Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [[-Path] <String[]>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [<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>]
   [<CommonParameters>]
Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [-InputObject] <Server[]>
   [-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 :

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

Exemples

Exemple 1 : Obtenir tous les journaux générés dans une période 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 le SQL Server instance.

Exemple 2 : Obtenir tous les journaux générés dans un laps de temps 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 le SQL Server instance.

Exemple 3 : Obtenir tous les journaux générés dans un intervalle de temps spécifique triés 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 le SQL Server instance.

Paramètres

-AccessToken

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

Cela peut être utilisé, par exemple, pour se connecter à et à SQL Azure DB l’aide d’un Service Principal ou d’un Managed Identity.SQL Azure Managed Instance

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

Ce paramètre est nouveau dans v22 du module.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-After

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

Si vous spécifiez le paramètre Before, cette applet de commande obtient tous les journaux d’erreurs générés avant le 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 selon les règles de .Net System.DataTime.Parse().

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Ascending

Indique que l’applet de commande trie la collection des 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’erreur de plusieurs sources, le tri est appliqué à tous les journaux d’erreurs de la même source. Les journaux que cette applet de commande obtient sont d’abord regroupés par source, puis triés par date de journal.

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

-Before

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

Si le paramètre After est spécifié, l’applet de commande par défaut est 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 selon les règles de .Net System.Datatime.Parse().

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionTimeout

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 v23+ 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
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

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

Ce paramètre est nouveau dans v22 du module.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Spécifie l’objet serveur, sous forme de tableau, de l’instance cible à partir duquel cette applet de commande obtient les journaux.

Type:Server[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Spécifie le chemin d’accès, sous forme de tableau, à la 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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerInstance

Spécifie le nom d’un instance de SQL Server, sous la forme d’un 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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 valides pour ce paramètre sont :

  • 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 au cours de la dernière semaine)
  • LastMonth (obtient tous les journaux générés au cours du dernier mois)
Type:SinceType
Accepted values:Midnight, Yesterday, LastWeek, LastMonth
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Timespan

Spécifie un objet TimeSpan que cette applet de commande filtre 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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TrustServerCertificate

Indique si le canal sera chiffré tout en contournant 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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

System.String[]

Microsoft.SqlServer.Management.Smo.Server[]