Restore-SqlDatabase

Ripristina un database da un record di backup o di log delle transazioni.

Sintassi

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>]

Descrizione

Il cmdlet Restore-SqlDatabase esegue operazioni di ripristino in un database SQL Server. cioè i ripristini completi dei database, del log delle transazioni e dei file di database.

Questo cmdlet è modellato in base alla classe Microsoft.SqlServer.Management.Smo.Restore. I parametri di questo cmdlet corrispondono in genere alle proprietà nell'oggetto Smo.Restore.

Esempio

Esempio 1: Ripristinare un database da un file di backup in una condivisione di rete

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

Questo comando ripristina il database MainDB completo dal file \\mainserver\databasebackup\MainDB.bak all'istanza Computer\Instancedel server .

Esempio 2: Ripristinare un log delle transazioni di database

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

Questo comando ripristina il log delle transazioni per il database MainDB dal file \\mainserver\databasebackup\MainDB.trn all'istanza Computer\Instancedel server .

Esempio 3: Ripristinare un database e richiedere una password

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

Questo comando ripristina il database MainDB completo dal file \\mainserver\databasebackup\MainDB.bak all'istanza Computer\Instancedel server usando l'account sa di accesso SQL. Questo comando richiederà di completare l'autenticazione per una password.

Esempio 4: Ripristinare un log delle transazioni con l'opzione NORECOVERY

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

Questo comando ripristina il log delle transazioni del database MainDB con l'opzione NORECOVERY dal file \\mainserver\databasebackup\MainDB.trn all'istanza Computer\Instancedel server .

Esempio 5: Ripristinare i record del log delle transazioni fino a un momento

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

Questo comando ripristina il log delle transazioni del database MainDB fino alla data passata al parametro ToPointInTime , 21 settembre 2017 11:11 PM.

Esempio 6: Ripristinare un database e spostare i file di dati e log

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 questo esempio viene ripristinato il database MainDB completo nell'istanza Computer\Instancedel server e vengono spostati i file di dati e log. Per ogni file spostato, nell'esempio viene creata un'istanza della classe Microsoft.SqlServer.Management.Smo.RelocateFile. Ogni costruttore accetta due argomenti, il nome logico del file e il percorso fisico in cui verrà inserito il file nel server di destinazione. Gli oggetti RelocateFile vengono passati al parametro RelocateFile del cmdlet Restore-SqlDatabase .

Esempio 7: Ripristinare un database da nastro

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

In questo esempio il database MainDB viene ripristinato dal dispositivo nastro denominato \\.\tape0 all'istanza Computer\Instancedel server . Per rappresentare questo dispositivo, nell'esempio viene creata un'istanza della classe Microsoft.Sqlserver.Management.Smo.BackupDeviceItem. Il costruttore accetta due argomenti, il nome del dispositivo di backup e il tipo del dispositivo di backup. Questo oggetto BackupDeviceItem viene quindi passato al parametro BackupDevice del cmdlet Restore-SqlDatabase .

Esempio 8: Ripristinare un database dal servizio Archiviazione BLOB di Azure

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

Questo comando ripristina il database MainDB completo dal file nel servizio windows Archiviazione BLOB di Azure all'istanza Computer\Instancedel server .

Esempio 9: Eseguire il backup di un database in SQL2016 e ripristinare in SQL2017 usando -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

Il primo comando esegue un backup di AdventureWorks del database in SQL2016 istanza in esecuzione nel computer MYSERVER. Il backup viene salvato in C:\BAK2.

Lo stesso file di backup viene usato nel secondo cmdlet per ripristinare il database in un'istanza di SQL2017 in esecuzione nello stesso computer (MYSERVER). Si noti che senza l'opzione -AutoRelocate , il cmdlet non è riuscito perché i file fisici in cui sono diversi, come illustrato nelle due tabelle precedenti (inoltre, è probabile che i file siano stati usati da SQL2016 e possibilmente non accessibili da SQL2017). L'oggetto -AutoRelocate ha consentito all'utente di evitare di dover usare esplicitamente -RelocationFile, l'argomento a cui è abbastanza noioso per compilare.

Nota: esiste un presupposto che sia l'istanza SQL2016 che l'istanza di SQL2017 abbiano accesso alla cartella C:\BAK2 .

Parametri

-AccessToken

Token di accesso usato per eseguire l'autenticazione per SQL Server, come alternativa all'autenticazione utente/password o a Windows.

Questa operazione può essere usata, ad esempio, per connettersi a SQL Azure DB e SQL Azure Managed Instance usando un Service Principal oggetto o .Managed Identity

Il parametro da usare può essere una stringa che rappresenta il token o un PSAccessToken oggetto restituito eseguendo Get-AzAccessToken -ResourceUrl https://database.windows.net.

Questo parametro è nuovo nella versione 22 del modulo.

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

-AutoRelocateFile

Quando viene specificato questo commutatore, il cmdlet si occupa di spostare automaticamente tutti i file logici nel backup, a meno che tale file logico non venga specificato con Il file di spostamento. Il server DefaultFile e DefaultLog vengono usati per spostare i file.

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

-BackupDevice

Specifica i dispositivi in cui vengono archiviati i backup. Questo parametro non può essere utilizzato con il parametro BackupFile. Usare questo parametro se si esegue il backup in un dispositivo nastro.

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

-BackupFile

Specifica il percorso o i percorsi in cui vengono archiviati i file di backup. Questo parametro è facoltativo e, Se non specificato, il percorso di backup predefinito del server viene cercato il nome <database name>.trn per i ripristini del log o <database name>.bak per tutti gli altri tipi di ripristino. Questo parametro non può essere usato con il parametro BackupDevice . Se si esegue il backup nel servizio windows Archiviazione BLOB di Azure (URL), è necessario specificare questo parametro o il parametro BackupDevice.

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

-BlockSize

Specifica le dimensioni del blocco fisico, in byte, per il backup. Le dimensioni supportate sono 512, 1024, 2048, 4096, 8192, 16384, 32768 e 65536 (64 KB) byte. Il valore predefinito è 65536 per i dispositivi nastro e 512 per tutti gli altri dispositivi.

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

-BufferCount

Specifica il numero totale di buffer di I/O da utilizzare per l'operazione di backup. È possibile specificare qualsiasi numero intero positivo. Se nel processo di Sqlservr.exe per i buffer non è disponibile spazio indirizzi virtuali insufficienti, si riceverà un errore di memoria insufficiente.

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

-Checksum

Indica che un valore checksum viene calcolato durante l'operazione di ripristino.

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

-ClearSuspectPageTable

Indica che la tabella di pagina sospetta viene eliminata dopo l'operazione di ripristino.

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

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

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

-ConnectionTimeout

Specifica il numero di secondi per attendere una connessione server prima di un errore di timeout. Il valore di timeout deve essere un intero compreso tra 0 e 65534. Se viene specificato 0, i tentativi di connessione non eseguono il timeout.

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

-ContinueAfterError

Indica che l'operazione continua quando si verifica un errore checksum. Se non impostato, l'operazione non verrà completata dopo un errore di checksum.

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

-Credential

Specifica un oggetto PSCredential contenente le credenziali per un account di accesso SQL Server che dispone dell'autorizzazione per eseguire questa operazione.

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

-Database

Specifica il nome del database da ripristinare. Impossibile usare questo parametro con il parametro DatabaseObject. Quando viene usato questo parametro, è necessario specificare anche i parametri Path, InputObject o ServerInstance .

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

-DatabaseFile

Specifica i file di database destinati all'operazione di ripristino. Questa operazione viene usata solo quando il parametro RestoreAction è impostato su Files. Quando il parametro RestoreAction è impostato su Files, è necessario specificare anche il parametro DatabaseFileGroups o DatabaseFiles.

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

-DatabaseFileGroup

Specifica i gruppi di file di database destinati all'operazione di ripristino. Viene usato solo quando il parametro RestoreAction è impostato su File. Quando il parametro RestoreAction è impostato su Files, è necessario specificare anche il parametro DatabaseFileGroups o DatabaseFiles.

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

-DatabaseObject

Specifica un oggetto database per l'operazione di ripristino.

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

-Encrypt

Tipo di crittografia da usare durante la connessione a SQL Server.

Questo valore esegue il Encrypt mapping alla proprietà SqlConnectionEncryptOption nell'oggetto SqlConnection del driver Microsoft.Data.SqlClient.

Nella versione 22 del modulo il valore predefinito è Optional (per la compatibilità con v21). Nella versione 23+ del modulo il valore predefinito sarà "Obbligatorio", che può creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

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

-FileNumber

Specifica il numero di indice usato per identificare il set di backup di destinazione nel supporto di backup.

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

-HostNameInCertificate

Nome host da usare per la convalida del certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Force Encryption e si vuole connettersi a un'istanza usando nome host/nome breve. Se questo parametro viene omesso, è necessario passare il nome di dominio completo (FQDN) a -ServerInstance per connettersi a un'istanza di SQL Server abilitata per Force Encryption.

Questo parametro è nuovo nella versione 22 del modulo.

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

-InputObject

Specifica l'oggetto server dell'istanza di SQL Server in cui si verifica il ripristino.

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

-KeepReplication

Indica che la configurazione della replica viene mantenuta. Se non impostato, la configurazione della replica viene ignorata dall'operazione di ripristino.

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

-MaxTransferSize

Specifica il numero massimo di byte da trasferire tra il supporto di backup e l'istanza di SQL Server. I valori possibili sono i multipli di 65536 byte (64 KB) fino a 4194304 byte (4 MB).

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

-MediaName

Specifica il nome che identifica un set di supporti.

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

-NoRecovery

Indica che il database viene ripristinato nello stato di ripristino. Un'operazione di rollback non si verifica e i backup aggiuntivi possono essere ripristinati.

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

-NoRewind

Indica che un'unità nastro viene lasciata aperta alla posizione finale al termine del ripristino. Se non impostato, il nastro viene riavvolto al termine dell'operazione. Questa operazione non si applica ai ripristini su disco.

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

-Offset

Specifica gli indirizzi di pagina da ripristinare. Viene usato solo quando RestoreAction è impostato su OnlinePage.

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

-Partial

Indica che l'operazione di ripristino è un ripristino parziale.

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

-PassThru

Indica che questo cmdlet restituisce l'oggetto Smo.Backup usato per eseguire l'operazione di ripristino.

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

-Path

Specifica il percorso dell'istanza di SQL Server in cui eseguire l'operazione di ripristino. Questo parametro è facoltativo e, Se non specificato, viene utilizzata la posizione di lavoro corrente.

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

-RelocateFile

Specifica un elenco di oggetti file Smo.Relocate. Ogni oggetto è costituito da un nome file di backup logico e da un percorso di file system fisico. Con il ripristino è possibile spostare il database ripristinato nel percorso fisico specificato del server di destinazione.

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

-ReplaceDatabase

Indica che viene creata una nuova immagine del database. In questo modo viene sovrascritto qualsiasi database esistente con lo stesso nome. In caso contrario, l'operazione di ripristino avrà esito negativo quando un database con tale nome esiste già nel server.

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

-Restart

Indica che questo cmdlet riprende un'operazione di ripristino parzialmente completata. In caso contrario, il cmdlet riavvia un'operazione di ripristino interrotta all'inizio del set di backup.

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

-RestoreAction

Specifica il tipo di operazione di ripristino eseguita. I valori validi sono:

  • Database. Il database viene ripristinato.
  • File Vengono ripristinati uno o più file di dati. Il parametro DatabaseFile o DatabaseFileGroup deve essere specificato.
  • OnlinePage. Una pagina dati viene ripristinata online in modo che il database rimanga disponibile per gli utenti.
  • OnlineFiles. I file di dati vengono ripristinati online in modo che il database rimanga disponibile per gli utenti. Il parametro DatabaseFile o DatabaseFileGroup deve essere specificato.
  • Registro. Il log di traslazione viene ripristinato.
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

Indica che l'accesso al database ripristinato è limitato al ruolo predefinito del database db_owner e ai ruoli predefiniti del server dbcreator e sysadmin.

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

-Script

Indica che questo cmdlet restituisce uno script Transact-SQL che esegue l'operazione di ripristino.

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

-ServerInstance

Specifica il nome di un'istanza di SQL Server. Questa istanza del server diventa la destinazione dell'operazione di ripristino.

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

-SqlCredential

Specifica un oggetto credenziale SQL Server che archivia le informazioni di autenticazione. Se si esegue il backup del servizio di archiviazione BLOB, è necessario specificare questo parametro. Le informazioni di autenticazione archiviate includono il nome dell'account di archiviazione e i valori delle chiavi di accesso associati. Non specificare questo parametro per disco o nastro.

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

-StandbyFile

Specifica il nome di un file di annullamento usato come parte della strategia di creazione di immagini per un'istanza di SQL Server.

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

-StopAtMarkAfterDate

Specifica la data da utilizzare con il nome di contrassegno specificato dal parametro StopAtMarkName per determinare il punto di arresto dell'operazione di ripristino.

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

-StopAtMarkName

Specifica la transazione contrassegnata in corrispondenza della quale arrestare l'operazione di ripristino. Viene usato con StopAtMarkAfterDate per determinare il punto di arresto dell'operazione di ripristino. I dati ripristinati includono la transazione contenente il contrassegno. Se il valore StopAtMarkAfterDate non è impostato, il ripristino si arresta al primo segno con il nome specificato.

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

-StopBeforeMarkAfterDate

Specifica la data da usare con StopBeforeMarkName per determinare il punto di arresto dell'operazione di ripristino.

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

-StopBeforeMarkName

Specifica la transazione contrassegnata prima di arrestare l'operazione di ripristino. Viene usato con StopBeforeMarkAfterDate per determinare il punto di arresto dell'operazione di ripristino.

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

-ToPointInTime

Specifica l'endpoint per il ripristino del log del database. Questo vale solo quando RestoreAction è impostato su Log.

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

-TrustServerCertificate

Indica se il canale verrà crittografato durante il bypass della catena di certificati per convalidare l'attendibilità.

Nella versione 22 del modulo il valore predefinito è $true (per la compatibilità con v21). Nella versione 23+ del modulo il valore predefinito sarà "$false", che può creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

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

-UnloadTapeAfter

Indica che il dispositivo nastro viene riavvolto e scaricato al termine dell'operazione. Se non impostato, non viene eseguito alcun tentativo di riavvolgimento e scaricamento del supporto a nastro. Questa operazione non si applica ai backup del disco.

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

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

Input

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

Specifica un SMO. Oggetto Server che descrive l'istanza di SQL Server in cui si verifica l'operazione di ripristino.

System.String[]