你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Restore-AzSqlDatabase
还原 SQL 数据库。
语法
Restore-AzSqlDatabase
[-FromPointInTimeBackup]
-PointInTime <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromPointInTimeBackup]
-PointInTime <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromDeletedDatabaseBackup]
[-PointInTime <DateTime>]
-DeletionDate <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromDeletedDatabaseBackup]
[-PointInTime <DateTime>]
-DeletionDate <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromGeoBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromGeoBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromLongTermRetentionBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzSqlDatabase
[-FromLongTermRetentionBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-HAReplicaCount <Int32>]
[-BackupStorageRedundancy <String>]
[-ZoneRedundant]
[-Tag <Hashtable>]
[-AssignIdentity]
[-EncryptionProtector <String>]
[-UserAssignedIdentityId <String[]>]
[-KeyList <String[]>]
[-FederatedClientId <Guid>]
[-EncryptionProtectorAutoRotation]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Restore-AzSqlDatabase cmdlet 从异地冗余备份、已删除数据库的备份、长期保留备份或实时数据库中的时间点还原 SQL 数据库。 还原的数据库将创建为新数据库。 可以通过将 ElasticPoolName 参数设置为现有弹性池来创建弹性 SQL 数据库。 还可以对数据仓库数据库执行跨订阅还原。
示例
示例 1:从时间点还原数据库
$Database = Get-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
Restore-AzSqlDatabase -FromPointInTimeBackup -PointInTime UTCDateTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $Database.ResourceID -Edition "Standard" -ServiceObjectiveName "S2"
第一个命令获取名为 Database01 的 SQL 数据库,然后将其存储在$Database变量中。 第二个命令将$Database中的数据库从指定的时间点备份还原到名为 RestoredDatabase 的数据库。
示例 2:将数据库从时间点还原到弹性池
$Database = Get-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
Restore-AzSqlDatabase -FromPointInTimeBackup -PointInTime UTCDateTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $Database.ResourceID -ElasticPoolName "ElasticPool01"
第一个命令获取名为 Database01 的 SQL 数据库,然后将其存储在$Database变量中。 第二个命令将$Database中的数据库从指定的时间点备份还原到名为 elasticpool01 的弹性池中名为 RestoredDatabase 的 SQL 数据库。
示例 3:还原已删除的数据库
$DeletedDatabase = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DeletedDatabase.DeletionDate -ResourceGroupName $DeletedDatabase.ResourceGroupName -ServerName $DeletedDatabase.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $DeletedDatabase.ResourceID -Edition "Standard" -ServiceObjectiveName "S2" -PointInTime UTCDateTime
第一个命令使用 Get-AzSqlDeletedDatabaseBackup 获取要还原的已删除的数据库备份。 第二个命令使用 Restore-AzSqlDatabase cmdlet 从已删除的数据库备份启动还原。 如果未指定 -PointInTime 参数,数据库将还原到删除时间。
示例 4:将已删除的数据库还原到弹性池中
$DeletedDatabase = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName $resourceGroupName -ServerName $sqlServerName -DatabaseName 'DatabaseToRestore'
Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DeletedDatabase.DeletionDate -ResourceGroupName $DeletedDatabase.ResourceGroupName -ServerName $DeletedDatabase.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $DeletedDatabase.ResourceID -ElasticPoolName "elasticpool01" -PointInTime UTCDateTime
第一个命令使用 Get-AzSqlDeletedDatabaseBackup 获取要还原的已删除的数据库备份。 第二个命令使用 Restore-AzSqlDatabase 从已删除的数据库备份启动还原。 如果未指定 -PointInTime 参数,数据库将还原到删除时间。
示例 5:异地还原数据库
$GeoBackup = Get-AzSqlDatabaseGeoBackup -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
Restore-AzSqlDatabase -FromGeoBackup -ResourceGroupName "TargetResourceGroup" -ServerName "TargetServer" -TargetDatabaseName "RestoredDatabase" -ResourceId $GeoBackup.ResourceID -Edition "Standard" -ServiceObjectiveName "S2"
第一个命令获取名为 Database01 的数据库的异地冗余备份,然后将其存储在$GeoBackup变量中。 第二个命令将$GeoBackup中的备份还原到名为 RestoredDatabase 的 SQL 数据库。
参数
-AsJob
在后台运行 cmdlet
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AssignIdentity
为此数据库生成并分配一个Microsoft Entra 标识,以用于 Azure KeyVault 等密钥管理服务。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-BackupStorageRedundancy
用于存储SQL 数据库备份的备份存储冗余。 选项包括:本地、区域、地理和 GeoZone。
类型: | String |
接受的值: | Local, Zone, Geo, GeoZone |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ComputeGeneration
要分配给还原数据库的计算生成
类型: | String |
别名: | Family |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 azure 通信的凭据、帐户、租户和订阅
类型: | IAzureContextContainer |
别名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DeletionDate
将删除日期指定为 DateTime 对象。 若要获取 DateTime 对象,请使用 Get-Date cmdlet。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Edition
指定 SQL 数据库的版本。 此参数的可接受值为:
- 无
- 基本
- 标准
- 高级
- DataWarehouse
- 免费
- 拉伸
- 常规用途
- BusinessCritical
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ElasticPoolName
指定要在其中放置 SQL 数据库的弹性池的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-EncryptionProtector
用于SQL 数据库的加密保护程序密钥。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EncryptionProtectorAutoRotation
AKV 密钥自动轮换状态
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-FederatedClientId
SQL 数据库的联合客户端 ID。 它用于跨租户 CMK 方案。
类型: | Nullable<T>[Guid] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-FromDeletedDatabaseBackup
指示此 cmdlet 从已删除 SQL 数据库的备份还原数据库。 可以使用 Get-AzSqlDeletedDatabaseBackup cmdlet 获取已删除 SQL 数据库的备份。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-FromGeoBackup
指示此 cmdlet 从异地冗余备份还原 SQL 数据库。 可以使用 Get-AzSqlDatabaseGeoBackup cmdlet 获取异地冗余备份。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-FromLongTermRetentionBackup
指示此 cmdlet 从长期保留备份还原 SQL 数据库。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-FromPointInTimeBackup
指示此 cmdlet 从时间点备份还原 SQL 数据库。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-HAReplicaCount
用于存储SQL 数据库备份的 HA 副本计数。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-KeyList
SQL 数据库的 AKV 键列表。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LicenseType
Azure Sql 数据库的许可证类型。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PointInTime
指定要将 SQL 数据库还原到的 DateTime 对象的时间点。 若要获取 DateTime 对象,请使用 Get-Date cmdlet。 将此参数与 FromPointInTimeBackup 参数一起使用。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ResourceGroupName
指定此 cmdlet 向其分配 SQL 数据库的资源组的名称。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ResourceId
指定要还原的资源的 ID。
类型: | String |
别名: | Id |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ServerName
指定 SQL 数据库服务器的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ServiceObjectiveName
指定服务目标的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Tag
要与 Azure Sql 数据库关联的标记
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TargetDatabaseName
指定要还原到的数据库的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-UserAssignedIdentityId
SQL 数据库的用户分配标识列表。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-VCore
还原的 Azure Sql 数据库的 Vcore 数。
类型: | Int32 |
别名: | Capacity |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ZoneRedundant
要与 Azure Sql 数据库关联的区域冗余。 此属性仅适用于超大规模版本数据库。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |