你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Start-AzureSqlDatabaseRestore
执行数据库的时间点还原。
注意
本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧式 Azure 资源。 创建新资源时,建议不要使用旧的 PowerShell 模块,因为计划将停用 ASM。 有关详细信息,请参阅 Azure Service Manager 停用。
Az PowerShell 模块是建议用于管理 PowerShell 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。
语法
Start-AzureSqlDatabaseRestore
[-SourceServerName <String>]
-SourceDatabase <Database>
[-TargetServerName <String>]
-TargetDatabaseName <String>
[-PointInTime <DateTime>]
[-Profile <AzureSMProfile>]
[<CommonParameters>]
Start-AzureSqlDatabaseRestore
[-SourceServerName <String>]
-SourceRestorableDroppedDatabase <RestorableDroppedDatabase>
[-TargetServerName <String>]
-TargetDatabaseName <String>
[-PointInTime <DateTime>]
[-Profile <AzureSMProfile>]
[<CommonParameters>]
Start-AzureSqlDatabaseRestore
-SourceServerName <String>
-SourceDatabaseName <String>
[-TargetServerName <String>]
-TargetDatabaseName <String>
[-PointInTime <DateTime>]
[-Profile <AzureSMProfile>]
[<CommonParameters>]
Start-AzureSqlDatabaseRestore
-SourceServerName <String>
-SourceDatabaseName <String>
-SourceDatabaseDeletionDate <DateTime>
[-TargetServerName <String>]
[-RestorableDropped]
-TargetDatabaseName <String>
[-PointInTime <DateTime>]
[-Profile <AzureSMProfile>]
[<CommonParameters>]
说明
Start-AzureSqlDatabaseRestore cmdlet 执行基本数据库、标准数据库或高级数据库的时间点还原。 Azure SQL 数据库将基本数据库备份保留 7 天、标准备份 14 天和高级数据库备份 35 天。 还原操作将创建新的数据库。 如果未删除源数据库, 则 SourceDatabaseName 和 TargetDatabaseName 参数必须具有不同的值。
Azure SQL 数据库目前不支持跨服务器还原。 源和目标服务器名称必须相同。
示例
示例 1:将指定为对象的数据库还原到某个时间点
PS C:\> $Database = Get-AzureSqlDatabase -ServerName "Server01" -DatabaseName "Database17"
PS C:\> $Operation = Start-AzureSqlDatabaseRestore -SourceDatabase $Database -TargetDatabaseName "DatabaseRestored" -PointInTime "2013-01-01 06:00:00"
第一个命令获取名为 Server01 的服务器中名为 Database17 的数据库的数据库对象,然后将其存储在$Database变量中。
第二个命令将数据库还原到特定的时间点。 该命令指定新数据库的名称。
示例 2:将按名称指定的数据库还原到某个时间点
PS C:\> $Operation = Start-AzureSqlDatabaseRestore -SourceServerName "Server01" -SourceDatabaseName "Database17" -TargetDatabaseName "DatabaseRestored" -PointInTime "2013-01-01 06:00:00"
此命令将名为 Database17 的数据库还原到特定的时间点。 该命令指定新数据库的名称。
示例 3:将指定为对象的已删除数据库还原到某个时间点
PS C:\> $Database = Get-AzureSqlDatabase -RestorableDropped -ServerName "Server01" -DatabaseName "Database01" -DatabaseDeletionDate "2012-11-09T22:59:43.000Z"
PS C:\> $Operation = Start-AzureSqlDatabaseRestore -SourceRestorableDroppedDatabase $Database -TargetDatabaseName "DroppedDatabaseRestored"
第一个命令获取名为 Server01 的数据库对象。 该命令指定 RestorableDropped 参数。 因此,cmdlet 将获取可还原的删除数据库指定的还原点。 该命令将该数据库对象存储在$Database变量中。
第二个命令还原由$Database指定的已删除数据库。 该命令指定新数据库的名称。
参数
-PointInTime
指定要还原数据库的还原点。 还原操作完成后,数据库将还原到此参数指定的日期和时间的状态。 默认情况下,对于实时数据库,此数据库设置为当前时间,对于已删除的数据库,此 cmdlet 使用删除数据库的时间。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Profile
指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。
类型: | AzureSMProfile |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RestorableDropped
指示此 cmdlet 还原可还原的已删除数据库。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-SourceDatabase
指定此 cmdlet 还原的数据库的名称。
类型: | Database |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-SourceDatabaseDeletionDate
指定删除数据库的日期和时间。 指定与实际数据库删除时间匹配的时间时,必须包含毫秒数。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-SourceDatabaseName
指定此 cmdlet 还原的实时数据库的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-SourceRestorableDroppedDatabase
指定一个对象,该对象表示此 cmdlet 还原的可还原已删除的数据库。 若要获取 RestorableDroppedDatabase 对象,请使用 Get-AzureSqlDatabase cmdlet,并指定 RestorableDropped 参数。
类型: | RestorableDroppedDatabase |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-SourceServerName
指定源数据库在运行和运行的服务器的名称,或源数据库在删除之前运行的服务器的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TargetDatabaseName
指定还原操作创建的新数据库的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TargetServerName
指定此 cmdlet 将数据库还原到的服务器的名称。
Azure SQL 数据库目前不支持跨服务器还原。 源和目标服务器名称必须相同。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.RestorableDroppedDatabase
Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.Database
输出
Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.RestoreDatabaseOperation
备注
- 必须使用基于证书的身份验证来运行此 cmdlet。 在运行此 cmdlet 的计算机上运行以下命令:
PS C:\\\> $subId = \<Subscription ID\>
PS C:\\\> $thumbprint = \<Certificate Thumbprint\>
PS C:\\\> $myCert = Get-Item Cert:\CurrentUser\My\$thumbprint
PS C:\\\> Set-AzureSubscription -SubscriptionName "mySubscription" -SubscriptionId $subId -Certificate $myCert
PS C:\\\> Select-AzureSubscription -SubscriptionName "mySubscription"