Freigeben über


Restore-SqlDatabase

Stellt eine Datenbank aus sicherungs- oder Transaktionsprotokolldatensätzen wieder her.

Syntax

Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-Database] <String>
       [-Path <String[]>]
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-Database] <String>
       -ServerInstance <String[]>
       [-Credential <PSCredential>]
       [-ConnectionTimeout <Int32>]
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-Database] <String>
       -InputObject <Server[]>
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-DatabaseObject] <Database>
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Beschreibung

Das Cmdlet Restore-SqlDatabase Cmdlet führt Wiederherstellungsvorgänge für eine SQL Server-Datenbank aus. Dazu gehören vollständige Datenbankwiederherstellungen, Transaktionsprotokollwiederherstellungen und Datenbankdateiwiederherstellungen.

Dieses Cmdlet wird nach der Microsoft.SqlServer.Management.Smo.Restore-Klasse modelliert. Die Parameter für dieses Cmdlet entsprechen in der Regel eigenschaften für das Smo.Restore-Objekt.

Beispiele

Beispiel 1: Wiederherstellen einer Datenbank aus einer Sicherungsdatei in einer Netzwerkfreigabe

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak"

Mit diesem Befehl wird die vollständige Datenbank MainDB aus der Datei \\mainserver\databasebackup\MainDB.bak in die Serverinstanz Computer\Instancewiederhergestellt.

Beispiel 2: Wiederherstellen eines Datenbanktransaktionsprotokolls

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log

Mit diesem Befehl wird das Transaktionsprotokoll für die Datenbank wiederhergestellt, MainDB aus der Datei \\mainserver\databasebackup\MainDB.trn in die Serverinstanz Computer\Instance.

Beispiel 3: Wiederherstellen einer Datenbank und Eingabeaufforderung für ein Kennwort

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak" -Credential (Get-Credential "sa")

Mit diesem Befehl wird die vollständige Datenbank MainDB aus der Datei \\mainserver\databasebackup\MainDB.bak in die Serverinstanz Computer\Instancemithilfe der sa SQL-Anmeldung wiederhergestellt. Mit diesem Befehl werden Sie aufgefordert, ein Kennwort zum Abschließen der Authentifizierung einzugeben.

Beispiel 4: Wiederherstellen eines Transaktionsprotokolls mit der NORECOVERY-Option

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -NoRecovery

Mit diesem Befehl wird das Transaktionsprotokoll der Datenbank MainDB mit der Option NORECOVERY aus der Datei \\mainserver\databasebackup\MainDB.trn auf die Serverinstanz Computer\Instancewiederhergestellt.

Beispiel 5: Wiederherstellen von Transaktionsprotokolleinträgen bis zu einem Zeitpunkt

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -ToPointInTime "Sep 21, 2017 11:11 PM"

Mit diesem Befehl wird das Transaktionsprotokoll der Datenbank MainDB bis zum Datum wiederhergestellt, das an den parameter ToPointInTime, 21. September 2017, 11:11 Uhr übergeben wurde.

Beispiel 6: Wiederherstellen einer Datenbank und Verschieben der Daten und Protokolldateien

PS C:\> $RelocateData = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Data", "c:\MySQLServer\MainDB.mdf")
PS C:\> $RelocateLog = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Log", "c:\MySQLServer\MainDB.ldf")
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RelocateFile @($RelocateData,$RelocateLog)

In diesem Beispiel wird die vollständige Datenbank MainDB auf die Serverinstanz Computer\Instancewiederhergestellt und die Daten- und Protokolldateien verschoben. Für jede verschobene Datei erstellt das Beispiel eine Instanz der Microsoft.SqlServer.Management.Smo.RelocateFile-Klasse. Jeder Konstruktor verwendet zwei Argumente, den logischen Namen der Datei und den physischen Speicherort, an dem die Datei auf dem Zielserver platziert wird. Die RelocateFile--Objekte werden an den Parameter RelocateFile des Cmdlets Restore-SqlDatabase übergeben.

Beispiel 7: Wiederherstellen einer Datenbank aus Band

PS C:\> $TapeDevice = New-Object Microsoft.Sqlserver.Management.Smo.BackupDeviceItem("\\.\tape0", "Tape")
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupDevice $TapeDevice

In diesem Beispiel wird die Datenbank MainDB vom Bandgerät mit dem Namen \\.\tape0 auf die Serverinstanz Computer\Instancewiederhergestellt. Um dieses Gerät darzustellen, erstellt das Beispiel eine Instanz der Microsoft.Sqlserver.Management.Smo.BackupDeviceItem-Klasse. Der Konstruktor verwendet zwei Argumente, den Namen des Sicherungsgeräts und den Typ des Sicherungsgeräts. Dieses BackupDeviceItem--Objekt wird dann an den parameter BackupDevice des Cmdlets Restore-SqlDatabase übergeben.

