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

说明

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"

此命令将整个数据库 MainDB 从 文件 \\mainserver\databasebackup\MainDB.bak 还原到服务器实例 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

此命令使用 选项将数据库的MainDBNORECOVERY事务日志从 文件\\mainserver\databasebackup\MainDB.trn还原到服务器实例 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"

此命令将完整数据库MainDB从 Windows Azure Blob 存储 服务上的 文件还原到服务器实例 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 身份验证的替代方法。

例如,这可用于连接到 SQL Azure DB 和使用 SQL Azure Managed InstanceService PrincipalManaged Identity

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

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

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

-AutoRelocateFile

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

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

-BackupDevice

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

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

-BackupFile

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

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

-BlockSize

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

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

-BufferCount

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

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

-Checksum

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

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

-ClearSuspectPageTable

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

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

-Confirm

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

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

-ConnectionTimeout

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

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

-ContinueAfterError

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

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

-Credential

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

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

-Database

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

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

-DatabaseFile

指定还原操作的目标数据库文件。 仅当 RestoreAction 参数设置为“文件”时,才使用此选项。 当 RestoreAction 参数设置为“文件”时,还必须指定 DatabaseFileGroupsDatabaseFiles 参数。

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

-DatabaseFileGroup

指定还原操作所面向的数据库文件组。 仅当 RestoreAction 参数设置为“文件”时,才使用此选项。 当 RestoreAction 参数设置为“文件”时,还必须指定 DatabaseFileGroupsDatabaseFiles 参数。

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

-DatabaseObject

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

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

-Encrypt

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

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

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

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

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

-FileNumber

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

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

-HostNameInCertificate

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

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

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

-InputObject

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

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

-KeepReplication

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

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

-MaxTransferSize

指定要在备份媒体与 SQL Server 实例之间传输的最大字节数。 可能的值是 65536 字节 (64 KB) 的倍数,最多可达到 4194304 字节 (4 MB)。

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

-MediaName

指定标识媒体集的名称。

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

-NoRecovery

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

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

-NoRewind

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

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

-Offset

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

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

-Partial

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

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

-PassThru

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

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

-Path

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

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

-RelocateFile

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

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

-ReplaceDatabase

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

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

-Restart

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

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

-RestoreAction

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

  • 数据库。 数据库已还原。
  • 文件存储。 还原一个或多个数据文件。 必须指定 DatabaseFile 或 DatabaseFileGroup 参数。
  • OnlinePage。 数据页联机还原,以便数据库可供用户使用。
  • OnlineFiles。 数据文件联机还原,以便数据库仍可供用户使用。 必须指定 DatabaseFile 或 DatabaseFileGroup 参数。
  • 日志。 事务处理日志已还原。
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

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

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

-Script

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

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

-ServerInstance

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

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

-SqlCredential

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

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

-StandbyFile

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

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

-StopAtMarkAfterDate

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

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

-StopAtMarkName

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

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

-StopBeforeMarkAfterDate

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

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

-StopBeforeMarkName

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

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

-ToPointInTime

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

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

-TrustServerCertificate

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

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

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

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

-UnloadTapeAfter

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

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

-WhatIf

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

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

输入

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

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

System.String[]