Restore-SqlDatabase

从备份或事务日志记录还原数据库。

语法

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

说明

Restore-SqlDatabase cmdlet 对 SQL Server 数据库执行还原操作。 这包括完整数据库还原、事务日志还原和数据库文件还原。

此 cmdlet 在 Microsoft.SqlServer.Management.Smo.Restore 类之后建模。 此 cmdlet 上的参数通常对应于 Smo.Restore 对象的属性。

示例

示例 1:从网络共享上的备份文件还原数据库

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

此命令将文件 \\mainserver\databasebackup\MainDB.bak 的完整数据库 MainDB 还原到服务器实例 Computer\Instance

示例 2:还原数据库事务日志

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

此命令将数据库 MainDB 的事务日志从文件 \\mainserver\databasebackup\MainDB.trn 还原到服务器实例 Computer\Instance

示例 3:还原数据库并提示输入密码

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

此命令使用 sa SQL 登录名将文件 \\mainserver\databasebackup\MainDB.bak 的完整数据库 MainDB 还原到服务器实例 Computer\Instance。 此命令将提示输入密码以完成身份验证。

示例 4:使用 NORECOVERY 选项还原事务日志

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

此命令使用文件 \\mainserver\databasebackup\MainDB.trnNORECOVERY 选项将数据库 MainDB 的事务日志还原到服务器实例 Computer\Instance

示例 5:将事务日志记录还原到一个时间点

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

此命令将数据库 MainDB 的事务日志还原到传递给 ToPointInTime 参数的事务日志,2017 年 9 月 21 日下午 11:11。

示例 6:还原数据库并重新定位数据和日志文件

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)

此示例将完整数据库 MainDB 还原到服务器实例 Computer\Instance,并重新定位数据和日志文件。 对于移动的每个文件,该示例将构造 Microsoft.SqlServer.Management.Smo.RelocateFile 类的实例。 每个构造函数采用两个参数:文件的逻辑名称以及文件将放置在目标服务器上的物理位置。 RelocateFile 对象将传递给 Restore-SqlDatabase cmdlet 的 RelocateFile 参数。

示例 7:从磁带还原数据库

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

此示例将数据库 MainDB 从名为 \\.\tape0 的磁带设备还原到服务器实例 Computer\Instance。 为了表示此设备,该示例构造 Microsoft.Sqlserver.Management.Smo.BackupDeviceItem 类的实例。 构造函数采用两个参数:备份设备的名称和备份设备的类型。 然后,此 BackupDeviceItem 对象传递给 Restore-SqlDatabase cmdlet 的 BackupDevice 参数。

示例 8:从 Azure Blob 存储服务还原数据库

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

此命令将 Windows Azure Blob 存储服务上的文件的完整数据库 MainDB 还原到服务器实例 Computer\Instance

示例 9:使用 -AutoRelocateFile 备份SQL2016上的数据库并在SQL2017还原

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

第一个命令在计算机 MYSERVER上运行的SQL2016实例上备份数据库 AdventureWorks。 备份保存在 C:\BAK2下。

第二个 cmdlet 中使用相同的备份文件来还原在同一台计算机上运行的SQL2017实例上的数据库(MYSERVER)。 请注意,如果没有 -AutoRelocate 开关,cmdlet 将失败,因为物理文件存在差异,如上面的两个表所示(此外,文件很可能已被SQL2016使用,并且可能不可由SQL2017访问)。 -AutoRelocate 允许用户避免显式使用 -RelocationFile,这是非常繁琐的生成参数。

注意:假设SQL2016实例和SQL2017实例都有权访问 C:\BAK2 文件夹。

参数

-AccessToken

用于向 SQL Server 进行身份验证的访问令牌,作为用户/密码或 Windows 身份验证的替代方法。

例如,这可用于使用 Service PrincipalManaged Identity连接到 SQL Azure DBSQL Azure Managed Instance

要使用的参数可以是表示令牌的字符串,也可以是运行 Get-AzAccessToken -ResourceUrl https://database.windows.net返回的 PSAccessToken 对象。

此参数是模块 v22 中的新增参数。

类型:PSObject
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AutoRelocateFile

