你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Restore-AzSqlInstanceDatabase

还原Azure SQL 托管实例数据库。

语法

Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-SubscriptionId <String>]
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-InputObject] <AzureSqlManagedDatabaseBaseModel>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-ResourceId] <String>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-SubscriptionId <String>]
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-InputObject] <AzureSqlManagedDatabaseBaseModel>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-ResourceId] <String>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-SubscriptionId <String>]
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       [-DeletionDate] <DateTime>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-SubscriptionId <String>]
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       [-DeletionDate] <DateTime>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       -SubscriptionId <String>
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       -TargetSubscriptionId <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-InputObject] <AzureSqlManagedDatabaseBaseModel>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       -TargetSubscriptionId <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       [-ResourceId] <String>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       -TargetSubscriptionId <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromPointInTimeBackup]
       -SubscriptionId <String>
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       [-DeletionDate] <DateTime>
       -PointInTime <DateTime>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       -TargetSubscriptionId <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromGeoBackup]
       [-GeoBackupObject] <AzureSqlRecoverableManagedDatabaseModel>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromGeoBackup]
       [-ResourceId] <String>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromGeoBackup]
       [-ResourceGroupName] <String>
       [-InstanceName] <String>
       [-Name] <String>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-AzSqlInstanceDatabase
       [-FromLongTermRetentionBackup]
       [-SubscriptionId <String>]
       [-ResourceId] <String>
       -TargetInstanceDatabaseName <String>
       -TargetInstanceName <String>
       -TargetResourceGroupName <String>
       [-AsJob]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

说明

Restore-AzSqlInstanceDatabase cmdlet 从异地冗余备份、实时数据库中的时间点或长期保留备份还原实例数据库。 还原的数据库作为新实例数据库创建。

示例

示例 1:从某个时间点还原实例数据库

Restore-AzSqlInstanceDatabase -Name "Database01" -InstanceName "managedInstance1" -ResourceGroupName "ResourceGroup01" -PointInTime UTCDateTime -TargetInstanceDatabaseName "Database01_restored"

该命令将实例数据库 Database01 从指定的时间点备份还原到名为Database01_restored的实例数据库。

示例 2:将实例数据库从某个时间点还原到不同资源组上的另一个实例

Restore-AzSqlInstanceDatabase -Name "Database01" -InstanceName "managedInstance1" -ResourceGroupName "ResourceGroup01" -PointInTime UTCDateTime -TargetInstanceDatabaseName "Database01_restored" -TargetInstanceName "managedInstance1" -TargetResourceGroupName "ResourceGroup02"

该命令将资源组 ResourceGroup01 上实例 managedInstance1 上的实例数据库 Database01 从指定的时间点备份还原到资源组 ResourceGroup02 上实例 managedInstance2 上名为Database01_restored的实例数据库。

示例 3:异地还原实例数据库

$GeoBackup = Get-AzSqlInstanceDatabaseGeoBackup -ResourceGroupName "ResourceGroup01" -InstanceName "managedInstance1" -Name "Database01"
$GeoBackup | Restore-AzSqlInstanceDatabase -FromGeoBackup -TargetInstanceDatabaseName "Database01_restored" -TargetInstanceName "managedInstance2" -TargetResourceGroupName "ResourceGroup02"

第一个命令获取名为 Database01 的数据库的异地冗余备份,然后将其存储在$GeoBackup变量中。 第二个命令将$GeoBackup中的备份还原到名为Database01_restored的实例数据库。

示例 4:从某个时间点还原已删除的实例数据库

$deletedDatabase = Get-AzSqlDeletedInstanceDatabaseBackup -ResourceGroupName "ResourceGroup01" -InstanceName "managedInstance1" -DatabaseName "DB1"
Restore-AzSqlInstanceDatabase -FromPointInTimeBackup -Name $deletedDatabase.Name -InstanceName $deletedDatabase.ManagedInstanceName -ResourceGroupName $deletedDatabase.ResourceGroupName -DeletionDate $deletedDatabase.DeletionDate -PointInTime UTCDateTime -TargetInstanceDatabaseName "Database01_restored"

第一个命令获取实例“managedInstance1”上名为“DB1”的已删除实例数据库。 第二个命令将提取的数据库从指定的时间点备份还原到名为Database01_restored的实例数据库。

示例 5:从某个时间点还原已删除的实例数据库

$deletedDatabase = Get-AzSqlDeletedInstanceDatabaseBackup -ResourceGroupName "ResourceGroup01" -InstanceName "managedInstance1" -DatabaseName "DB1"
Restore-AzSqlInstanceDatabase -FromPointInTimeBackup -InputObject $deletedDatabase[0] -PointInTime UTCDateTime -TargetInstanceDatabaseName "Database01_restored"

第一个命令获取实例“managedInstance1”上名为“DB1”的已删除实例数据库。 第二个命令使用输入对象将提取的数据库从指定的时间点备份还原到名为Database01_restored的实例数据库。

示例 6:从 LTR 备份还原数据库。

Restore-AzSqlInstanceDatabase -FromLongTermRetentionBackup -ResourceId "/subscriptions/f46521f3-5bb0-4eea-a3c2-c2d5987df96b/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/southeastasia/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/test/longTermRetentionManagedInstanceBackups/15be823c-7e2c-49d8-819f-a3fdcad92215;132268250550000000" -TargetInstanceDatabaseName "restoreTarget" -TargetInstanceName "testInstance" -TargetResourceGroupName "testResourceGroup"

Location                          : southeastasia
Tags                              :
Collation                         : SQL_Latin1_General_CP1_CI_AS
Status                            : Online
RestorePointInTime                :
DefaultSecondaryLocation          : northeurope
CatalogCollation                  :
CreateMode                        :
StorageContainerUri               :
StorageContainerSasToken          :
SourceDatabaseId                  :
FailoverGroupId                   :
RecoverableDatabaseId             :
RestorableDroppedDatabaseId       :
LongTermRetentionBackupResourceId :
ResourceGroupName                 : testResourceGroup
ManagedInstanceName               : testInstance
Name                              : restoreTarget
CreationDate                      : 3/4/2020 8:12:56 AM
EarliestRestorePoint              : 3/4/2020 8:14:29 AM
Id                                : /subscriptions/f46521f3-5bb0-4eea-a3c2-c2d5987df96b/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/restoreTarget

使用给定的资源 ID 还原 LTR 备份(可通过运行 Get-AzSqlInstanceDatabaseLongTermRetentionBackup 找到)。

示例 7. 从不同的订阅还原数据库

Restore-AzSqlInstanceDatabase -FromPointInTimeBackup `
			-SubscriptionId "sourceSubscriptionID" `
			-ResourceGroupName "sourceRGName" `
			-InstanceName "sourceManagedInstanceName" `
			-Name "sourceDatabaseName" `
			-PointInTime $pointInTime `
			-TargetInstanceDatabaseName "targetDatabaseName" `
			-TargetInstanceName "targetManagedInstnaceName" `
			-TargetResourceGroupName "targetResourceGroupName" `
			-TargetSubscriptionId "targetSubscriptionId"

该命令将数据库备份从一个订阅中的实例还原到实例上的数据库targetDatabaseName,还原到不同的订阅targetSubscriptionIdtargetManagedInstanceName

示例 8. 使用源对象和管道从不同的订阅还原数据库

Set-AzContext -SubscriptionId "sourceSubscriptionId"
$sourceDatabase = Get-AzSqlInstanceDatabase -Name "sourceDatabaseName" -InstanceName "sourceManagedInstanceName" -ResourceGroupName "sourceRGName"

Set-AzContext -SubscriptionId "targetSubscriptionId"
$sourceDatabase | Restore-AzSqlInstanceDatabase -FromPointInTimeBackup `
			-PointInTime $pointInTime `
			-TargetInstanceDatabaseName "targetDatabaseName" `
			-TargetInstanceName "targetManagedInstnaceName" `
			-TargetResourceGroupName "targetResourceGroupName" `
			-TargetSubscriptionId "targetSubscriptionId"

第一个命令获取源托管数据库对象,并将其存储在变量 sourceDatabase 中。 第二个命令使用时间点还原从源执行到给定目标数据库的还原。

参数

-AsJob

在后台运行 cmdlet

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:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeletionDate

已删除数据库的删除日期。

Type:DateTime
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-FromGeoBackup

从异地备份还原。

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

-FromLongTermRetentionBackup

从长期保留备份还原。

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

-FromPointInTimeBackup

从时间点备份还原。

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

-GeoBackupObject

要还原的可恢复实例数据库对象

Type:AzureSqlRecoverableManagedDatabaseModel
Aliases:RecoverableInstanceDatabase
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

要还原的实例数据库对象

Type:AzureSqlManagedDatabaseBaseModel
Aliases:InstanceDatabase
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceName

实例名称。

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

-Name

要还原的实例数据库名称。

Type:String
Aliases:InstanceDatabaseName, SourceInstanceDatabaseName
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PointInTime

将数据库还原到的时间点。

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

-ResourceGroupName

资源组的名称。

Type:String
Aliases:SourceResourceGroupName
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceId

要还原的实例数据库对象的资源 ID

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

-SubscriptionId

源订阅 ID。

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

-TargetInstanceDatabaseName

要还原到的目标实例数据库的名称。

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

-TargetInstanceName

要还原到的目标实例的名称。 如果未指定,则目标实例与源实例相同。

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

-TargetResourceGroupName

要还原到的目标资源组的名称。 如果未指定,则目标资源组与源资源组相同。

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

-TargetSubscriptionId

要还原到的目标订阅 ID 的名称。

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

-WhatIf

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

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

输入

AzureSqlManagedDatabaseBaseModel

AzureSqlRecoverableManagedDatabaseModel

String

输出

AzureSqlManagedDatabaseModel