Get-SqlErrorLog
Ruft die SQL Server-Fehlerprotokolle ab.
Syntax
ByPath (Standardwert)
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>]
Beschreibung
Das Cmdlet Get-SqlErrorLog ruft die SQL Server-Fehlerprotokolle ab.
Dieses Cmdlet unterstützt die folgenden Vorgangsmodi zum Abrufen eines Fehlerprotokolls:
- Übergeben Sie die Instanz von SQL Server.
- Geben Sie den Path-Parameter der SQL Server-Instanz an.
- Rufen Sie das Cmdlet in einem gültigen Kontext auf.
Beispiele
Beispiel 1: Abrufen aller Protokolle, die in einem bestimmten Zeitrahmen generiert wurden und über ein Suchwort verfügen
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
Der erste Befehl ändert das Verzeichnis in die SQL Server-Instanz.
Beispiel 2: Abrufen aller Protokolle, die in einem bestimmten Zeitrahmen generiert wurden
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.
Der erste Befehl ändert das Verzeichnis in die SQL Server-Instanz.
Beispiel 3: Abrufen aller Protokolle, die in einem bestimmten Zeitrahmen generiert wurden, sortiert aufsteigend und gruppiert
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
Der erste Befehl ändert das Verzeichnis in die SQL Server-Instanz.
Parameter
-AccessToken
Das Zugriffstoken, das zur Authentifizierung bei SQL Server verwendet wird, als Alternative zur Benutzer-/Kennwort- oder Windows-Authentifizierung.
Dies kann z. B. verwendet werden, um eine Verbindung mit SQL Azure DB einer SQL Azure Managed Instance oder einer Service PrincipalManaged Identity.
Der zu verwendende Parameter kann entweder eine Zeichenfolge sein, die das Token darstellt, oder ein PSAccessToken Objekt, das durch Ausführen Get-AzAccessToken -ResourceUrl https://database.windows.netzurückgegeben wird.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-After
Gibt an, dass dieses Cmdlet nur Fehlerprotokolle abruft, die nach dem angegebenen Zeitpunkt generiert werden.
Wenn Sie den Parameter "Before" angeben, ruft dieses Cmdlet alle Fehlerprotokolle ab, die vor dem angegebenen Parameter generiert wurden.
Geben Sie diesen Parameter nicht an, wenn Sie die Parameter "Since" oder "Timespan" verwenden möchten.
Das Format wird gemäß den Regeln von .Net System.DataTime.Parse() definiert.
Parametereigenschaften
| Typ: | DateTime |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Ascending
Gibt an, dass das Cmdlet die Auflistung von Fehlerprotokollen nach dem Protokolldatum in aufsteigender Reihenfolge sortiert. Wenn Sie diesen Parameter nicht angeben, sortiert das Cmdlet die Fehlerprotokolle in absteigender Reihenfolge.
Wenn dieses Cmdlet mehrere Quellen abruft, wird die Sortierung auf alle Fehlerprotokolle aus derselben Quelle angewendet. Die Protokolle, die dieses Cmdlet abrufen, werden zuerst nach Quelle gruppiert und dann nach Protokolldatum sortiert.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Before
Gibt an, dass dieses Cmdlet nur Fehlerprotokolle erhält, die vor dem angegebenen Zeitpunkt generiert werden.
Wenn der Parameter After angegeben ist, wird das Cmdlet standardmäßig jetzt verwendet, d. h., das Cmdlet ruft alle Fehlerprotokolle ab, die nach dem, was Sie für diesen Parameter angegeben haben, bis zur aktuellen Zeit generiert wurden.
Geben Sie keinen Wert für diesen Parameter an, wenn Sie die Parameter "Since" oder "Timespan" verwenden möchten. Das Format wird gemäß den Regeln von .Net System.Datatime.Parse() definiert.
Parametereigenschaften
| Typ: | DateTime |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ConnectionTimeout
Gibt die Anzahl der Sekunden an, die auf eine Serververbindung warten sollen, bevor ein Timeoutfehler auftritt. Der Timeoutwert muss eine ganze Zahl zwischen 0 und 65534 sein. Wenn 0 angegeben ist, werden Verbindungsversuche nicht unterbrochen.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByName
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein PSCredential -Objekt an, das verwendet wird, um die Anmeldeinformationen für eine SQL Server-Anmeldung anzugeben, die über die Berechtigung zum Ausführen dieses Vorgangs verfügt.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByName
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Encrypt
Der Verschlüsselungstyp, der beim Herstellen einer Verbindung mit SQL Server verwendet werden soll.
Dieser Wert ist der Encrypt Eigenschaft SqlConnectionEncryptOption für das SqlConnection-Objekt des Microsoft.Data.SqlClient-Treibers zugeordnet.
In v22 des Moduls ist Optional der Standardwert (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "Verpflichtend", wodurch für vorhandene Skripts eine bahnbrechende Änderung erstellt werden kann.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | Mandatory, Optional, Strict |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-HostNameInCertificate
Der Hostname, der beim Überprüfen des TLS/SSL-Zertifikats von SQL Server verwendet werden soll. Sie müssen diesen Parameter übergeben, wenn Ihre SQL Server-Instanz für die Erzwingungsverschlüsselung aktiviert ist und Sie eine Verbindung mit einer Instanz mit hostname/shortname herstellen möchten. Wenn dieser Parameter nicht angegeben wird, ist das Übergeben des vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) an -ServerInstance erforderlich, um eine Verbindung mit einer SQL Server-Instanz herzustellen, die für die Erzwingungsverschlüsselung aktiviert ist.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputObject
Gibt das Serverobjekt als Array der Zielinstanz an, aus der dieses Cmdlet die Protokolle abrufen kann.
Parametereigenschaften
| Typ: | Server[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByObject
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt den Pfad als Array zur Instanz von SQL Server an, auf der dieses Cmdlet den Vorgang ausführt. Wenn Sie keinen Wert für diesen Parameter angeben, verwendet das Cmdlet den aktuellen Arbeitsspeicherort.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByPath
| Position: | 1 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ServerInstance
Gibt den Namen einer Instanz von SQL Server als Array an. Geben Sie für Standardinstanzen nur den Computernamen "MyComputer" an. Verwenden Sie für benannte Instanzen das Format "ComputerName\InstanceName".
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByName
| Position: | 1 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Since
Gibt eine Abkürzung für den Timespan-Parameter an.
Geben Sie diesen Parameter nicht an, wenn Sie den Parameter After oder Before verwenden möchten.
Die zulässigen Werte für diesen Parameter sind:
- Mitternacht (ruft alle Protokolle ab, die nach Mitternacht generiert wurden)
- Gestern (ruft alle Protokolle ab, die in den letzten 24 Stunden generiert wurden).
- LastWeek (ruft alle Protokolle ab, die in der letzten Woche generiert wurden)
- LastMonth (ruft alle Protokolle ab, die im letzten Monat generiert wurden)
Parametereigenschaften
| Typ: | SinceType |
| Standardwert: | None |
| Zulässige Werte: | Midnight, Yesterday, LastWeek, LastMonth |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Timespan
Gibt ein TimeSpan -Objekt an, das dieses Cmdlet aus den Fehlerprotokollen herausfiltert, die sich außerhalb der Zeitspanne befinden.
Das Format dieses Parameters ist d.HH:mm:ss.
Dieser Parameter wird ignoriert, wenn Sie die Parameter "Since", "After" oder "Before" verwenden.
Parametereigenschaften
| Typ: | TimeSpan |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TrustServerCertificate
Gibt an, ob der Kanal verschlüsselt wird, während die Zertifikatkette umgangen wird, um die Vertrauensstellung zu überprüfen.
In v22 des Moduls ist $true der Standardwert (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "$false", wodurch möglicherweise eine änderung für vorhandene Skripts geändert wird.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.