Freigeben über


Set-SqlErrorLog

Legt die maximale Anzahl von Fehlerprotokolldateien fest oder setzt sie zurück, bevor sie wiederverwendet werden.

Syntax

Set-SqlErrorLog
   [-MaxLogCount <UInt16>]
   [-ErrorLogSizeKb <Int32>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Set-SqlErrorLog
   [[-ServerInstance] <String[]>]
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-MaxLogCount <UInt16>]
   [-ErrorLogSizeKb <Int32>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Set-SqlErrorLog
   [-MaxLogCount <UInt16>]
   [-ErrorLogSizeKb <Int32>]
   [-InputObject] <Server>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

Beschreibung

Das cmdlet Set-SqlErrorLog legt die maximale Anzahl von Fehlerprotokolldateien fest oder setzt sie zurück, bevor sie wiederverwendet werden.

Dieses Cmdlet unterstützt die folgenden Betriebsmodi zum Festlegen von Protokollen:

  • Ü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: Festlegen der maximalen Anzahl oder Fehlerprotokolle

PS C:\> Set-SqlErrorLog -ServerInstance "MyServer\MyInstance" -MaxLogCount 11 | Out-Null

Mit diesem Befehl wird die maximale Anzahl von Fehlerprotokolldateien auf 11festgelegt.

Beispiel 2: Zurückgeben des TSQL-Skriptcodes, um die maximale Anzahl oder Fehlerprotokolle festzulegen

PS C:\> Set-SqlErrorLog -ServerInstance "MyServer\MyInstance" -MaxLogCount 11 -Script

USE [master] 
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 11
GO

Dieser Befehl gibt den T-SQL-Skriptcode als Zeichenfolgenarray zurück, der erforderlich ist, um die maximale Anzahl von Fehlerprotokolldateien auf 11festzulegen.

Parameter

-AccessToken

Das Zugriffstoken, das zur Authentifizierung bei SQL Server verwendet wird, als Alternative zur Benutzer-/Kennwort- oder Windows-Authentifizierung.

Dies kann z. B. zum Herstellen einer Verbindung mit SQL Azure DB und SQL Azure Managed Instance mithilfe eines Service Principal oder einer Managed Identityverwendet werden.

Der zu verwendende Parameter kann entweder eine Zeichenfolge sein, die das Token darstellt, oder ein PSAccessToken-Objekt, wie durch Ausführen von Get-AzAccessToken -ResourceUrl https://database.windows.netzurückgegeben wird.

Dieser Parameter ist neu in v22 des Moduls.

Typ:PSObject
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConnectionTimeout

Gibt die Anzahl der Sekunden an, die auf eine Serververbindung warten sollen, bevor ein Timeoutfehler auftritt. Der Timeoutwert muss ein ganzzahliger Wert zwischen 0 und 65534 sein. Wenn 0 angegeben ist, werden Verbindungsversuche nicht unterbrochen.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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 die Standardeinstellung Optional (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.

Typ:String
Zulässige Werte:Mandatory, Optional, Strict
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ErrorLogSizeKb

Gibt die Größenbeschränkung der SQL-Instanzfehlerprotokolldatei in Kilobytes an.

Gültiger Bereich ist 0 bis Int32.MaxValue.

Wenn der Benutzer diesen Parameter nicht angibt, bleibt die ErrorLogSizeKb unverändert. Der Standardwert für die SQL-Instanz ist 0.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-HostNameInCertificate

Der Hostname, der beim Überprüfen des SQL Server TLS/SSL-Zertifikats 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.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Gibt das Serverobjekt der Zielinstanz an.

Typ:Server
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-MaxLogCount

Gibt die maximale Anzahl von Fehlerprotokolldateien an. Wenn der Wert nicht angegeben ist, setzt das Cmdlet den Wert auf den Standardwert zurück.

Der zulässige Wertebereich liegt zwischen 6 und 99.

Typ:UInt16
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Path

Gibt den Pfad 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 Arbeitsort.

Typ:String
Position:1
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ProgressAction

Bestimmt, wie PowerShell auf Statusaktualisierungen reagiert, die von einem Skript, Cmdlet oder Anbieter generiert werden, z. B. auf die Statusanzeigen, die vom Cmdlet Write-Progress generiert werden. Das Cmdlet Write-Progress erstellt Statusanzeigen, die den Status eines Befehls anzeigen.

Typ:ActionPreference
Aliase:proga
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Script

Gibt an, dass dieses Cmdlet ein Transact-SQL Skript zurückgibt, das die aufgabe ausführt, die dieses Cmdlet ausführt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ServerInstance

Gibt als Zeichenfolgenarray den Namen einer Instanz von SQL Server an. Geben Sie für Standardinstanzen nur den Computernamen "MyComputer" an. Verwenden Sie für benannte Instanzen das Format MyComputer\MyInstanceName.

Typ:String[]
Position:1
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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 die Standardeinstellung $true (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.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

System.String[]

Microsoft.SqlServer.Management.Smo.Server

Hinweise

Wenn der Wert auf dem Server bereits auf den angegebenen Wert festgelegt ist, führt dieses Cmdlet nichts aus.