你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Initialize-AzDataProtectionRestoreRequest
初始化还原请求对象,以便在受保护的备份实例上触发还原。
语法
Initialize-AzDataProtectionRestoreRequest
-DatasourceType <DatasourceTypes>
-SourceDataStore <DataStoreType>
-RestoreLocation <String>
-RestoreType <RestoreTargetType>
-TargetResourceId <String>
[-RecoveryPoint <String>]
[-PointInTime <DateTime>]
[-RehydrationDuration <String>]
[-RehydrationPriority <String>]
[-RestoreConfiguration <KubernetesClusterRestoreCriteria>]
[-SecretStoreURI <String>]
[-SecretStoreType <SecretStoreTypes>]
[<CommonParameters>]
Initialize-AzDataProtectionRestoreRequest
-DatasourceType <DatasourceTypes>
-SourceDataStore <DataStoreType>
-RestoreLocation <String>
-RestoreType <RestoreTargetType>
-TargetResourceId <String>
[-RecoveryPoint <String>]
[-RestoreConfiguration <KubernetesClusterRestoreCriteria>]
[-ItemLevelRecovery]
[-ContainersList <String[]>]
[-PrefixMatch <Hashtable>]
[<CommonParameters>]
Initialize-AzDataProtectionRestoreRequest
-DatasourceType <DatasourceTypes>
-SourceDataStore <DataStoreType>
-RestoreLocation <String>
-RestoreType <RestoreTargetType>
[-RecoveryPoint <String>]
[-PointInTime <DateTime>]
[-RehydrationDuration <String>]
[-RehydrationPriority <String>]
[-RestoreConfiguration <KubernetesClusterRestoreCriteria>]
[-SecretStoreURI <String>]
[-SecretStoreType <SecretStoreTypes>]
-BackupInstance <BackupInstanceResource>
[<CommonParameters>]
Initialize-AzDataProtectionRestoreRequest
-DatasourceType <DatasourceTypes>
-SourceDataStore <DataStoreType>
-RestoreLocation <String>
-RestoreType <RestoreTargetType>
[-RecoveryPoint <String>]
[-PointInTime <DateTime>]
[-RehydrationDuration <String>]
[-RehydrationPriority <String>]
[-RestoreConfiguration <KubernetesClusterRestoreCriteria>]
[-SecretStoreURI <String>]
[-SecretStoreType <SecretStoreTypes>]
[-ItemLevelRecovery]
[-ContainersList <String[]>]
-BackupInstance <BackupInstanceResource>
[-FromPrefixPattern <String[]>]
[-ToPrefixPattern <String[]>]
[<CommonParameters>]
Initialize-AzDataProtectionRestoreRequest
-DatasourceType <DatasourceTypes>
-SourceDataStore <DataStoreType>
-RestoreLocation <String>
-RestoreType <RestoreTargetType>
[-RecoveryPoint <String>]
[-RehydrationDuration <String>]
[-RehydrationPriority <String>]
[-SecretStoreURI <String>]
[-SecretStoreType <SecretStoreTypes>]
-TargetContainerURI <String>
[-TargetResourceIdForRestoreAsFile <String>]
[-FileNamePrefix <String>]
[<CommonParameters>]
说明
初始化还原请求对象,以便在受保护的备份实例上触发还原。
示例
示例 1:获取受保护 Azure 磁盘备份实例的还原请求对象
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "sarath-rg" -VaultName "sarath-vault"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxx-xxx-xxx" -ResourceGroupName "sarath-rg" -VaultName "sarath-vault" -BackupInstanceName $instance.Name
Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDisk -SourceDataStore OperationalStore -RestoreLocation "westus" -RestoreType AlternateLocation -TargetResourceId "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/disks/{DiskName}" -RecoveryPoint "892e5c5014dc4a96807d22924f5745c9"
ObjectType RestoreTargetInfoObjectType RestoreTargetInfoRecoveryOption RestoreTargetInfoRestoreLocation SourceDataStoreType RecoveryPointI
d
---------- --------------------------- ------------------------------- -------------------------------- ------------------- --------------
AzureBackupRecoveryPointBasedRestoreRequest RestoreTargetInfo FailIfExists westus OperationalStore 892e5c5014dc4a96807d22924f5745c9
此命令初始化了可用于触发还原的还原请求对象。
示例 2:获取受保护 Azure Blob 备份实例的还原请求对象
$startTime = (Get-Date).AddDays(-30).ToString("yyyy-MM-ddTHH:mm:ss.0000000Z")
$endTime = (Get-Date).AddDays(0).ToString("yyyy-MM-ddTHH:mm:ss.0000000Z")
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "rgName" -VaultName "vaultName"
$pointInTimeRange = Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName -ResourceGroupName "rgName" -SubscriptionId "subscriptionId" -VaultName "vaultName" -SourceDataStoreType OperationalStore -StartTime $startTime -EndTime $endTime
Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $vault.Location -RestoreType OriginalLocation -BackupInstance $instance[0] -PointInTime (Get-Date -Date $pointInTimeRange.RestorableTimeRange.EndTime)
ObjectType RestoreTargetInfoObjectType RestoreTargetInfoRecoveryOption RestoreTargetInfoRestoreLocation SourceDataStoreType RecoveryPointTime
---------- --------------------------- ------------------------------- -------------------------------- ------------------- -----------------
AzureBackupRecoveryTimeBasedRestoreRequest restoreTargetInfo FailIfExists eastus2euap OperationalStore 2021-04-24T13:32:41.7018481Z
此命令初始化了一个还原请求对象,该对象可用于触发 Blob 的还原。
示例 3:获取受保护 AzureBlob 备份实例下容器的项级别恢复的还原请求对象
$startTime = (Get-Date).AddDays(-30).ToString("yyyy-MM-ddTHH:mm:ss.0000000Z")
$endTime = (Get-Date).AddDays(0).ToString("yyyy-MM-ddTHH:mm:ss.0000000Z")
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "rgName" -VaultName "vaultName"
$pointInTimeRange = Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName -ResourceGroupName "rgName" -SubscriptionId "subscriptionId" -VaultName "vaultName" -SourceDataStoreType OperationalStore -StartTime $startTime -EndTime $endTime
Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $vault.Location -RestoreType OriginalLocation -BackupInstance $instances[0] -PointInTime (Get-Date).AddDays(-1) -ItemLevelRecovery -ContainersList "containerName1","containerName2"
ObjectType RestoreTargetInfoObjectType RestoreTargetInfoRecoveryOption RestoreTargetInfoRestoreLocation SourceDataStoreType RecoveryPointTime
---------- --------------------------- ------------------------------- -------------------------------- ------------------- -----------------
AzureBackupRecoveryTimeBasedRestoreRequest itemLevelRestoreTargetInfo FailIfExists eastus2euap OperationalStore 2021-04-23T02:47:02.9500000Z
此命令初始化了一个还原请求对象,该对象可用于在 Blob 的容器级别触发项级恢复。
示例 4:获取受保护 AzureBlob 备份实例下容器/prefixMatch 的项级别恢复的还原请求对象
$startTime = (Get-Date).AddDays(-30).ToString("yyyy-MM-ddTHH:mm:ss.0000000Z")
$endTime = (Get-Date).AddDays(0).ToString("yyyy-MM-ddTHH:mm:ss.0000000Z")
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "rgName" -VaultName "vaultName"
$pointInTimeRange = Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName -ResourceGroupName "rgName" -SubscriptionId "subscriptionId" -VaultName "vaultName" -SourceDataStoreType OperationalStore -StartTime $startTime -EndTime $endTime
Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $vault.Location -RestoreType OriginalLocation -BackupInstance $instances[0] -PointInTime (Get-Date).AddDays(-1) -ItemLevelRecovery -FromPrefixPattern "container1/aaa","container1/ccc", "container2/aab", "container3" -ToPrefixPattern "container1/bbb","container1/ddd", "container2/abc", "container3-0"
ObjectType RestoreTargetInfoObjectType RestoreTargetInfoRecoveryOption RestoreTargetInfoRestoreLocation SourceDataStoreType RecoveryPointTime
---------- --------------------------- ------------------------------- -------------------------------- ------------------- -----------------
AzureBackupRecoveryTimeBasedRestoreRequest itemLevelRestoreTargetInfo FailIfExists eastus2euap OperationalStore 2021-04-23T02:47:02.9500000Z
此命令初始化了还原请求对象,该对象可用于根据 Blob 容器下的名称前缀在 Blob 级别触发项级恢复。
上述 restoreRequest 还原以下容器/blob:
FromPrefix ToPrefix “container1/aaa” “container1/bbb” (还原此前缀范围中匹配的所有 Blob) “container1/ccc” “container1/d” “container2/aab” “container2/abc” “container3” “container3-0” (还原整个 container3)
注意:范围不应相互重叠。 参考:https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
示例 5:获取作为数据源类型 AzureDatabaseForPostgreSQL 数据库进行还原的跨区域还原请求对象
$vault = Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName -Subscription $SubscriptionId -Vault $VaultName
$instance = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId -ResourceGroup $resourceGroupName -Vault $vaultName -DatasourceType AzureDatabaseForPostgreSQL
$recoveryPointsCrr = Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name -ResourceGroupName $resourceGroupName -VaultName $vaultName -SubscriptionId $subscriptionId -UseSecondaryRegion
$targetResourceId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/{targetResourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{targetServerName}/databases/{targetDatabaseName}"
$secretURI = "https://{crr-key-vault}.vault.azure.net/secrets/{secret-for-crr}"
$OssRestoreReq = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation $vault.ReplicatedRegion[0] -RestoreType AlternateLocation -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId -TargetResourceId $targetResourceId -SecretStoreURI $secretURI -SecretStoreType AzureKeyVault
ObjectType SourceDataStoreType SourceResourceId RecoveryPointId
---------- ------------------- ---------------- ---------------
AzureBackupRecoveryPointBasedRestoreRequest VaultStore d49aeb83264456ccab92a105cade9afe
第一个和第二个命令从 Azure 资源图提取保管库和备份实例。 第三个命令用于从次要区域提取恢复点,以便进行跨区域还原。 最后一个命令构造跨区域还原请求对象,以作为数据源类型 AzureDatabaseForPostgreSQL 的数据库还原到备用位置。 请注意,我们将 RestoreLocation 参数设置为$vault。ReplicationdRegion[0] (配对区域)而不是$vault。正常还原的位置。 使用 Test-AzDataProtectionBackupInstanceRestore、Start-AzDataProtectionBackupInstanceRestore 命令验证和触发还原。
示例 6:获取作为数据源类型 AzureDatabaseForPostgreSQL 数据库进行还原的跨区域还原请求对象
$vault = Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName -Subscription $SubscriptionId -Vault $VaultName
$instance = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId -ResourceGroup $resourceGroupName -Vault $vaultName -DatasourceType AzureDatabaseForPostgreSQL
$recoveryPointsCrr = Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name -ResourceGroupName $resourceGroupName -VaultName $vaultName -SubscriptionId $subscriptionId -UseSecondaryRegion
$targetContainerURI = "https://{targetStorageAccountName}.blob.core.windows.net/{targetContainerName}"
$fileNamePrefix = "oss-pstest-crrasfiles"
$OssRestoreReq = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation $vault.ReplicatedRegion[0] -RestoreType RestoreAsFiles -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI -FileNamePrefix $fileNamePrefix
ObjectType SourceDataStoreType SourceResourceId RecoveryPointId
---------- ------------------- ---------------- ---------------
AzureBackupRecoveryPointBasedRestoreRequest VaultStore d49aeb83264456ccab92a105cade9afe
第一个和第二个命令从 Azure 资源图提取保管库和备份实例。 第三个命令用于从次要区域提取恢复点,以便进行跨区域还原。 最后一个命令构造用于还原的跨区域还原请求对象作为数据源类型 AzureDatabaseForPostgreSQL 的文件。 请注意,我们将 RestoreLocation 参数设置为$vault。ReplicationdRegion[0] (配对区域)而不是$vault。正常还原的位置。 使用 Test-AzDataProtectionBackupInstanceRestore、Start-AzDataProtectionBackupInstanceRestore 命令验证和触发还原。
参数
-BackupInstance
用于触发原始区域设置还原的备份实例对象。 若要构造,请参阅 BACKUPINSTANCE 属性的 NOTES 部分并创建哈希表。
类型: | BackupInstanceResource |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ContainersList
项级别恢复的容器名称。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DatasourceType
数据源类型
类型: | DatasourceTypes |
接受的值: | AzureDisk, AzureBlob, AzureDatabaseForPostgreSQL, AzureKubernetesService, AzureDatabaseForPGFlexServer, AzureDatabaseForMySQL |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-FileNamePrefix
要作为备份数据的前缀的文件名。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-FromPrefixPattern
指定 PITR 的 Blob 还原开始范围。 可以使用此选项为每个容器中的 blob 子集指定起始范围以还原。 使用正斜杠 (/) 将容器名称与 Blob 前缀模式分开。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ItemLevelRecovery
切换参数以启用项级恢复。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-PointInTime
还原的时间点。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PrefixMatch
使用此参数可以按容器中的前缀筛选块 blob,以便备用位置 ILR。 指定前缀时,只会还原与容器中该前缀匹配的 blob。 此参数的输入是一个哈希表,其中每个键都是容器名称,每个值都是该容器的字符串前缀数组。
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RecoveryPoint
要还原的恢复点的 ID。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RehydrationDuration
存档恢复点的解除冻结持续时间保持冻结状态,解除冻结持续时间的默认值为 15。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RehydrationPriority
存档恢复点的解除冻结优先级。 若要解除存档点的还原,此参数是必需的。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RestoreConfiguration
还原配置进行还原。 使用此参数通过 AzureKubernetesService 还原。 若要构造,请参阅 RESTORECONFIGURATION 属性的 NOTES 部分并创建哈希表。
类型: | KubernetesClusterRestoreCriteria |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RestoreLocation
目标还原位置
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-RestoreType
还原目标类型
类型: | RestoreTargetType |
接受的值: | AlternateLocation, OriginalLocation, RestoreAsFiles |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-SecretStoreType
用于对数据源进行机密存储身份验证的机密存储类型。 目前仅 AzureDatabaseForPostgreSQL 支持此参数。
类型: | SecretStoreTypes |
接受的值: | AzureKeyVault |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SecretStoreURI
用于对数据源进行机密存储身份验证的机密 URI。 目前仅 AzureDatabaseForPostgreSQL 支持此参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SourceDataStore
恢复点的数据存储类型
类型: | DataStoreType |
接受的值: | ArchiveStore, OperationalStore, VaultStore |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TargetContainerURI
目标存储帐户容器 ID,备份数据将还原为文件。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TargetResourceId
指定用于还原备用位置中的备份数据的目标资源 ID。 例如,为 workloadType AzureDatabaseForPostgreSQL 提供要还原到的目标数据库 ARM ID。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-TargetResourceIdForRestoreAsFile
目标存储帐户容器 ARM ID,备份数据将还原为文件。 在备份保管库上禁用跨订阅还原时,需要此参数作为文件进行还原。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ToPrefixPattern
指定 PITR 的 Blob 还原结束范围。 可以使用此选项为每个容器中的 blob 子集指定结束范围以还原。 使用正斜杠 (/) 将容器名称与 Blob 前缀模式分开。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |