Restore-SqlDatabase

Restaura um banco de dados de um backup ou registros de log de transações.

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

Description

O cmdlet Restore-SqlDatabase executa operações de restauração em um banco de dados SQL Server. Isso inclui restaurações completas de banco de dados, restaurações de log de transações e restaurações de arquivo de banco de dados.

Esse cmdlet é modelado de acordo com a classe Microsoft.SqlServer.Management.Smo.Restore. Os parâmetros nesse cmdlet geralmente correspondem às propriedades no objeto Smo.Restore.

Exemplos

Exemplo 1: Restaurar um banco de dados de um arquivo de backup em um compartilhamento de rede

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

Esse comando restaura o banco de dados MainDB completo do arquivo \\mainserver\databasebackup\MainDB.bak para a instância Computer\Instancedo servidor .

Exemplo 2: Restaurar um log de transações de banco de dados

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

Esse comando restaura o log de transações do banco de dados MainDB do arquivo \\mainserver\databasebackup\MainDB.trn para a instância Computer\Instancedo servidor .

Exemplo 3: Restaurar um banco de dados e solicitar uma senha

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

Esse comando restaura o banco de dados MainDB completo do arquivo \\mainserver\databasebackup\MainDB.bak para a instância Computer\Instancedo servidor usando o logon do sa SQL. Esse comando solicitará uma senha para concluir a autenticação.

Exemplo 4: Restaurar um log de transações com a opção NORECOVERY

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

Esse comando restaura o log de transações do banco de dados MainDB com a opção NORECOVERY do arquivo \\mainserver\databasebackup\MainDB.trn para a instância Computer\Instancedo servidor .

Exemplo 5: Restaurar registros de log de transações até um ponto no tempo

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

Esse comando restaura o log de transações do banco de dados MainDB até a data passada para o parâmetro ToPointInTime , 21 de set de 2017 11:11 PM.

Exemplo 6: Restaurar um banco de dados e realocar os arquivos de dados e de 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)

Este exemplo restaura o banco de dados MainDB completo para a instância Computer\Instancedo servidor e realoca os arquivos de dados e de log. Para cada arquivo movido, o exemplo constrói uma instância da classe Microsoft.SqlServer.Management.Smo.RelocateFile. Cada construtor usa dois argumentos, o nome lógico do arquivo e o local físico em que o arquivo será colocado no servidor de destino. Os objetos RelocateFile são passados para o parâmetro RelocateFile do cmdlet Restore-SqlDatabase .

Exemplo 7: Restaurar um banco de dados da fita

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

Este exemplo restaura o banco de dados MainDB do dispositivo de fita nomeado \\.\tape0 para a instância Computer\Instancedo servidor . Para representar esse dispositivo, o exemplo constrói uma instância da classe Microsoft.Sqlserver.Management.Smo.BackupDeviceItem. O construtor usa dois argumentos, o nome do dispositivo de backup e o tipo do dispositivo de backup. Esse objeto BackupDeviceItem é então passado para o parâmetro BackupDevice do cmdlet Restore-SqlDatabase .

Exemplo 8: Restaurar um banco de dados do serviço Armazenamento de Blobs do Azure

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

Esse comando restaura o banco de dados MainDB completo do arquivo no serviço Armazenamento de Blobs do Azure do Windows para a instância Computer\Instancedo servidor .

Exemplo 9: Fazer backup de um banco de dados no SQL2016 e restaurar em 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

O primeiro comando usa um backup do banco de dados AdventureWorks em SQL2016 instância em execução no computador MYSERVER. O backup é salvo em C:\BAK2.

O mesmo arquivo de backup é usado no segundo cmdlet para restaurar o banco de dados em uma instância de SQL2017 em execução no mesmo computador (MYSERVER). Observe que, sem a opção -AutoRelocate , o cmdlet teria falhado porque os arquivos físicos em que diferentes, conforme mostrado nas duas tabelas acima (além disso, provavelmente os arquivos teriam sido usados por SQL2016 e possivelmente não acessíveis por SQL2017). O -AutoRelocate permitiu que o usuário evitasse ter que usar explicitamente o -RelocationFile, o argumento para o qual é bastante tedioso criar.

Observação: há uma suposição de que a instância SQL2016 e SQL2017 têm acesso à pasta C:\BAK2 .

Parâmetros

-AccessToken

O token de acesso usado para autenticar para SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.

Isso pode ser usado, por exemplo, para se conectar SQL Azure DB e SQL Azure Managed Instance usar um Service Principal ou um Managed Identity.

O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um PSAccessToken objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

Esse parâmetro é novo na v22 do módulo.

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

-AutoRelocateFile

Quando essa opção for especificada, o cmdlet cuidará da realocação automática de todos os arquivos lógicos no backup, a menos que esse arquivo lógico seja especificado com o RelocateFile. O servidor DefaultFile e DefaultLog são usados para realocar os arquivos.

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

-BackupDevice

Especifica os dispositivos em que os backups são armazenados. Esse parâmetro não pode ser usado com o parâmetro BackupFile. Use esse parâmetro se você estiver fazendo backup em um dispositivo de fita.

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

-BackupFile

Especifica o local ou os locais em que os arquivos de backup são armazenados. Esse parâmetro é opcional. Se não for especificado, o local de backup padrão do servidor será pesquisado quanto ao nome <database name>.trn para restaurações de log ou <database name>.bak para todos os outros tipos de restaurações. Esse parâmetro não pode ser usado com o parâmetro BackupDevice . Se você estiver fazendo backup na URL (serviço do Windows Armazenamento de Blobs do Azure), esse parâmetro ou o parâmetro BackupDevice deverão ser especificados.

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

-BlockSize

Especifica o tamanho do bloco físico, em bytes, para o backup. Os tamanhos com suporte são 512, 1024, 2048, 4096, 8192, 16384, 32768 e 65536 (64 KB) bytes. O padrão é 65536 para dispositivos de fita e 512 para todos os outros dispositivos.

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

-BufferCount

Especifica o número total de buffers de E/S a ser usado para a operação de backup. Você pode especificar qualquer inteiro positivo. Se não houver espaço de endereço virtual suficiente no processo de Sqlservr.exe para os buffers, você receberá um erro de memória insuficiente.

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

-Checksum

Indica que um valor de soma de verificação é calculado durante a operação de restauração.

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

-ClearSuspectPageTable

Indica que a tabela de página suspeita é excluída após a operação de restauração.

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

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

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

-ConnectionTimeout

Especifica o número de segundos para aguardar uma conexão de servidor antes de uma falha no tempo limite. O valor do tempo limite deve ser um inteiro entre 0 e 65534. Se 0 for especificado, as tentativas de conexão não atingirão o tempo limite.

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

-ContinueAfterError

Indica que a operação continua quando ocorre um erro de soma de verificação. Se isso não estiver configurado, haverá falha na operação depois de um erro de soma de verificação.

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

-Credential

Especifica um objeto PSCredential que contém as credenciais de um logon SQL Server que tem permissão para executar essa operação.

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

-Database

Especifica o nome do banco de dados a ser restaurado. Isso não pode ser usado com o parâmetro DatabaseObject. Quando esse parâmetro é usado, os parâmetros Path, InputObject ou ServerInstance também devem ser especificados.

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

-DatabaseFile

Especifica os arquivos de banco de dados direcionados pela operação de restauração. Isso só é usado quando o parâmetro RestoreAction é definido como Arquivos. Quando o parâmetro RestoreAction é definido como Arquivos, o parâmetro DatabaseFileGroups ou DatabaseFiles também deve ser especificado.

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

-DatabaseFileGroup

Especifica os grupos de arquivos de banco de dados direcionados pela operação de restauração. Isso só é usado quando o parâmetro RestoreAction é definido como Arquivo. Quando o parâmetro RestoreAction é definido como Arquivos, o parâmetro DatabaseFileGroups ou DatabaseFiles também deve ser especificado.

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

-DatabaseObject

Especifica um objeto de banco de dados para a operação de restauração.

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

-Encrypt

O tipo de criptografia a ser usado ao se conectar a SQL Server.

Esse valor é mapeado para a Encrypt propriedade SqlConnectionEncryptOption no objeto SqlConnection do driver Microsoft.Data.SqlClient.

