Restore-SqlDatabase

Stellt eine Datenbank aus einem Sicherungs- oder Transaktionsprotokolldatensatz 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>]
       [-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>]
       [-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>]
       [-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>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Beschreibung

Das Cmdlet Restore-SqlDatabase führt Wiederherstellungsvorgänge für eine SQL Server-Datenbank aus. Dies umfasst vollständige Datenbankwiederherstellungen sowie Wiederherstellungen des Transaktionsprotokolls und der Datenbankdatei.

Dieses Cmdlet ist der Microsoft.SqlServer.Management.Smo.Restore-Klasse nachgebildet. Die Parameter für dieses Cmdlet entsprechen im Allgemeinen den Eigenschaften des Smo.Restore-Objekts.

Beispiele

Beispiel 1: Wiederherstellen einer Datenbank aus einer Sicherungsdatei auf 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 auf dem Server instance 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 MainDB aus der Datei \\mainserver\databasebackup\MainDB.trn auf dem Server instance Computer\Instancewiederhergestellt.

Beispiel 3: Wiederherstellen einer Datenbank und Aufforderung zur Eingabe eines Kennworts

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 auf dem Server instance Computer\Instancemithilfe der sa SQL-Anmeldung wiederhergestellt. Dieser Befehl fordert Sie zur Eingabe eines Kennworts auf, um die Authentifizierung abzuschließen.

Beispiel 4: Wiederherstellen eines Transaktionsprotokolls mit der Option NORECOVERY

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 NORECOVERY Option aus der Datei \\mainserver\databasebackup\MainDB.trn auf dem Server instance Computer\Instancewiederhergestellt.

Beispiel 5: Wiederherstellen von Transaktionsprotokolldatensätzen bis zu einem bestimmten 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 zu dem Datum wiederhergestellt, das an den ToPointInTime-Parameter übergeben wurde, 21. September 2017, 23:11 Uhr.

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 dem Server instance Computer\Instancewiederhergestellt und die Daten- und Protokolldateien verschoben. Für jede Datei, die verschoben wird, erstellt das Beispiel eine instance der Microsoft.SqlServer.Management.Smo.RelocateFile-Klasse. Jeder Konstruktor akzeptiert 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 von 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 von dem Bandgerät mit dem Namen \\.\tape0 auf dem Server instance Computer\Instancewiederhergestellt. Um dieses Gerät darzustellen, erstellt das Beispiel eine instance der Microsoft.Sqlserver.Management.Smo.BackupDeviceItem-Klasse. Der Konstruktor akzeptiert 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 dem Server instance 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 erstellt eine Sicherung der Datenbank AdventureWorks auf SQL2016 instance, die auf dem Computer MYSERVER ausgeführt wird. Die Sicherung wird unter C:\BAK2 gespeichert.

Dieselbe Sicherungsdatei wird im zweiten Cmdlet verwendet, um die Datenbank auf einem SQL2017 instance wiederherzustellen, der auf demselben Computer (MYSERVER) ausgeführt wird. Beachten Sie, dass das Cmdlet ohne den Schalter -AutoLocate fehlschlägt, da physische Dateien unterschiedlich waren, wie in den beiden tabellen oben gezeigt (darüber hinaus wären die Dateien höchstwahrscheinlich von SQL2016 verwendet worden und möglicherweise nicht für SQL2017 zugänglich). Mit -AutoRelocate konnte der Benutzer vermeiden, explizit die -RelocationFile-Datei zu verwenden, das Argument, dessen Erstellung recht mühsam ist.

Hinweis: Es wird davon ausgegangen, dass sowohl die SQL2016 instance als auch SQL2017 instance Zugriff auf den Ordner C:\BAK2 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. verwendet werden, um eine Verbindung mit SQL Azure DB und SQL Azure Managed Instance mithilfe von oder Service Principal herzustellen Managed 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.netvon zurückgegeben wird.

Dieser Parameter ist in v22 des Moduls neu.

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

-AutoRelocateFile

Wenn dieser Schalter angegeben ist, kümmert sich das Cmdlet darum, alle logischen Dateien in der Sicherung automatisch zu verschieben, es sei denn, eine solche logische Datei ist mit der "RelocateFile"-Datei angegeben. Die Servereinstellungen DefaultFile und DefaultLog werden verwendet, um die Dateien zu verschieben.

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

-BackupDevice

Gibt die Geräte an, auf denen die Sicherungen gespeichert werden. Dieser Parameter kann nicht mit dem BackupFile-Parameter verwendet werden. Verwenden Sie diesen Parameter, wenn Sie eine Sicherung auf einem Bandgerät ausführen.

Type:BackupDeviceItem[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupFile

Gibt den Speicherort an, an dem die Sicherungsdateien gespeichert werden. Dieser Parameter ist optional. Wenn nicht angegeben, wird der Standardsicherungsspeicherort des Servers nach dem Namen <database name>.trn für Protokollwiederherstellungen oder <database name>.bak nach allen anderen Wiederherstellungstypen durchsucht. Dieser Parameter kann nicht mit dem Parameter BackupDevice verwendet werden. Wenn Sie eine Sicherung im Windows-Azure Blob Storage-Dienst (URL) ausführen, muss entweder dieser Parameter oder der Parameter BackupDevice angegeben werden.

Type:String[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BlockSize

Gibt die physische Blockgröße in Bytes für die Sicherung an. Die unterstützten Größen sind 512, 1024, 2048, 4096, 8192, 16.384, 32.768 und 65.536 (64 KB) Bytes. Der Standardwert ist 65536 für Bandgeräte und 512 für alle anderen Geräte.

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

-BufferCount

Gibt die Gesamtanzahl von E/A-Puffern 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, erhalten Sie einen Fehler mit unzureichendem Arbeitsspeicher.

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

-Checksum

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

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

-ClearSuspectPageTable

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

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

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

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

-ConnectionTimeout

Gibt die Anzahl von Sekunden an, die vor einem Timeoutfehler auf eine Serververbindung gewartet werden soll. Der Timeoutwert muss einer ganzen Zahl zwischen 0 und 65534 entsprechen. Wenn 0 angegeben ist, führen Verbindungsversuche kein Timeout.

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

-ContinueAfterError

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 angegeben werden.

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

-DatabaseFile

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

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

-DatabaseFileGroup

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

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

-DatabaseObject

Gibt ein Datenbankobjekt für den Wiederherstellungsvorgang an.

Type:Database
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Encrypt

Der Verschlüsselungstyp, der beim Herstellen einer Verbindung mit SQL Server verwendet werden soll.

Dieser Wert wird der Encrypt -Eigenschaft SqlConnectionEncryptOption des SqlConnection-Objekts des Microsoft.Data.SqlClient-Treibers zugeordnet.

In v22 des Moduls ist Optional der Standardwert (aus Kompatibilität mit v21). In Version 23 und höher des Moduls lautet der Standardwert "Obligatorisch", was zu einer Breaking Change für vorhandene Skripts führen kann.

Dieser Parameter ist in v22 des Moduls neu.

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileNumber

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Ihr SQL Server instance für "Verschlüsselung erzwingen" aktiviert ist und Sie eine Verbindung mit einem instance mithilfe des Hostnamens/Kurznamens herstellen möchten. Wenn dieser Parameter ausgelassen wird, ist die Übergabe des vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) an -ServerInstance erforderlich, um eine Verbindung mit einem für die Verschlüsselung erzwingen aktivierten SQL Server instance herzustellen.

Dieser Parameter ist in v22 des Moduls neu.

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

-InputObject

Gibt das Serverobjekt des SQL Server instance an, in dem die Wiederherstellung erfolgt.

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

-KeepReplication

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

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

-MaxTransferSize

Gibt die maximale Anzahl von Bytes an, die zwischen den Sicherungsmedien und dem SQL Server instance übertragen werden sollen. Die möglichen Werte sind Vielfache von 65.536 Bytes (64 KB) bis zu 4.194.304 Bytes (4 MB).

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

-MediaName

Gibt den Namen an, der einen Mediensatz identifiziert.

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

-NoRecovery

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

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

-NoRewind

Gibt an, dass ein Bandlaufwerk an der Endposition geöffnet bleibt, wenn die Wiederherstellung abgeschlossen ist. Wenn nicht angegeben, wird das Bandmedium bei Abschluss des Vorgangs zurückgespult. Dies gilt nicht für Datenträgerwiederherstellungen.

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

-Offset

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

Type:Int64[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Partial

Gibt an, dass es sich bei dem Wiederherstellungsvorgang um eine partielle Wiederherstellung handelt.

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

-PassThru

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

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

-Path

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

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

-RelocateFile

Gibt eine Liste der Smo.Relocate-Dateiobjekte an. Jedes Objekt besteht aus dem logischen Namen einer Sicherungsdatei und einem physischen Dateisystempfad. Durch die Wiederherstellung wird die wiederhergestellte Datenbank an den angegebenen physischen Ort auf dem Zielserver verschoben.

Type:RelocateFile[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReplaceDatabase

Gibt an, dass ein neues Image der Datenbank erstellt wird. Dadurch wird jede vorhandene Datenbank mit demselben Namen überschrieben. Wenn nicht festgelegt, schlägt der Wiederherstellungsvorgang fehl, wenn auf dem Server bereits eine Datenbank mit diesem Namen vorhanden ist.

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

-Restart

Gibt an, dass dieses Cmdlet einen teilweise abgeschlossenen Wiederherstellungsvorgang fortgesetzt. Wenn nicht festgelegt, startet das Cmdlet einen unterbrochenen Wiederherstellungsvorgang am Anfang des Sicherungssatzes neu.

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

-RestoreAction

Gibt den Typ des ausgeführten Wiederherstellungsvorgangs an. Gültige Werte sind:

  • Datenbank. Die Datenbank wird wiederhergestellt.
  • Dateien. Mindestens eine Datendatei wird wiederhergestellt. Der DatabaseFile- oder DatabaseFileGroup-Parameter 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 DatabaseFile- oder DatabaseFileGroup-Parameter muss angegeben werden.
  • Protokoll. Das Transaktionsprotokoll wird wiederhergestellt.
Type:RestoreActionType
Accepted values:Database, Files, OnlinePage, OnlineFiles, Log
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

-Script

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

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

-ServerInstance

Gibt den Namen eines SQL Server instance an. Diese Serverinstanz wird zum Ziel des Wiederherstellungsvorgangs.

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

-SqlCredential

Gibt ein SQL Server Anmeldeinformationsobjekt an, das Authentifizierungsinformationen speichert. Wenn Sie eine Sicherung im Blob Storage-Dienst ausführen, 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.

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

-StandbyFile

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

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

-StopAtMarkAfterDate

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 StopAtMarkAfterDate-Wert nicht festgelegt ist, wird die Wiederherstellung bei der ersten Markierung mit dem angegebenen Namen beendet.

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

-StopBeforeMarkAfterDate

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

-ToPointInTime

Gibt den Endpunkt für die Datenbankprotokollwiederherstellung an. Dies gilt nur, wenn RestoreAction auf Log festgelegt ist.

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

-TrustServerCertificate

Gibt an, ob der Kanal verschlüsselt wird, während das Durchlaufen der Zertifikatkette zum Überprüfen der Vertrauensstellung umgangen wird.

In v22 des Moduls ist $true der Standardwert (aus Kompatibilität mit v21). In Version 23 und höher des Moduls lautet der Standardwert "$false", was zu einer Breaking Change für vorhandene Skripts führen kann.

Dieser Parameter ist in v22 des Moduls neu.

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

-UnloadTapeAfter

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

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

-WhatIf

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

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

Eingaben

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

Gibt ein SMO an. Serverobjekt, das die SQL Server instance beschreibt, für die der Wiederherstellungsvorgang ausgeführt wird.

System.String[]