Tentang Pencadangan SQL Server di Azure VM
Azure Backup menawarkan solusi khusus berbasis stream untuk mencadangkan SQL Server yang berjalan di Azure VM. Solusi ini selaras dengan manfaat Azure Backup dari pencadangan nol infrastruktur, retensi jangka panjang, dan manajemen pusat. Ini juga menyediakan keuntungan berikut khusus untuk SQL Server:
- Pencadangan sadar beban kerja yang mendukung semua jenis cadangan - lengkap, diferensial, dan log
- 15 menit RPO (tujuan titik pemulihan) dengan pencadangan log yang sering
- Pemulihan titik waktu hingga satu detik
- Pencadangan dan pemulihan tingkat database individual
Untuk melihat skenario pencadangan dan pemulihan yang kami dukung saat ini, lihat matriks dukungan.
Proses pencadangan
Solusi ini memanfaatkan API asli SQL untuk mengambil cadangan database SQL Anda.
Setelah Anda menentukan SQL Server komputer virtual yang ingin Anda lindungi dan kueri untuk database di dalamnya, layanan Azure Backup akan memasang ekstensi cadangan beban kerja pada komputer virtual dengan nama ekstensi
AzureBackupWindowsWorkload
.Ekstensi ini terdiri dari koordinator dan plugin SQL. Saat koordinator bertanggung jawab untuk memicu alur kerja untuk berbagai operasi seperti mengonfigurasi pencadangan, pencadangan dan pemulihan, plugin bertanggung jawab atas aliran data aktual.
Agar dapat menemukan database di komputer virtual ini, Azure Backup membuat akun
NT SERVICE\AzureWLBackupPluginSvc
. Akun ini digunakan untuk pencadangan dan pemulihan, dan memerlukan izin SQL sysadmin. AkunNT SERVICE\AzureWLBackupPluginSvc
adalah Akun Layanan Virtual, dan tidak memerlukan manajemen kata sandi apa pun. Azure Backup menggunakan akunNT AUTHORITY\SYSTEM
untuk penemuan / pertanyaan database, jadi akun ini perlu menjadi masuk publik di SQL. Jika Anda tidak membuat SQL Server VM dari Azure Marketplace, Anda mungkin menerima kesalahan UserErrorSQLNoSysadminMembership. Jika ini terjadi ikuti instruksi ini.Setelah Anda memicu konfigurasi perlindungan pada database yang dipilih, layanan cadangan mengatur koordinator dengan jadwal pencadangan dan detail kebijakan lainnya, yang di-cache ekstensi secara lokal pada komputer virtual.
Pada waktu yang dijadwalkan, koordinator berkomunikasi dengan plugin dan mulai mengalirkan data cadangan dari SQL server menggunakan VDI.
Plugin mengirimkan data langsung ke kubah Layanan Pemulihan, sehingga menghilangkan kebutuhan akan lokasi penahapan. Data dienkripsi dan disimpan oleh layanan Azure Backup di akun penyimpanan.
Ketika transfer data selesai, koordinator mengkonfirmasi penerapan dengan layanan cadangan.
Sebelum memulai
Sebelum memulai, verifikasi persyaratan berikut:
- Pastikan Anda memiliki instans SQL Server yang berjalan di Azure. Anda dapat dengan cepat membuat instans SQL Server di pasar.
- Tinjau pertimbangan fitur dan dukungan skenario.
- Ulas pertanyaan umum tentang skenario ini.
Mengatur izin komputer virtual
Ketika Anda menjalankan penemuan di SQL Server, Azure Backup melakukan hal berikut:
- Menambahkan ekstensi AzureBackupWindowsWorkload.
- Membuat akun NT SERVICE\AzureWLBackupPluginSvc untuk menemukan database di mesin virtual. Akun ini digunakan untuk membuat cadangan dan pemulihan serta memerlukan izin sysadmin SQL.
- Menemukan database yang berjalan di VM, Azure Backup menggunakan akun NT AUTHORITY\SYSTEM. Akun ini harus menjadi info masuk publik di SQL.
Jika Anda tidak membuat SQL Server komputer virtual di Azure Marketplace atau jika Anda menggunakan SQL 2008 atau 2008 R2, Anda mungkin menerima kesalahan UserErrorSQLNoSysadminMembership.
Untuk memberikan izin dalam kasus SQL 2008 dan 2008 R2 berjalan pada Windows 2008 R2, lihat di sini.
Untuk semua versi lainnya, perbaiki izin dengan langkah-langkah berikut:
Gunakan akun dengan izin SQL Server sysadmin untuk masuk ke SQL Server Management Studio (SSMS). Kecuali Anda memerlukan izin khusus, NTLM seharusnya bekerja.
Di SQL Server, buka folder Keamanan/Masuk.
Klik kanan folder masuk dan pilih Masuk Baru. Di Login - Baru, pilih Cari.
Akun layanan virtual Windows NT SERVICE\AzureWLBackupPluginSvc dibuat selama fase pendaftaran komputer virtual dan penemuan SQL. Masukkan nama akun seperti yang diperlihatkan di Masukkan nama objek untuk dipilih. Pilih Periksa Nama untuk mengatasi nama tersebut. Pilih OK.
Dalam Peran Server, pastikan peran sysadmin dipilih. Pilih OK. Izin yang diperlukan sekarang seharusnya ada.
Sekarang kaitkan database dengan kubah Layanan Pemulihan. Di portal Microsoft Azure, pada daftar Server Terproteksi, klik kanan server yang berada dalam status kesalahan >Menemukan Kembali DB.
Periksa kemajuan di area Notifikasi. Saat database yang dipilih ditemukan, pesan keberhasilan muncul.
Catatan
Jika SQL Server Anda memiliki beberapa instans SQL Server yang terinstal, maka Anda harus menambahkan izin sysadmin untuk akun NT Service\AzureWLBackupPluginSvc ke semua instans SQL.
Memberikan izin SQL sysadmin untuk SQL 2008 dan SQL 2008 R2
Tambahkan NT AUTHORITY\SYSTEM dan NT Service\AzureWLBackupPluginSvc masuk ke Instans SQL Server:
Buka Instans SQL Server di penjelajah Objek.
Arahkan ke Keamanan -> Masuk
Klik kanan info masuk dan pilih Masuk Baru
Buka tab Umum dan masukkan NT AUTHORITY\SYSTEM sebagai ID masuk.
Buka Peran Server dan pilih peran publik dan sysadmin.
Masuk ke Status. Beri Izin untuk menyambungkan ke mesin database dan Masuk sebagai Diaktifkan.
Pilih OK.
Ulangi urutan langkah yang sama (1-7 di atas) untuk menambahkan Masuk NT Service\AzureWLBackupPluginSvc ke instans SQL Server. Jika masuk sudah ada, pastikan ia memiliki peran server sysadmin dan di bawah Status sebagai Berikan Izin untuk terhubung ke mesin database dan Masuk sebagai Diaktifkan.
Setelah memberikan izin, Menemukan kembali DB di portal: Vault - Kelola ->> Infrastruktur Cadangan -> Beban kerja di Azure VM:
Atau, Anda dapat mengotomatiskan pemberian izin dengan menjalankan perintah PowerShell berikut dalam mode admin. Nama instans diatur ke MSSQLSERVER secara default. Ubah argumen nama instans dalam skrip jika diperlukan.
param(
[Parameter(Mandatory=$false)]
[string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
$fullInstance = $env:COMPUTERNAME # In case it is the default SQL Server Instance
}
else
{
$fullInstance = $env:COMPUTERNAME + "\" + $InstanceName # In case of named instance
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
try
{
sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
Write-Host "An error occurred:"
Write-Host $_.Exception|format-list -force
}
Mengonfigurasi pencadangan simultan
Anda sekarang dapat mengonfigurasi cadangan untuk menyimpan titik pemulihan server SQL dan log di penyimpanan lokal dan vault Layanan Pemulihan secara bersamaan.
Untuk mengonfigurasi cadangan simultan, ikuti langkah-langkah berikut:
Buka lokasi
C:\Program Files\Azure Workload Backup\bin\plugins
, lalu buat file PluginConfigSettings.json, jika tidak ada.Tambahkan entitas nilai kunci yang dipisahkan
EnableLocalDiskBackupForBackupTypes
koma, dengan kunci danLocalDiskBackupFolderPath
ke file JSON.Di bawah
EnableLocalDiskBackupForBackupTypes
, cantumkan jenis cadangan yang ingin Anda simpan secara lokal.Misalnya, jika Anda ingin menyimpan cadangan Penuh dan Log , sebutkan
["Full", "Log"]
. Untuk menyimpan hanya cadangan log, sebutkan["Log"]
.Di bawah
LocalDiskBackupFolderPath
, sebutkan jalur ke folder lokal. Pastikan Anda menggunakan garis miring ganda sambil menyebutkan jalur dalam file JSON.Misalnya, jika jalur yang disukai untuk cadangan lokal adalah
E:\LocalBackup
, sebutkan jalur di JSON sebagaiE:\\LocalBackup
.JSON akhir akan muncul sebagai:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }
Jika ada entri lain yang telah diisi sebelumnya dalam file JSON, tambahkan dua entri di atas di bagian bawah file JSON tepat sebelum kurung kurawal penutup.
Agar perubahan segera berlaku alih-alih satu jam reguler, buka Layanan TaskManager>, klik kanan AzureWLbackupPluginSvc dan pilih Hentikan.
Perhatian
Tindakan ini akan membatalkan semua pekerjaan pencadangan yang sedang berlangsung.
Konvensi penamaan file cadangan tersimpan dan struktur folder untuk itu akan menjadi
{LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}
.Misalnya, jika Anda memiliki database
Contoso
di bawah instansMSSQLSERVER
SQL , file akan terletak di diE:\LocalBackup\MSSQLSERVER\Contoso
.Nama file adalah
VDI device set guid
, yang digunakan untuk operasi pencadangan.Periksa apakah lokasi target di bawah
LocalDiskBackupFolderPath
memiliki izin baca dan tulis untukNT Service\AzureWLBackupPluginSvc
.Catatan
Untuk folder pada disk VM lokal, klik kanan folder dan konfigurasikan izin yang diperlukan untuk
NT Service\AzureWLBackupPluginSvc
pada tab Keamanan .Jika Anda menggunakan jaringan atau berbagi SMB, konfigurasikan izin dengan menjalankan cmdlet PowerShell di bawah ini dari konsol pengguna yang sudah memiliki izin untuk mengakses berbagi:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
Contoh:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true
Langkah berikutnya
- Pelajari tentang mencadangkan database SQL Server.
- Pelajari tentang memulihkan cadangan database SQL Server.
- Pelajari tentang mengelola cadangan database SQL Server.