共用方式為


Restore-AzureRmSqlDatabase

還原 SQL 資料庫。

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 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>]

Description

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 資料庫的版本。 此參數可接受的值為:

  • 基本
  • Standard
  • Premium
  • DataWarehouse
  • 免費
  • 延展
  • GeneralPurpose
  • 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

指定要還原的資源識別碼。

類型: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 Database 的虛擬核心編號。

類型:Int32
別名:Capacity
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

輸入

DateTime

String

輸出

AzureSqlDatabaseModel