Restore-SqlDatabase
语法
ByPath (默认值)
Restore-SqlDatabase
[-Database] <String>
[[-BackupFile] <String[]>]
[-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>]
[-Path <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>]
ByName
Restore-SqlDatabase
[-Database] <String>
[[-BackupFile] <String[]>]
-ServerInstance <String[]>
[-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>]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-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>]
ByObject
Restore-SqlDatabase
[-Database] <String>
[[-BackupFile] <String[]>]
-InputObject <Server[]>
[-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>]
[-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>]
ByDBObject
Restore-SqlDatabase
[-DatabaseObject] <Database>
[[-BackupFile] <String[]>]
[-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>]
[-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")
此命令使用 MainDB SQL 登录名将文件的完整数据库\\mainserver\databasebackup\MainDB.bak从文件Computer\Instance还原到服务器实例sa。
此命令将提示输入密码以完成身份验证。
示例 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"
此命令将 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 中使用相同的备份文件来还原在同一台计算机(MYSERVER)上运行的SQL2017实例上的数据库。
请注意,如果没有 -AutoRelocate 开关,cmdlet 将失败,因为物理文件存在差异,如上面的两个表所示(此外,文件很可能已被SQL2016使用,并且可能SQL2017无法访问)。
-AutoRelocate 允许用户避免显式使用 -RelocationFile,这是非常繁琐的生成参数。
注意:假设SQL2016实例和SQL2017实例都有权访问 C:\BAK2 文件夹。
参数
-AccessToken
用于向 SQL Server 进行身份验证的访问令牌,作为用户/密码或 Windows 身份验证的替代方法。
例如,这可用于连接 SQL Azure DB 和使用 SQL Azure Managed InstanceService Principal a 或 a Managed Identity.
要使用的参数可以是表示令牌的字符串,也可以是一个 PSAccessToken 通过运行 Get-AzAccessToken -ResourceUrl https://database.windows.net返回的对象。
此参数是模块 v22 中的新增参数。
参数属性
| 类型: | PSObject
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-AutoRelocateFile
指定此开关后,cmdlet 将负责自动重新定位备份中的所有逻辑文件,除非使用 RelocateFile 指定了此类逻辑文件。 服务器 DefaultFile 和 DefaultLog 用于重定位文件。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-BackupDevice
指定存储备份的设备。 此参数不能与 BackupFile 参数一起使用。
如果要备份到磁带设备,请使用此参数。
参数属性
| 类型: | BackupDeviceItem[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-BackupFile
指定存储备份文件的位置或位置。 此参数是可选的。
如果未指定,服务器的默认备份位置将搜索日志还原的名称 <database name>.trn 或 <database name>.bak 所有其他类型的还原。
此参数不能与 BackupDevice 参数一起使用。
如果要备份到 Windows Azure Blob 存储服务(URL),则必须指定此参数或 BackupDevice 参数。
参数属性
| 类型: | String[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 2 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-BlockSize
指定备份的物理块大小(以字节为单位)。
支持的大小是 512、1024、2048、4096、8192、16384、32768 和 65536 (64 KB) 字节。
对于磁带设备,默认值为 65536,对于所有其他设备,默认值为 512。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-BufferCount
指定用于备份操作的 I/O 缓冲区总数。
可以指定任何正整数。
如果缓冲区的 Sqlservr.exe 进程中虚拟地址空间不足,将收到内存不足错误。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Checksum
指示在还原作期间计算校验和值。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ClearSuspectPageTable
指示在还原作后删除可疑页表。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | cf |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ConnectionTimeout
指定在超时失败之前等待服务器连接的秒数。
超时值必须是介于 0 和 65534 之间的整数。
如果指定了 0,则连接尝试不会超时。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByName
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ContinueAfterError
指示在发生校验和错误时继续作。
如果未设置,该作将在校验和错误后失败。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Credential
指定一个 PSCredential 对象,该对象包含有权执行此作的 SQL Server 登录名的凭据。
参数属性
| 类型: | PSCredential
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByName
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Database
指定要还原的数据库的名称。
这不能与 DatabaseObject 参数一起使用。
使用此参数时,还必须指定 Path、 InputObject 或 ServerInstance 参数。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByPath
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
ByName
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
ByObject
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-DatabaseFile
指定还原作面向的数据库文件。
仅当 RestoreAction 参数设置为 Files 时,才使用此参数。
当 RestoreAction 参数设置为 Files 时,还必须指定 DatabaseFileGroups 或 DatabaseFiles 参数。
参数属性
| 类型: | String[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-DatabaseFileGroup
指定还原作面向的数据库文件组。
仅当 RestoreAction 参数设置为 File 时,才使用此参数。
当 RestoreAction 参数设置为 Files 时,还必须指定 DatabaseFileGroups 或 DatabaseFiles 参数。
参数属性
| 类型: | String[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-DatabaseObject
指定还原作的数据库对象。
参数属性
| 类型: | Database
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByDBObject
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Encrypt
连接到 SQL Server 时要使用的加密类型。
此值映射到 Encrypt Microsoft.Data.SqlClient 驱动程序的 SqlConnection 对象上的属性 SqlConnectionEncryptOption 。
在模块的 v22 中,默认值为 Optional (为了与 v21 兼容)。 在模块的 v23+ 中,默认值为“必需”,这可能会为现有脚本创建中断性变更。
此参数是模块 v22 中的新增参数。
参数属性
| 类型: | String
|
| 默认值: | None |
| 接受的值: | Mandatory, Optional, Strict |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-FileNumber
指定用于标识备份介质上的目标备份集的索引号。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-HostNameInCertificate
验证 SQL Server TLS/SSL 证书时要使用的主机名。 如果为强制加密启用了 SQL Server 实例,并且想要使用主机名/shortname 连接到实例,则必须传递此参数。 如果省略此参数,则必须将完全限定域名(FQDN)传递给 -ServerInstance 才能连接到为强制加密启用的 SQL Server 实例。
此参数是模块 v22 中的新增参数。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
指定发生还原的 SQL Server 实例的服务器对象。
| 类型: | Server[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
ByObject
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-KeepReplication
指示复制配置已保留。
如果未设置,还原作将忽略复制配置。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-MaxTransferSize
指定要在备份介质和 SQL Server 实例之间传输的最大字节数。
可能的值为 65536 字节(64 KB),最大为 4194304 个字节(4 MB)。
参数属性
| 类型: | Int32
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
指定标识媒体集的名称。
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NoRecovery
指示数据库已还原到还原状态。
不会执行回滚作,并且可以还原其他备份。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NoRewind
指示在还原完成后,磁带驱动器在结束位置保持打开状态。
如果未设置,作完成后,磁带将重新部署。
这不适用于磁盘还原。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Offset
指定要还原的页面地址。
仅当 RestoreAction 设置为 OnlinePage 时,才使用此功能。
参数属性
| 类型: | Int64[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Partial
指示还原作是部分还原。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PassThru
指示此 cmdlet 输出用于执行还原作的 Smo.Backup 对象。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Path
指定要对其执行还原作的 SQL Server 实例的路径。
此参数是可选的。
如果未指定,则使用当前工作位置。
参数属性
| 类型: | String[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByPath
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-RelocateFile
指定 Smo.Relocate 文件对象的列表。
每个对象都包含一个逻辑备份文件名和一个物理文件系统位置。
还原会将还原的数据库移动到目标服务器上的指定物理位置。
参数属性
| 类型: | RelocateFile[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ReplaceDatabase
指示创建了数据库的新映像。
这会覆盖具有相同名称的任何现有数据库。
如果未设置,则当服务器上已存在具有该名称的数据库时,还原作将失败。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Restart
指示此 cmdlet 恢复部分完成的还原作。
如果未设置,cmdlet 会在备份集的开头重新启动中断的还原作。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-RestoreAction
指定执行的还原作的类型。 有效值为:
- 数据库。 数据库已还原。
- 文件。 还原一个或多个数据文件。 必须指定 DatabaseFile 或 DatabaseFileGroup 参数。
- OnlinePage。 数据页联机还原,以便数据库仍可供用户使用。
- OnlineFiles。 数据文件联机还原,以便数据库仍可供用户使用。 必须指定 DatabaseFile 或 DatabaseFileGroup 参数。
- 日志。 事务处理日志已还原。
参数属性
| 类型: | RestoreActionType
|
| 默认值: | None |
| 接受的值: | Database, Files, OnlinePage, OnlineFiles, Log |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-RestrictedUser
指示对还原的数据库的访问仅限于db_owner固定数据库角色,以及 dbcreator 和 sysadmin 固定服务器角色。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Script
指示此 cmdlet 输出执行还原作的 Transact-SQL 脚本。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ServerInstance
指定 SQL Server 实例的名称。
此服务器实例将成为还原作的目标。
参数属性
| 类型: | String[]
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ByName
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-SqlCredential
指定存储身份验证信息的 SQL Server 凭据对象。
如果要备份到 Blob 存储服务,则必须指定此参数。
存储的身份验证信息包括存储帐户名称和关联的访问密钥值。
不要为磁盘或磁带指定此参数。
参数属性
| 类型: | PSObject
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-StandbyFile
指定撤消文件的名称,该文件用作 SQL Server 实例的映像策略的一部分。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-StopAtMarkAfterDate
指定要与 StopAtMarkName 参数指定的标记名称一起使用的日期,以确定恢复作的停止点。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-StopAtMarkName
指定要停止恢复作的标记事务。
这与 StopAtMarkAfterDate 一起使用,以确定恢复作的停止点。
恢复的数据包括包含标记的事务。
如果未设置 StopAtMarkAfterDate 值,恢复将在具有指定名称的第一个标记处停止。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
指定要与 StopBeforeMarkName 一起使用的日期,以确定恢复作的停止点。
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
指定要停止恢复作之前标记的事务。
这与 StopBeforeMarkAfterDate 一起使用,以确定恢复作的停止点。
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ToPointInTime
指定数据库日志还原的终结点。
这仅适用于 RestoreAction 设置为 Log 时。
参数属性
| 类型: | String
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-TrustServerCertificate
指示通道是否在绕过证书链以验证信任的同时进行加密。
在模块的 v22 中,默认值为 $true (为了与 v21 兼容)。 在模块的 v23+ 中,默认值将为“$false”,这可能会为现有脚本创建中断性变更。
此参数是模块 v22 中的新增参数。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-UnloadTapeAfter
指示作完成后,磁带设备将重新部署并卸载。
如果未设置,则不会尝试倒退并卸载磁带介质。
这不适用于磁盘备份。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
| 类型: | SwitchParameter
|
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 无线 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
Microsoft.SqlServer.Management.Smo.Database
Microsoft.SqlServer.Management.Smo.Server
指定 SMO。描述在其中执行还原作的 SQL Server 实例的服务器对象。
System.String