Restore-AzSqlDatabase

還原 SQL 資料庫。

Syntax

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>]

Description

Restore-AzSqlDatabase Cmdlet 會從異地備援備份、已刪除資料庫的備份、長期保留備份或實時資料庫中的時間點還原 SQL 資料庫。 還原的資料庫會建立為新的資料庫。 您可以將 ElasticPoolName 參數設定為現有的彈性集區,以建立彈性 SQL 資料庫。 您也可以針對 Datawarehouse 資料庫執行跨訂用帳戶還原。

範例

範例 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

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

-AssignIdentity

產生並指派此資料庫的 Microsoft Entra 身分識別,以便與 Azure KeyVault 等密鑰管理服務搭配使用。

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

-BackupStorageRedundancy

用來儲存 SQL 資料庫 備份的備份記憶體備援。 選項包括:本機、區域、地理和 GeoZone。

Type:String
Accepted values:Local, Zone, Geo, GeoZone
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputeGeneration

要指派給還原資料庫的計算產生

Type:String
Aliases:Family
Position:Named
Default value:None
Required:True
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

將刪除日期指定為 DateTime 物件。 若要取得 DateTime 物件,請使用 Get-Date Cmdlet。

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

-Edition

指定 SQL 資料庫的版本。 此參數可接受的值為:

  • 基本
  • Standard
  • Premium
  • DataWarehouse
  • 免費
  • 延展
  • GeneralPurpose
  • BusinessCritical
Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ElasticPoolName

指定要在其中放置 SQL 資料庫的彈性集區名稱。

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

-EncryptionProtector

SQL 資料庫 的加密保護裝置密鑰。

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

-EncryptionProtectorAutoRotation

AKV 金鑰自動輪替狀態

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

-FederatedClientId

SQL 資料庫的同盟用戶端標識碼。 它用於跨租使用者 CMK 案例。

Type:Nullable<T>[Guid]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FromDeletedDatabaseBackup

指出此 Cmdlet 會從已刪除 SQL 資料庫的備份還原資料庫。 您可以使用 Get-AzSqlDeletedDatabaseBackup Cmdlet 來取得已刪除 SQL 資料庫的備份。

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

-FromGeoBackup

指出此 Cmdlet 會從異地備援備份還原 SQL 資料庫。 您可以使用 Get-AzSqlDatabaseGeoBackup Cmdlet 來取得異地備援備份。

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

-FromLongTermRetentionBackup

指出此 Cmdlet 會從長期保留備份還原 SQL 資料庫。

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

-FromPointInTimeBackup

指出此 Cmdlet 會從時間點備份還原 SQL 資料庫。

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

-HAReplicaCount

用來儲存 SQL 資料庫 備份的 HA 複本計數。

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

-KeyList

SQL 資料庫 的 AKV 金鑰清單。

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

-LicenseType

Azure Sql 資料庫的授權類型。

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

-PointInTime

將您要還原 SQL 資料庫的目標時間點指定為 DateTime 物件。 若要取得 DateTime 物件,請使用 Get-Date Cmdlet。 搭配FromPointInTimeBackup 參數使用此參數。

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

-ResourceGroupName

指定此 Cmdlet 指派 SQL 資料庫的資源群組名稱。

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

-ResourceId

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

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

-ServerName

指定 SQL 資料庫伺服器的名稱。

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

-ServiceObjectiveName

指定服務目標的名稱。

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

-Tag

要與 Azure Sql Database 產生關聯的標記

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

-TargetDatabaseName

指定要還原的資料庫名稱。

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

-UserAssignedIdentityId

SQL 資料庫的使用者指派身分識別清單。

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

-VCore

已還原 Azure Sql Database 的虛擬核心編號。

Type:Int32
Aliases:Capacity
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

-ZoneRedundant

要與 Azure Sql Database 建立關聯的區域備援。 此屬性僅適用於超大規模資料庫。

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

輸入

DateTime

String

輸出

AzureSqlDatabaseModel