你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Restore-AzureRmSqlDatabase
还原 SQL 数据库。
警告
AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可运行,但不再受到维护或支持,任何继续使用的行为都由用户自行决定并自行承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
Restore-AzureRmSqlDatabase
[-FromPointInTimeBackup]
-PointInTime <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromPointInTimeBackup]
-PointInTime <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromDeletedDatabaseBackup]
[-PointInTime <DateTime>]
-DeletionDate <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromDeletedDatabaseBackup]
[-PointInTime <DateTime>]
-DeletionDate <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromGeoBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromGeoBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromLongTermRetentionBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
[-Edition <String>]
[-ServiceObjectiveName <String>]
[-ElasticPoolName <String>]
[-AsJob]
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Restore-AzureRmSqlDatabase
[-FromLongTermRetentionBackup]
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
说明
Restore-AzureRmSqlDatabase cmdlet 从异地冗余备份、已删除数据库的备份、长期保留备份或实时数据库中的时间点还原 SQL 数据库。 还原的数据库将创建为新数据库。 可以通过将 ElasticPoolName 参数设置为现有弹性池来创建弹性 SQL 数据库。
示例
示例 1:从时间点还原数据库
PS C:\>$Database = Get-AzureRmSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
PS C:\> Restore-AzureRmSqlDatabase -FromPointInTimeBackup -PointInTime UTCDateTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $Database.ResourceID -Edition "Standard" -ServiceObjectiveName "S2"
第一个命令获取名为 Database01 的 SQL 数据库,然后将其存储在$Database变量中。 第二个命令将$Database中的数据库从指定的时间点备份还原到名为 RestoredDatabase 的数据库。
示例 2:将数据库从时间点还原到弹性池
PS C:\>$Database = Get-AzureRmSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
PS C:\> Restore-AzureRmSqlDatabase -FromPointInTimeBackup -PointInTime UTCDateTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $Database.ResourceID -ElasticPoolName "ElasticPool01"
第一个命令获取名为 Database01 的 SQL 数据库,然后将其存储在$Database变量中。 第二个命令将$Database中的数据库从指定的时间点备份还原到名为 elasticpool01 的弹性池中名为 RestoredDatabase 的 SQL 数据库。
示例 3:还原已删除的数据库
PS C:\>$DeletedDatabase = Get-AzureRmSqlDeletedDatabaseBackup -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
PS C:\> Restore-AzureRmSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DeletedDatabase.DeletionDate -ResourceGroupName $DeletedDatabase.ResourceGroupName -ServerName $DeletedDatabase.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $DeletedDatabase.ResourceID -Edition "Standard" -ServiceObjectiveName "S2" -PointInTime UTCDateTime
第一个命令使用 Get-AzureRmSqlDeletedDatabaseBackup 获取要还原的已删除的数据库备份。 第二个命令使用 Restore-AzureRmSqlDatabase cmdlet 从已删除的数据库备份启动还原。 如果未指定 -PointInTime 参数,数据库将还原到删除时间。
示例 4:将已删除的数据库还原到弹性池中
PS C:\>$DeletedDatabase = Get-AzureRmSqlDeletedDatabaseBackup -ResourceGroupName $resourceGroupName -ServerName $sqlServerName -DatabaseName 'DatabaseToRestore'
PS C:\> Restore-AzureRmSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DeletedDatabase.DeletionDate -ResourceGroupName $DeletedDatabase.ResourceGroupName -ServerName $DeletedDatabase.ServerName -TargetDatabaseName "RestoredDatabase" -ResourceId $DeletedDatabase.ResourceID -ElasticPoolName "elasticpool01" -PointInTime UTCDateTime
第一个命令使用 Get-AzureRmSqlDeletedDatabaseBackup 获取要还原的已删除的数据库备份。 第二个命令使用 Restore-AzureRmSqlDatabase 从已删除的数据库备份启动还原。 如果未指定 -PointInTime 参数,数据库将还原到删除时间。
示例 5:异地还原数据库
PS C:\>$GeoBackup = Get-AzureRmSqlDatabaseGeoBackup -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"
PS C:\> Restore-AzureRmSqlDatabase -FromGeoBackup -ResourceGroupName "TargetResourceGroup" -ServerName "TargetServer" -TargetDatabaseName "RestoredDatabase" -ResourceId $GeoBackup.ResourceID -Edition "Standard" -RequestedServiceObjectiveName "S2"
第一个命令获取名为 Database01 的数据库的异地冗余备份,然后将其存储在$GeoBackup变量中。 第二个命令将$GeoBackup中的备份还原到名为 RestoredDatabase 的 SQL 数据库。
参数
-AsJob
在后台运行 cmdlet
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ComputeGeneration
要分配给还原数据库的计算生成
类型: | String |
别名: | Family |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 azure 通信的凭据、帐户、租户和订阅
类型: | IAzureContextContainer |
别名: | 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 |
-FromDeletedDatabaseBackup
指示此 cmdlet 从已删除 SQL 数据库的备份还原数据库。 可以使用 Get-AzureRMSqlDeletedDatabaseBackup cmdlet 获取已删除 SQL 数据库的备份。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-FromGeoBackup
指示此 cmdlet 从异地冗余备份还原 SQL 数据库。 可以使用 Get-AzureRMSqlDatabaseGeoBackup 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 |
-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 |
-TargetDatabaseName
指定要还原到的数据库的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-VCore
还原的 Azure Sql 数据库的 Vcore 数。
类型: | Int32 |
别名: | Capacity |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |