Condividi tramite


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

Descrizione

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

Questo cmdlet viene modellato dopo la classe Microsoft.SqlServer.Management.Smo.Restore. I parametri di questo cmdlet corrispondono in genere alle proprietà dell'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 MainDB completo del database dal file \\mainserver\databasebackup\MainDB.bak all'istanza del server Computer\Instance.

Esempio 2: Ripristinare un log delle transazioni del 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 del server Computer\Instance.

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 MainDB completo del database dal file \\mainserver\databasebackup\MainDB.bak all'istanza del server Computer\Instance, usando l'account di accesso SQL sa. Questo comando richiederà la password per completare l'autenticazione.

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 del server Computer\Instance.

Esempio 5: Ripristinare i record del log delle transazioni fino a un punto nel tempo

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 rilocare i file di dati e di 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 completo MainDB nell'istanza del server Computer\Instancee i file di dati e di log vengono rilocati. 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 il file verrà inserito 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 del server Computer\Instance. 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 MainDB completo del database dal file nel servizio archiviazione BLOB di Windows Azure all'istanza del server Computer\Instance.

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 del database AdventureWorks nell'istanza di SQL2016 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 avrebbe avuto esito negativo perché i file fisici in cui sono diversi, come illustrato nelle due tabelle precedenti (inoltre, più probabilmente i file sarebbero stati in uso da SQL2016 e possibilmente non accessibili da SQL2017). Il -AutoRelocate ha consentito all'utente di evitare di dover usare esplicitamente il -RelocationFile, l'argomento a cui è piuttosto noioso da compilare.

Nota: si presuppone 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 a SQL Server, come alternativa all'autenticazione utente/password o windows.

Può essere usato, ad esempio, per connettersi a SQL Azure DB e SQL Azure Managed Instance usando un Service Principal o un Managed Identity.

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

Questo parametro è nuovo nella versione 22 del modulo.

Tipo:PSObject
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-AutoRelocateFile

Quando si specifica questa opzione, il cmdlet si occuperà di rilocare automaticamente tutti i file logici nel backup, a meno che tale file logico non venga specificato con il RelocateFile. Il server DefaultFile e DefaultLog vengono usati per rilocare i file.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-BackupDevice

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

Tipo:BackupDeviceItem[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-BackupFile

Specifica il percorso o i percorsi in cui vengono archiviati i file di backup. Questo parametro è facoltativo. 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 ripristini. Questo parametro non può essere usato con il parametro BackupDevice. Se si esegue il backup nel servizio archiviazione BLOB di Windows Azure (URL), è necessario specificare questo parametro o il parametro BackupDevice.

Tipo:String[]
Posizione:2
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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). Il valore predefinito è 65536 per i dispositivi nastro e 512 per tutti gli altri dispositivi.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-BufferCount

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

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Checksum

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ClearSuspectPageTable

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ConnectionTimeout

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

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ContinueAfterError

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Credential

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

Tipo:PSCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Database

Specifica il nome del database da ripristinare. Non è possibile utilizzare questo parametro con il parametro DatabaseObject. Quando si usa questo parametro, è necessario specificare anche Path, InputObjecto parametri di ServerInstance.

Tipo:String
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DatabaseFile

Specifica i file di database di destinazione dell'operazione di ripristino. Viene utilizzato solo quando il parametro RestoreAction è impostato su Files. Quando il parametro RestoreAction è impostato su Files, è necessario specificare anche il parametro DatabaseFileGroups o DatabaseFiles parametro .

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DatabaseFileGroup

Specifica i filegroup di database di destinazione dell'operazione di ripristino. Questa operazione viene utilizzata solo quando il parametro restoreAction è impostato su File. Quando il parametro RestoreAction è impostato su Files, è necessario specificare anche il parametro DatabaseFileGroups o DatabaseFiles parametro .

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DatabaseObject

Specifica un oggetto di database per l'operazione di ripristino.

Tipo:Database
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Encrypt

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

Questo valore esegue il mapping alla proprietà EncryptSqlConnectionEncryptOption sull'oggetto SqlConnection del driver Microsoft.Data.SqlClient.

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

Questo parametro è nuovo nella versione 22 del modulo.

Tipo:String
Valori accettati:Mandatory, Optional, Strict
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-FileNumber

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

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-HostNameInCertificate

Nome host da usare per convalidare il certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Forza crittografia 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 Forza crittografia.

Questo parametro è nuovo nella versione 22 del modulo.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Specifica l'oggetto server dell'istanza di SQL Server in cui viene eseguito il ripristino.

Tipo:Server[]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-KeepReplication

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 multipli di 65536 byte (64 KB), fino a 4194304 byte (4 MB).

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MediaName

Specifica il nome che identifica un set di supporti.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NoRecovery

Indica che il database viene ripristinato nello stato di ripristino. Un'operazione di rollback non viene eseguita e è possibile ripristinare backup aggiuntivi.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NoRewind

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Offset

Specifica gli indirizzi di pagina da ripristinare. Questa opzione viene utilizzata solo quando RestoreAction è impostato su OnlinePage.

Tipo:Int64[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Partial

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PassThru

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Path

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

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ProgressAction

Determina in che modo PowerShell risponde agli aggiornamenti dello stato generati da uno script, un cmdlet o un provider, ad esempio le barre di stato generate dal cmdlet Write-Progress. Il cmdlet Write-Progress crea barre di stato che mostrano lo stato di un comando.

Tipo:ActionPreference
Alias:proga
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RelocateFile

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

Tipo:RelocateFile[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ReplaceDatabase

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Restart

Indica che questo cmdlet riprende un'operazione di ripristino parzialmente completata. Se non impostato, il cmdlet riavvia un'operazione di ripristino interrotta all'inizio del set di backup.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RestoreAction

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

  • Banca dati. Il database viene ripristinato.
  • file. Vengono ripristinati uno o più file di dati. È necessario specificare il parametro DatabaseFile o DatabaseFileGroup.
  • OnlinePage. Una pagina di 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. È necessario specificare il parametro DatabaseFile o DatabaseFileGroup.
  • Registro. Il log di traslazione viene ripristinato.
Tipo:RestoreActionType
Valori accettati:Database, Files, OnlinePage, OnlineFiles, Log
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Script

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ServerInstance

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

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-SqlCredential

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

Tipo:PSObject
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StandbyFile

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StopAtMarkAfterDate

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 recuperati includono la transazione che contiene il contrassegno. Se il valore StopAtMarkAfterDate non è impostato, il ripristino si arresta al primo segno con il nome specificato.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StopBeforeMarkAfterDate

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StopBeforeMarkName

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ToPointInTime

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 compatibilità con v21). Nella versione 23+ del modulo, il valore predefinito sarà "$false", che potrebbe creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UnloadTapeAfter

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

Specifica un valore SMO. Oggetto Server che descrive l'istanza di SQL Server in cui viene eseguita l'operazione di ripristino.

System.String[]