Merhaba,
Bir önceki bölümde Azure SQL Iaas Extension’a ilişkin kurulum konusunu ele almıştım. Bu bölümde de bu extension’ı kullarak SQL Server için otomatik backup özelliğinin nasıl yapılandırılacağını anlatacağım. Umarım faydalı bir makale olur.
Otomatik backup konfgürasyonunu yapmadan önce extension’ın düzgün şekilde konfigüre edilmiş olduğunu Azure Portal üzerinden yada powershell komutunu kullanarak doğrulayabilirsiniz.
Azure portal üzerinde extensions bölümüne geldiğinizde SQLIaasExtension’ı seçerek extension’ın durumunu kontrol edebilirsiniz.
Resim – 1
Eğer Provisioning succeeded yazıyor ise herşey yolunda demektir. J
Şimdi kullanacağımız komutlarda bahsi geçen terimleri temel olarak açıklayıp komutlar ile devam edelim.
Azure SQL Backup’ın iki versiyonu bulunmaktadır. Bu versiyonlar yüklü olan SQL Server versiyonuna göre değişiklik gösterir. Eğer VM üzerinde SQL Server 2016 kurulu ise V2 backup extension kullanılacaktır. SQL Server 2014 için ise V1 extension kullanılacaktır.
#Autobackup etkinleştirecek VM bilgilerini değişkene atama.
$storage = “Backup alınacak blob storage”
$vmname = “VM’in ismi”
$resourcegroupname = “VM’in bulunduğu resource group”
Otomatik backup konfigürasyonu için bir autobackupconfig oluşturmamız gerekir. Bu bağlamda aşağıdaki config’I oluşturup değişkene atayalım.
#SQL Extensions Auto Backup Ayarları
$autobackupconfig = New-AzureRmVMSqlServerAutoBackupConfig -Enable `
-RetentionPeriodInDays 10 -StorageContext $storage.Context `
-ResourceGroupName $storage.ResourceGroupName -BackupSystemDbs `
-BackupScheduleType Manual -FullBackupFrequency Weekly `
-FullBackupStartHour 20 -FullBackupWindowInHours 2 `
-LogBackupFrequencyInMinutes 30
Resim – 2
Burada bahsi geçen bir kaç değişkeni açıklayalım.
- RetentionPeriodInDays : Backup’ın tutulacağı süre.
- BackupSystemDbs : Bu ayar etkinleştirildiğinde Master,MSDB ve Model gibi sistem database’lerinin backup’ı da alınır. Master için log backup alınmaz.
- BackupScheduleType : Default olarak backup schedule log’un büyümesine göre otomatik olarak belirlenir. Bu ayar manuel olarak ayarlanırsa backup kullanıcının belirlediği schedule’a göre yapılır.
- FullBackupFrequency : Full backup’ın alınacağı frekans belirlenir. (Günlük yada haftalık) Burada weekly seçilmesi iyi olabilir. Çünkü bütün backup’ların alınması bir günden uzun sürebilir.
- FullBackupStartHour : Belirlenen günde backup’ın başlayacağı zaman.
- FullBackupWindowInHours : Full backup için belirlenen zaman aralığı.
- LogBackupFrequencyInMinutes : Log backup’ın frekansı.
Bu açıklamaların ardından autobackup için hazırladığımız config’i kullanarak extension’ı konfigüre edebiliriz. Bunun için VM ismi, resource groubu ve hazırlanan Autobackupsettings’ini değişken olarak vermek yeterli olacaktır.
Set-AzureRmVMSqlServerExtension -AutoBackupSettings $autobackupconfig -VMName $vmname -ResourceGroupName $resourcegroupname
Resim – 3
Konfigürasyonu doğrulamak için de extension’I get edip, autobackupsettings’ini sorgulayabiliriz.
#Konfigürasyonu doğrulama
(Get-AzureRmVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings
Resim – 4
Konfigürasyonu bu şekilde tamamlamış olduk.
Umarm faydalı bir makale olmuştur. SQL kullandığınız azure vm’leriniz için oldukça faydalı olacağına eminim.
Scriptin bütün hali aşağıdaki gibidir;
Login-Azurermaccount
#Değişkenler
$storage = Get-AzureRmStorageAccount -Name “Storage Account name” -ResourceGroupName “Storage account resource group”
$vmname = “VM name”
$resourcegroupname = “VM Resource Group”
#SQL Extensions Auto Backup Konfigürasyonu
$autobackupconfig = New-AzureRmVMSqlServerAutoBackupConfig -Enable `
-RetentionPeriodInDays 10 -StorageContext $storage.Context `
-ResourceGroupName $storage.ResourceGroupName -BackupSystemDbs `
-BackupScheduleType Manual -FullBackupFrequency Weekly `
-FullBackupStartHour 20 -FullBackupWindowInHours 2 `
-LogBackupFrequencyInMinutes 30
#Extension’ı konfigüre etme
Set-AzureRmVMSqlServerExtension -AutoBackupSettings $autobackupconfig -VMName $vmname -ResourceGroupName $resourcegroupname
#Doğrulama
(Get-AzureRmVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings
Bir sonraki makalede görüşmek üzere.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
Fırat
TAGs : Azure SQL VM Iaas Extension, Azure SQL VM Auto Patching, Azure SQL VM Auto Backup, Azure SQL Backup, Azure SQL Patching, Azure SQL Database, Azure SQL VM Standart, Azure SQL VM Enterprise, Azure SQL Backup with Powershell, Azure SQL Pathcing with powershell, Azure RM Powershell Extensions, Azure VM Extensions