指定此开关后,cmdlet 将负责自动重新定位备份中的所有逻辑文件,除非使用 RelocateFile指定了此类逻辑文件。 服务器 DefaultFile 和 DefaultLog 用于重定位文件。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BackupDevice

指定存储备份的设备。 此参数不能与 BackupFile 参数一起使用。 如果要备份到磁带设备,请使用此参数。

类型:BackupDeviceItem[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BackupFile

指定存储备份文件的位置或位置。 此参数是可选的。 如果未指定,则搜索服务器的默认备份位置,以查找日志还原的名称 <database name>.trn,或 <database name>.bak 所有其他类型的还原。 此参数不能与 BackupDevice 参数一起使用。 如果要备份到 Windows Azure Blob 存储服务(URL),则必须指定此参数或 BackupDevice 参数。

类型:String[]
Position:2
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BlockSize

指定备份的物理块大小(以字节为单位)。 支持的大小为 512、1024、2048、4096、8192、16384、32768 和 65536(64 KB) 字节。 对于磁带设备,默认值为 65536,对于所有其他设备,默认值为 512。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BufferCount

指定要用于备份操作的 I/O 缓冲区总数。 可以指定任何正整数。 如果缓冲区的 Sqlservr.exe 进程中虚拟地址空间不足,将收到内存不足错误。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Checksum

指示在还原操作期间计算校验和值。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ClearSuspectPageTable

指示在还原操作后删除可疑页表。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-ConnectionTimeout

指定在超时失败之前等待服务器连接的秒数。 超时值必须是介于 0 和 65534 之间的整数。 如果指定了 0,则连接尝试不会超时。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ContinueAfterError

指示在发生校验和错误时继续操作。 如果未设置,该操作将在校验和错误后失败。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Credential

指定一个 PSCredential 对象,该对象包含有权执行此操作的 SQL Server 登录名的凭据。

类型:PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Database

指定要还原的数据库的名称。 这不能与 DatabaseObject 参数一起使用。 使用此参数时,还必须指定 PathInputObjectServerInstance 参数。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DatabaseFile

指定还原操作面向的数据库文件。 仅当 RestoreAction 参数设置为 Files 时,才使用此参数。 将 RestoreAction 参数设置为 Files 时,还必须指定 databaseFileGroups 或 DatabaseFiles 参数

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DatabaseFileGroup

指定还原操作面向的数据库文件组。 仅当 RestoreAction 参数设置为 File 时,才使用此参数。 将 RestoreAction 参数设置为 Files 时,还必须指定 databaseFileGroups 或 DatabaseFiles 参数

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DatabaseObject

指定还原操作的数据库对象。

类型:Database
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Encrypt

连接到 SQL Server 时要使用的加密类型。

此值映射到 Microsoft.Data.SqlClient 驱动程序的 SqlConnection 对象的 Encrypt 属性 SqlConnectionEncryptOption

在模块的 v22 中,默认为 Optional(为了与 v21 兼容)。 在模块的 v23+ 中,默认值为“必需”,这可能会为现有脚本创建中断性变更。

此参数是模块 v22 中的新增参数。

类型:String
接受的值:Mandatory, Optional, Strict
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FileNumber

指定用于标识备份介质上的目标备份集的索引号。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HostNameInCertificate

用于验证 SQL Server TLS/SSL 证书的主机名。 如果为强制加密启用了 SQL Server 实例,并且想要使用主机名/shortname 连接到实例,则必须传递此参数。 如果省略此参数,则必须将完全限定域名(FQDN)传递给 -ServerInstance 才能连接到为强制加密启用的 SQL Server 实例。

此参数是模块 v22 中的新增参数。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

指定发生还原的 SQL Server 实例的服务器对象。

类型:Server[]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-KeepReplication

指示复制配置已保留。 如果未设置,还原操作将忽略复制配置。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaxTransferSize

指定要在备份介质和 SQL Server 实例之间传输的最大字节数。 可能的值为 65536 字节(64 KB),最大为 4194304 个字节(4 MB)。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MediaName

指定标识媒体集的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoRecovery

指示数据库已还原到还原状态。 不会执行回滚操作,并且可以还原其他备份。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoRewind

指示在还原完成后,磁带驱动器在结束位置保持打开状态。 如果未设置,操作完成后,磁带将重新部署。 这不适用于磁盘还原。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Offset

指定要还原的页面地址。 仅当 RestoreAction 设置为 OnlinePage 时,才使用此功能。

类型:Int64[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Partial

指示还原操作是部分还原。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PassThru

指示此 cmdlet 输出用于执行还原操作的 Smo.Backup 对象。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Path

指定要对其执行还原操作的 SQL Server 实例的路径。 此参数是可选的。 如果未指定,则使用当前工作位置。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ProgressAction

确定 PowerShell 如何响应脚本、cmdlet 或提供程序生成的进度更新,例如由 Write-Progress cmdlet 生成的进度栏。 Write-Progress cmdlet 创建显示命令状态的进度栏。

类型:ActionPreference
别名:proga
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RelocateFile

指定 Smo.Relocate 文件对象的列表。 每个对象都包含一个逻辑备份文件名和一个物理文件系统位置。 还原会将还原的数据库移动到目标服务器上的指定物理位置。

类型:RelocateFile[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ReplaceDatabase

指示创建了数据库的新映像。 这会覆盖具有相同名称的任何现有数据库。 如果未设置,则当服务器上已存在具有该名称的数据库时,还原操作将失败。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Restart

指示此 cmdlet 恢复部分完成的还原操作。 如果未设置,cmdlet 会在备份集的开头重新启动中断的还原操作。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RestoreAction

指定执行的还原操作的类型。 有效值为:

  • 数据库。 数据库已还原。
  • 文件。 还原一个或多个数据文件。 必须指定 DatabaseFile 或 DatabaseFileGroup 参数。
  • OnlinePage。 数据页联机还原,以便数据库仍可供用户使用。
  • OnlineFiles。 数据文件联机还原,以便数据库仍可供用户使用。 必须指定 DatabaseFile 或 DatabaseFileGroup 参数。
  • 日志。 事务处理日志已还原。
类型:RestoreActionType
接受的值:Database, Files, OnlinePage, OnlineFiles, Log
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RestrictedUser

指示对还原的数据库的访问仅限于db_owner固定数据库角色,以及 dbcreator 和 sysadmin 固定服务器角色。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Script

指示此 cmdlet 输出执行还原操作的 Transact-SQL 脚本。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServerInstance

指定 SQL Server 实例的名称。 此服务器实例将成为还原操作的目标。

类型:String[]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SqlCredential

指定存储身份验证信息的 SQL Server 凭据对象。 如果要备份到 Blob 存储服务,则必须指定此参数。 存储的身份验证信息包括存储帐户名称和关联的访问密钥值。 不要为磁盘或磁带指定此参数。

类型:PSObject
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StandbyFile

指定撤消文件的名称,该文件用作 SQL Server 实例的映像策略的一部分。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StopAtMarkAfterDate

指定要与 StopAtMarkName 参数指定的标记名称一起使用的日期,以确定恢复操作的停止点。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StopAtMarkName

指定要停止恢复操作的标记事务。 这与 StopAtMarkAfterDate 一起使用,以确定恢复操作的停止点。 恢复的数据包括包含标记的事务。 如果未设置 StopAtMarkAfterDate 值,则恢复将在具有指定名称的第一个标记处停止。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StopBeforeMarkAfterDate

指定要与 StopBeforeMarkName 一起使用的日期,以确定恢复操作的停止点。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StopBeforeMarkName

指定要停止恢复操作之前标记的事务。 这与 StopBeforeMarkAfterDate 一起使用,以确定恢复操作的停止点。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ToPointInTime

指定数据库日志还原的终结点。 这仅适用于 RestoreAction 设置为 Log 时。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TrustServerCertificate

指示通道是否在绕过证书链以验证信任的同时进行加密。

在模块的 v22 中,默认为 $true(为了与 v21 兼容)。 在模块的 v23+ 中,默认值将为“$false”,这可能会为现有脚本创建中断性变更。

此参数是模块 v22 中的新增参数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UnloadTapeAfter

指示操作完成后,磁带设备将重新部署并卸载。 如果未设置,则不会尝试倒退并卸载磁带介质。 这不适用于磁盘备份。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

指定 SMO。描述在其中执行还原操作的 SQL Server 实例的服务器对象。

System.String[]