Na v22 do módulo, o padrão é Optional (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

-FileNumber

Especifica o número de índice usado para identificar o conjunto de backup direcionado no meio de backup.

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

-HostNameInCertificate

O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se sua instância de SQL Server estiver habilitada para o Force Encryption e quiser se conectar a uma instância usando nome de host/nome curto. Se esse parâmetro for omitido, passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance será necessário para se conectar a uma instância de SQL Server habilitada para o Force Encryption.

Esse parâmetro é novo na v22 do módulo.

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

-InputObject

Especifica o objeto de servidor da instância de SQL Server em que a restauração ocorre.

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

-KeepReplication

Indica que a configuração de replicação é preservada. Se isso não estiver configurado, a configuração de replicação será ignorada pela operação de restauração.

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

-MaxTransferSize

Especifica o número máximo de bytes a serem transferidos entre a mídia de backup e a instância de SQL Server. Os valores possíveis são múltiplos de 65536 bytes (64 KB), até 4194304 bytes (4 MB).

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

-MediaName

Especifica o nome que identifica um conjunto de mídias.

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

-NoRecovery

Indica que o banco de dados é restaurado no estado de restauração. Uma operação de reversão não ocorre e backups adicionais podem ser restaurados.

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

-NoRewind

Indica que uma unidade de fita é deixada aberta na posição final quando a restauração é concluída. Se isso não estiver definido, a fita será rebobinada depois ao término da operação. Isso não se aplica a restaurações de disco.

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

-Offset

Especifica os endereços de página a serem restaurados. Isso só é usado quando RestoreAction é definido como OnlinePage.

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

-Partial

Indica que a operação de restauração é uma restauração parcial.

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

-PassThru

Indica que esse cmdlet gera o objeto Smo.Backup usado para executar a operação de restauração.

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

-Path

Especifica o caminho da instância SQL Server na qual executar a operação de restauração. Esse parâmetro é opcional. Se não for especificado, o local de trabalho atual será usado.

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

-RelocateFile

Especifica uma lista de objetos de arquivo Smo.Relocate. Cada objeto consiste em um nome lógico de arquivo de backup e um local físico de sistema de arquivos. A restauração move o banco de dados restaurado em um local físico especificado no servidor de destino.

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

-ReplaceDatabase

Indica que uma nova imagem do banco de dados foi criada. Isso substitui qualquer banco de dados existente com o mesmo nome. Se não estiver definida, a operação de restauração falhará quando um banco de dados com esse nome já existir no servidor.

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

-Restart

Indica que esse cmdlet retoma uma operação de restauração parcialmente concluída. Se não estiver definido, o cmdlet reiniciará uma operação de restauração interrompida no início do conjunto de backup.

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

-RestoreAction

Especifica o tipo de operação de restauração executada. Os valores válidos são:

  • Banco de dados. O banco de dados é restaurado.
  • Arquivos. Um ou mais arquivos de dados são restaurados. O parâmetro DatabaseFile ou DatabaseFileGroup deve ser especificado.
  • OnlinePage. Uma página de dados é restaurada online para que o banco de dados permaneça disponível para os usuários.
  • OnlineFiles. Os arquivos de dados são restaurados online para que o banco de dados permaneça disponível para os usuários. O parâmetro DatabaseFile ou DatabaseFileGroup deve ser especificado.
  • Log. O log de translação é restaurado.
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 que o acesso ao banco de dados restaurado é restrito à db_owner função de banco de dados fixa e às funções de servidor fixas dbcreator e sysadmin.

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

-Script

Indica que esse cmdlet gera um script Transact-SQL que executa a operação de restauração.

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

-ServerInstance

Especifica o nome de uma instância de SQL Server. Esta instância de servidor torna-se o destino da operação de restauração.

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

-SqlCredential

Especifica um objeto de credencial SQL Server que armazena informações de autenticação. Se você estiver fazendo backup no serviço de Armazenamento de Blobs, deverá especificar esse parâmetro. As informações de autenticação armazenadas incluem o nome da conta de armazenamento e os valores de chave de acesso associados. Não especifique esse parâmetro para disco ou fita.

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

-StandbyFile

Especifica o nome de um arquivo de desfazer usado como parte da estratégia de geração de imagens para uma instância de SQL Server.

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

-StopAtMarkAfterDate

Especifica a data a ser usada com o nome da marca especificado pelo parâmetro StopAtMarkName para determinar o ponto de interrupção da operação de recuperação.

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

-StopAtMarkName

Especifica a transação marcada na qual interromper a operação de recuperação. Isso é usado com StopAtMarkAfterDate para determinar o ponto de interrupção da operação de recuperação. Os dados recuperados incluem a transação que contém a marca. Se o valor StopAtMarkAfterDate não estiver definido, a recuperação será interrompida na primeira marca com o nome especificado.

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

-StopBeforeMarkAfterDate

Especifica a data a ser usada com StopBeforeMarkName para determinar o ponto de interrupção da operação de recuperação.

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

-StopBeforeMarkName

Especifica a transação marcada antes da qual interromper a operação de recuperação. Isso é usado com StopBeforeMarkAfterDate para determinar o ponto de interrupção da operação de recuperação.

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

-ToPointInTime

Especifica o ponto de extremidade para restauração de log de banco de dados. Isso só se aplica quando RestoreAction é definido como Log.

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

-TrustServerCertificate

Indica se o canal será criptografado ao ignorar a movimentação da cadeia de certificados para validar a confiança.

Na v22 do módulo, o padrão é $true (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

-UnloadTapeAfter

Indica que o dispositivo de fita é rebobinado e descarregado quando a operação é concluída. Se isso não estiver configurado, nenhuma tentativa será feita para retroceder e descarregar a mídia de fita. Isso não se aplica a backups de disco.

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

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

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

Entradas

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

Especifica um SMO. Objeto server que descreve a instância SQL Server na qual a operação de restauração ocorre.

System.String[]