Memulihkan kumpulan SQL khusus (sebelumnya SQL DW) yang ada

Pada artikel ini, Anda mempelajari cara memulihkan kumpulan SQL khusus (sebelumnya SQL DW) yang ada menggunakan portal Microsoft Azure dan PowerShell.

Catatan

Panduan ini hanya untuk kumpulan SQL khusus mandiri (sebelumnya bernama SQL DW). Untuk kumpulan SQL khusus di ruang kerja Azure Synapse Analytics, lihat Memulihkan kumpulan SQL khusus yang ada.

Sebelum Anda mulai

  1. Verifikasi kapasitas DTU Anda. Setiap kumpulan dihosting oleh server SQL logis (misalnya, myserver.database.windows.net) yang memiliki kuota DTU default. Verifikasi bahwa server memiliki sisa kuota DTU yang mencukupi untuk pemulihan database. Untuk mempelajari cara menghitung DTU yang diperlukan atau meminta DTU tambahan, lihat Meminta perubahan kuota DTU.

  2. Pastikan untuk menginstal Azure PowerShell.

    Catatan

    Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

  3. Memiliki titik pemulihan yang ada yang menjadi sumber pemulihan. Jika Anda ingin membuat pemulihan baru, lihat tutorial membuat titik pemulihan baru yang ditentukan pengguna.

Memulihkan kumpulan SQL khusus (sebelumnya SQL DW) yang ada melalui PowerShell

Untuk memulihkan kumpulan SQL khusus (sebelumnya SQL DW) yang ada dari titik pemulihan, gunakan cmdlet PowerShell Restore-AzSqlDatabase.

  1. Buka PowerShell.

  2. Sambungkan ke akun Azure Anda dan cantumkan semua langganan yang terkait dengan akun Anda.

  3. Pilih langganan berisi database yang akan dipulihkan.

  4. Cantumkan titik pemulihan untuk kumpulan SQL khusus (sebelumnya SQL DW).

  5. Pilih titik pemulihan yang diinginkan menggunakan RestorePointCreationDate.

  6. Pulihkan kumpulan SQL khusus (sebelumnya SQL DW) ke titik pemulihan yang diinginkan menggunakan cmdlet PowerShell Restore-AzSqlDatabase.

    1. Untuk memulihkan kumpulan SQL khusus (sebelumnya SQL DW) ke server yang berbeda, pastikan untuk menyebutkan nama server tersebut. Server ini juga dapat berada di grup sumber daya dan wilayah yang berbeda.
    2. Untuk memulihkan ke langganan lain, lihat bagian di bawah ini.
  7. Verifikasi bahwa kumpulan SQL khusus (sebelumnya SQL DW) yang dipulihkan berstatus online.

  8. Setelah pemulihan selesai, Anda dapat mengonfigurasi kumpulan SQL khusus (sebelumnya SQL DW) yang dipulihkan dengan mengikuti mengonfigurasi database Anda setelah pemulihan.

    
    $SubscriptionName="<YourSubscriptionName>"
    $ResourceGroupName="<YourResourceGroupName>"
    $ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different server.
    #$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
    $DatabaseName="<YourDatabaseName>"
    $NewDatabaseName="<YourDatabaseName>"
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    
    # Restore database from a restore point
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Use the following command to restore to a different server
    #$TargetResourceGroupName = $Database.ResourceGroupName # for restoring to different server in same resourcegroup 
    #$RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status
    

Memulihkan kumpulan SQL khusus (sebelumnya SQL DW) yang ada melalui portal Microsoft Azure

  1. Masuk ke portal Azure.

  2. Arahkan ke kumpulan SQL khusus yang ingin Anda pulihkan.

  3. Di bagian atas halaman Ringkasan, pilih Pulihkan.

    Screenshot from the Azure portal, the Overview page navigation bar of a SQL pool, the Restore button is highlighted.

  4. Pilih Titik Pemulihan Otomatis atau Titik Pemulihan yang Ditentukan Pengguna. Jika kumpulan SQL khusus (sebelumnya SQL DW) tidak memiliki titik pemulihan otomatis, tunggu beberapa jam atau buat titik pemulihan yang ditentukan pengguna sebelum memulihkan. Untuk Titik Pemulihan yang Ditentukan Pengguna, pilih titik pemulihan yang sudah ada atau buat titik pemulihan baru. Untuk Server, Anda dapat memilih server di grup sumber daya dan wilayah yang berbeda atau buat server baru. Setelah menyediakan semua parameter, pilih Tinjau + Pulihkan.

    Screenshot from the dedicated SQL pool Restore page of the Azure portal. For Restore point type, the radio button for User-defined restore points is selected.

Memulihkan kumpulan SQL khusus yang ada (sebelumnya SQL DW) ke langganan yang berbeda melalui PowerShell

Ini adalah panduan serupa untuk memulihkan kumpulan SQL khusus yang ada, namun instruksi di bawah ini menunjukkan bahwa cmdlet PowerShell Get-AzSqlDatabase harus dilakukan dalam langganan asal sementara cmdlet PowerShell Restore-AzSqlDatabase harus dilakukan dalam langganan tujuan. Pengguna yang melakukan pemulihan harus memiliki izin yang tepat di langganan sumber dan target.

  1. Buka PowerShell.

  2. Perbarui Modul Az.Sql ke 3.8.0 (atau lebih tinggi) jika pada versi yang lebih lama menggunakan Update-Module. Jika tidak, itu akan menyebabkan kegagalan. Untuk memvalidasi versi dengan PowerShell:

    foreach ($i in (get-module -ListAvailable | ?{$_.name -eq 'az.sql'}).Version) { $version = [string]$i.Major + "." + [string]$i.Minor; if ($version -gt 3.7) {write-host "Az.Sql version $version installed. Prequisite met."} else {update-module az.sql} }
    
  3. Sambungkan ke akun Azure Anda dan cantumkan semua langganan yang terkait dengan akun Anda.

  4. Pilih langganan berisi database yang akan dipulihkan.

  5. Cantumkan titik pemulihan untuk kumpulan SQL khusus (sebelumnya SQL DW).

  6. Pilih titik pemulihan yang diinginkan menggunakan RestorePointCreationDate.

  7. Pilih langganan tujuan tempat database harus dipulihkan.

  8. Pulihkan kumpulan SQL khusus (sebelumnya SQL DW) ke titik pemulihan yang diinginkan menggunakan cmdlet PowerShell Restore-AzSqlDatabase.

  9. Verifikasi bahwa kumpulan SQL khusus (sebelumnya SQL DW) yang dipulihkan berstatus online.

    $SourceSubscriptionName="<YourSubscriptionName>"
    $SourceResourceGroupName="<YourResourceGroupName>"
    $SourceServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $SourceDatabaseName="<YourDatabaseName>"
    $TargetSubscriptionName="<YourTargetSubscriptionName>"
    $TargetResourceGroupName="<YourTargetResourceGroupName>"
    $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $TargetDatabaseName="<YourDatabaseName>"
    
    # Update Az.Sql module to the latest version (3.8.0 or above)
    # Update-Module -Name Az.Sql -RequiredVersion 3.8.0
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SourceSubscriptionName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Switch context to the destination subscription
    Select-AzSubscription -SubscriptionName $TargetSubscriptionName
    
    # Restore database from a desired restore point of the source database to the target server in the desired subscription
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status