Beispiel 8: Wiederherstellen einer Datenbank aus dem Azure Blob Storage-Dienst

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "https://mystorageaccountname.blob.core.windows.net/container/MyDB.bak" -SqlCredential "mySqlCredential"

Mit diesem Befehl wird die vollständige Datenbank MainDB aus der Datei im Windows Azure Blob Storage-Dienst auf die Serverinstanz Computer\Instancewiederhergestellt.

Beispiel 9: Sichern einer Datenbank auf SQL2016 und Wiederherstellen auf SQL2017 mithilfe von -AutoRelocateFile

PS C:\> Get-SqlDatabase -ServerInstance MYSERVER\SQL2016 -Database AdventureWorks | Backup-SqlDatabase -BackupFile 'C:\BAK2\AdventureWorks.bak'
PS C:\> $restore = Restore-SqlDatabase -ServerInstance MYSERVER\SQL2017 -Database AdventureWorks2016 -BackupFile 'C:\BAK2\AdventureWorks.bak' -AutoRelocateFile -PassThru
PS C:\> $db.RelocateFiles

LogicalFileName     PhysicalFileName
---------------     ----------------
AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Data.mdf
AdventureWorks_Log  C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Log.ldf

# You can see that the original PhysicalFileNames were indeed differet by running the followiong query:
PS C:\> Invoke-Sqlcmd -ServerInstance MYSERVER\SQL2016 -Query "RESTORE FILELISTONLY FROM  DISK = N'C:\BAK2\AdventureWorks.bak' WITH NOUNLOAD" | Select -Property LogicalName,PhysicalName

LogicalName         PhysicalName
-----------         ------------
AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Data.mdf
AdventureWorks_Log  C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Log.ldf

Der erste Befehl verwendet eine Sicherung der Datenbank AdventureWorks auf SQL2016 Instanz, die auf computer MYSERVERausgeführt wird. Die Sicherung wird unter C:\BAK2gespeichert.

Dieselbe Sicherungsdatei wird im zweiten Cmdlet verwendet, um die Datenbank auf einer SQL2017 Instanz wiederherzustellen, die auf demselben Computer ausgeführt wird (MYSERVER). Beachten Sie, dass das Cmdlet ohne den Schalter -AutoRelocate fehlgeschlagen wäre, da physische Dateien, in denen sich anders befinden, wie in den beiden tabellen oben gezeigt (außerdem würden die Dateien wahrscheinlich von SQL2016 verwendet und möglicherweise nicht von SQL2017 zugänglich sein). Die -AutoRelocate es dem Benutzer erlaubt, die explizite Verwendung des -RelocationFilezu vermeiden, das Argument, das recht mühsam zu erstellen ist.

Hinweis: Es wird davon ausgegangen, dass sowohl die SQL2016 instanz als auch SQL2017 Instanz Zugriff auf den C:\BAK2 Ordner haben.

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

-AutoRelocateFile

Wenn dieser Switch angegeben ist, kümmert sich das Cmdlet darum, alle logischen Dateien in der Sicherung automatisch neu zu verschieben, es sei denn, diese logische Datei wird mit der RelocateFileangegeben. Der Server DefaultFile und DefaultLog werden verwendet, um die Dateien zu verschieben.

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

-BackupDevice

Gibt die Geräte an, auf denen die Sicherungen gespeichert werden. Dieser Parameter kann nicht mit dem Parameter BackupFile verwendet werden. Verwenden Sie diesen Parameter, wenn Sie ein Bandgerät sichern.

Typ:BackupDeviceItem[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-BackupFile

Gibt den Speicherort oder speicherort an, an dem die Sicherungsdateien gespeichert sind. Dieser Parameter ist optional. Wenn nicht angegeben, wird der Standardsicherungsort des Servers nach dem Namen <database name>.trn nach Protokollwiederherstellungen oder <database name>.bak für alle anderen Wiederherstellungstypen gesucht. Dieser Parameter kann nicht mit dem parameter BackupDevice verwendet werden. Wenn Sie den Windows Azure Blob Storage-Dienst (URL) sichern, muss entweder dieser Parameter oder der parameter BackupDevice angegeben werden.

Typ:String[]
Position:2
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-BlockSize

Gibt die größe des physischen Blocks in Bytes für die Sicherung an. Die unterstützten Größen sind 512, 1024, 2048, 4096, 8192, 16384, 32768 und 65536 (64 KB) Bytes. Der Standardwert ist 65536 für Bandgeräte und 512 für alle anderen Geräte.

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

-BufferCount

Gibt die Gesamtanzahl der E/A-Puffer an, die für den Sicherungsvorgang verwendet werden sollen. Sie können eine beliebige positive ganze Zahl angeben. Wenn im Sqlservr.exe Prozess für die Puffer nicht genügend virtueller Adressraum vorhanden ist, wird ein Nichtspeicherfehler angezeigt.

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

-Checksum

Gibt an, dass während des Wiederherstellungsvorgangs ein Prüfsummenwert berechnet wird.

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

-ClearSuspectPageTable

Gibt an, dass die verdächtige Seitentabelle nach dem Wiederherstellungsvorgang gelöscht wird.

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

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
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 eine ganze Zahl zwischen 0 und 65534 sein. Wenn 0 angegeben ist, werden Verbindungsversuche nicht timeout ausgeführt.

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

-ContinueAfterError

Gibt an, dass der Vorgang fortgesetzt wird, wenn ein Prüfsummenfehler auftritt. Wenn nicht festgelegt, schlägt der Vorgang nach einem Prüfsummenfehler fehl.

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

-Credential

Gibt ein PSCredential -Objekt an, das die Anmeldeinformationen für eine SQL Server-Anmeldung enthält, 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

-Database

Gibt den Namen der wiederherzustellenden Datenbank an. Dies kann nicht mit dem DatabaseObject-Parameter verwendet werden. Wenn dieser Parameter verwendet wird, müssen auch die Parameter Path, InputObject-oder ServerInstance- Parameter angegeben werden.

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

-DatabaseFile

Gibt die Datenbankdateien an, die vom Wiederherstellungsvorgang bestimmt werden. Dies wird nur verwendet, wenn der parameter RestoreAction auf "Files" festgelegt ist. Wenn der parameter RestoreAction auf "Files" festgelegt ist, muss auch der parameter DatabaseFileGroups oder DatabaseFiles Parameter angegeben werden.

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

-DatabaseFileGroup

Gibt die Datenbankdateigruppen an, die auf den Wiederherstellungsvorgang abzielen. Dies wird nur verwendet, wenn der parameter RestoreAction auf "File" festgelegt ist. Wenn der parameter RestoreAction auf "Files" festgelegt ist, muss auch der parameter DatabaseFileGroups oder DatabaseFiles Parameter angegeben werden.

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

-DatabaseObject

Gibt ein Datenbankobjekt für den Wiederherstellungsvorgang an.

Typ:Database
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
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

-FileNumber

Gibt die Indexnummer an, die verwendet wird, um den zielbezogenen Sicherungssatz auf dem Sicherungsmedium zu identifizieren.

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 SQL Server-Instanz an, in der die Wiederherstellung auftritt.

Typ:Server[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-KeepReplication

Gibt an, dass die Replikationskonfiguration beibehalten wird. Wenn sie nicht festgelegt ist, wird die Replikationskonfiguration vom Wiederherstellungsvorgang ignoriert.

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

-MaxTransferSize

Gibt die maximale Anzahl von Bytes an, die zwischen den Sicherungsmedien und der SQL Server-Instanz übertragen werden sollen. Die möglichen Werte sind Vielfache von 65536 Bytes (64 KB), bis zu 4194304 Bytes (4 MB).

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

-MediaName

Gibt den Namen an, der einen Mediensatz identifiziert.

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

-NoRecovery

Gibt an, dass die Datenbank im Wiederherstellungszustand wiederhergestellt wird. Ein Rollbackvorgang tritt nicht auf, und zusätzliche Sicherungen können wiederhergestellt werden.

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

-NoRewind

Gibt an, dass ein Bandlaufwerk an der Endposition geöffnet bleibt, wenn die Wiederherstellung abgeschlossen ist. Wenn sie nicht festgelegt ist, wird das Band nach Abschluss des Vorgangs umwobt. Dies gilt nicht für Datenträgerwiederherstellungen.

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

-Offset

Gibt die zu wiederherstellenden Seitenadressen an. Dies wird nur verwendet, wenn RestoreAction auf "OnlinePage" festgelegt ist.

Typ:Int64[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Partial

Gibt an, dass der Wiederherstellungsvorgang eine teilweise Wiederherstellung ist.

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

-PassThru

Gibt an, dass dieses Cmdlet das Smo.Backup -Objekt ausgibt, das zum Ausführen des Wiederherstellungsvorgangs verwendet wird.

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

-Path

Gibt den Pfad der SQL Server-Instanz an, auf der der Wiederherstellungsvorgang ausgeführt werden soll. Dieser Parameter ist optional. Wenn nicht angegeben, wird der aktuelle Arbeitsort verwendet.

Typ:String[]
Position:Named
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

-RelocateFile

Gibt eine Liste von Smo.Relocate-Dateiobjekten an. Jedes Objekt besteht aus einem logischen Sicherungsdateinamen und einem physischen Dateisystemspeicherort. Die Wiederherstellung verschiebt die wiederhergestellte Datenbank an den angegebenen physischen Speicherort auf dem Zielserver.

Typ:RelocateFile[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ReplaceDatabase

Gibt an, dass ein neues Bild der Datenbank erstellt wird. Dadurch werden alle vorhandenen Datenbanken mit demselben Namen überschrieben. Wenn sie nicht festgelegt ist, schlägt der Wiederherstellungsvorgang fehl, wenn eine Datenbank mit diesem Namen bereits auf dem Server vorhanden ist.

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

-Restart

Gibt an, dass dieses Cmdlet einen teilweise abgeschlossenen Wiederherstellungsvorgang forthält. Wenn sie nicht festgelegt ist, startet das Cmdlet einen unterbrochenen Wiederherstellungsvorgang am Anfang des Sicherungssatzes neu.

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

-RestoreAction

Gibt den Typ des Wiederherstellungsvorgangs an, der ausgeführt wird. Gültige Werte sind:

  • Datenbank. Die Datenbank wird wiederhergestellt.
  • Dateien. Mindestens eine Datendatei wird wiederhergestellt. Der Parameter "DatabaseFile" oder "DatabaseFileGroup" muss angegeben werden.
  • OnlinePage. Eine Datenseite wird online wiederhergestellt, sodass die Datenbank für Benutzer verfügbar bleibt.
  • OnlineFiles. Datendateien werden online wiederhergestellt, sodass die Datenbank für Benutzer verfügbar bleibt. Der Parameter "DatabaseFile" oder "DatabaseFileGroup" muss angegeben werden.
  • Log. Das Translaction-Protokoll wird wiederhergestellt.
Typ:RestoreActionType
Zulässige Werte:Database, Files, OnlinePage, OnlineFiles, Log
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RestrictedUser

Gibt an, dass der Zugriff auf die wiederhergestellte Datenbank auf die db_owner feste Datenbankrolle und die festen Serverrollen "dbcreator" und "sysadmin" beschränkt ist.

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

-Script

Gibt an, dass dieses Cmdlet ein Transact-SQL Skript ausgibt, das den Wiederherstellungsvorgang ausführt.

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

-ServerInstance

Gibt den Namen einer SQL Server-Instanz an. Diese Serverinstanz wird zum Ziel des Wiederherstellungsvorgangs.

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

-SqlCredential

Gibt ein SQL Server-Anmeldeinformationsobjekt an, das Authentifizierungsinformationen speichert. Wenn Sie den BLOB-Speicherdienst sichern, müssen Sie diesen Parameter angeben. Die gespeicherten Authentifizierungsinformationen umfassen den Namen des Speicherkontos und die zugehörigen Zugriffsschlüsselwerte. Geben Sie diesen Parameter nicht für Datenträger oder Band an.

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

-StandbyFile

Gibt den Namen einer Rückgängig-Datei an, die als Teil der Imageerstellungsstrategie für eine SQL Server-Instanz verwendet wird.

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

-StopAtMarkAfterDate

Gibt das Datum an, das mit dem durch den Parameter StopAtMarkName angegebenen Marknamen verwendet werden soll, um den Stopppunkt des Wiederherstellungsvorgangs zu bestimmen.

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

-StopAtMarkName

Gibt die markierte Transaktion an, bei der der Wiederherstellungsvorgang beendet werden soll. Dies wird mit StopAtMarkAfterDate verwendet, um den Stopppunkt des Wiederherstellungsvorgangs zu bestimmen. Die wiederhergestellten Daten enthalten die Transaktion, die die Markierung enthält. Wenn der wert StopAtMarkAfterDate nicht festgelegt ist, wird die Wiederherstellung bei der ersten Markierung mit dem angegebenen Namen beendet.

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

-StopBeforeMarkAfterDate

Gibt das Datum an, das mit StopBeforeMarkName verwendet werden soll, um den Stopppunkt des Wiederherstellungsvorgangs zu bestimmen.

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

-StopBeforeMarkName

Gibt die markierte Transaktion an, vor der der Wiederherstellungsvorgang beendet werden soll. Dies wird mit StopBeforeMarkAfterDate verwendet, um den Stopppunkt des Wiederherstellungsvorgangs zu bestimmen.

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

-ToPointInTime

Gibt den Endpunkt für die Wiederherstellung des Datenbankprotokolls an. Dies gilt nur, wenn RestoreAction- auf "Protokoll" festgelegt ist.

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

-UnloadTapeAfter

Gibt an, dass das Bandgerät nach Abschluss des Vorgangs neu gewounden und entladen wird. Wenn nicht festgelegt, wird kein Versuch unternommen, das Bandmedium zurückzuspulen und zu entladen. Dies gilt nicht für Datenträgersicherungen.

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

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

Gibt eine SMO an. Serverobjekt, das die SQL Server-Instanz beschreibt, für die der Wiederherstellungsvorgang ausgeführt wird.

System.String[]