SQL Server 2014 sanal makineleri (Resource Manager) için Otomatik Yedekleme

Şunlar için geçerlidir:Azure VM'de SQL Server

Otomatik Yedekleme, SQL Server 2014 Standard veya Enterprise çalıştıran bir Azure VM'de mevcut ve yeni tüm veritabanları için Microsoft Azure'a Yönetilen Yedekleme'yi otomatik olarak yapılandırıyor. Bu, dayanıklı Azure Blob depolama kullanan normal veritabanı yedeklemelerini yapılandırmanızı sağlar. Otomatik Yedekleme, HIZMET olarak SQL Server altyapısı (IaaS) Aracısı Uzantısına bağlıdır.

Not

Azure'da kaynak oluşturmak ve kaynaklarla çalışmak için kullanabileceğiniz iki farklı dağıtım modeli vardır: Azure Resource Manager ve klasik. Bu makale Resource Manager dağıtım modelinin kullanımını kapsar. Klasik dağıtım modeli yerine yeni dağıtımlar için Resource Manager dağıtım modelini öneririz.

Önkoşullar

Otomatik Yedekleme'yi kullanmak için aşağıdaki önkoşulları göz önünde bulundurun:

İşletim sistemi:

  • Windows Server 2012 ve üzeri

SQL Server sürümü/sürümü:

  • SQL Server 2014 Standard
  • SQL Server 2014 Enterprise

Not

SQL 2016 ve üzeri için bkz . SQL Server 2016 için Otomatik Yedekleme.

Veritabanı yapılandırması:

  • Hedef kullanıcı veritabanları tam kurtarma modelini kullanmalıdır. Sistem veritabanlarının tam kurtarma modelini kullanması gerekmez. Ancak veya msdbiçin model günlük yedeklemelerinin alınmasını gerektiriyorsanız tam kurtarma modelini kullanmanız gerekir. Tam kurtarma modelinin yedeklemeler üzerindeki etkisi hakkında daha fazla bilgi için tam kurtarma modelinin altındaki Yedekleme bölümüne bakın.
  • SQL Server VM, SQL IaaS Aracısı uzantısıyla kaydedildi ve otomatik yedekleme özelliği etkinleştirildi. Otomatik yedekleme uzantıya bağlı olduğundan, otomatik yedekleme yalnızca varsayılan örnekten veya tek bir adlandırılmış örnekten hedef veritabanlarında desteklenir. Varsayılan örnek yoksa ve birden çok adlandırılmış örnek varsa, SQL IaaS Aracısı uzantısı başarısız olur ve otomatik yedekleme çalışmaz.

Ayarlar

Aşağıdaki tabloda Otomatik Yedekleme için yapılandırılabilir seçenekler açıklanmaktadır. Gerçek yapılandırma adımları, Azure portalını mı yoksa Azure Windows PowerShell komutlarını mı kullandığınıza bağlı olarak değişir. Otomatik yedeklemenin varsayılan olarak yedekleme sıkıştırması kullandığını ve bunu devre dışı bırakamayacağınızı unutmayın.

Ayar Aralık (Varsayılan) Açıklama
Otomatik Yedekleme Etkinleştir/Devre Dışı Bırak (Devre Dışı) SQL Server 2014 Standard veya Enterprise çalıştıran bir Azure VM için Otomatik Yedeklemeyi etkinleştirir veya devre dışı bırakır.
Bekletme Süresi 1-90 gün (90 gün) Yedeklemenin tutulacak gün sayısı.
Depolama Hesabı Azure depolama hesabı Otomatik Yedekleme dosyalarını blob depolamada depolamak için kullanılacak bir Azure depolama hesabı. Tüm yedekleme dosyalarını depolamak için bu konumda bir kapsayıcı oluşturulur. Yedekleme dosyası adlandırma kuralı tarih, saat ve makine adını içerir.
Şifreleme Etkinleştir/Devre Dışı Bırak (Devre Dışı) Yedekleme şifrelemesini etkinleştirir veya devre dışı bırakır. Yedekleme şifrelemesi etkinleştirildiğinde, yedeklemeyi geri yüklemek için kullanılan sertifikalar aynı adlandırma kuralı kullanılarak belirtilen depolama hesabında aynı automaticbackup kapsayıcıda bulunur. Parola değişirse, bu parolayla yeni bir sertifika oluşturulur, ancak eski sertifika önceki yedeklemeleri geri yüklemek için kalır.
Parola Parola metni Şifreleme anahtarları için bir parola. Bu yalnızca şifreleme etkinleştirildiğinde gereklidir. Şifrelenmiş bir yedeklemeyi geri yüklemek için, yedeklemenin alındığı sırada kullanılan doğru parolaya ve ilgili sertifikaya sahip olmanız gerekir.

Yeni VM'leri yapılandırma

Resource Manager dağıtım modelinde yeni bir SQL Server 2014 sanal makinesi oluşturduğunuzda Otomatik Yedekleme'yi yapılandırmak için Azure portalını kullanın.

SQL Server ayarları sekmesinde, ekranı aşağı kaydırarak Otomatik yedekleme'ye gelin ve Etkinleştir'i seçin. Aşağıdaki Azure portalı ekran görüntüsünde SQL Otomatik Yedekleme ayarları gösterilmektedir.

Azure portalında SQL Otomatik Yedekleme yapılandırmasının ekran görüntüsü.

Mevcut VM'leri yapılandırma

Mevcut SQL Server VM'leri için otomatik yedeklemeleri etkinleştirebilir ve devre dışı bırakabilir, bekletme süresini değiştirebilir, depolama hesabını belirtebilir ve Azure portalından şifrelemeyi etkinleştirebilirsiniz.

SQL Server 2014 sanal makinenizin SQL sanal makineleri kaynağına gidin ve Yedeklemeler'i seçin.

Mevcut VM'ler için SQL Otomatik Yedekleme'nin ekran görüntüsü.

İşiniz bittiğinde, değişikliklerinizi kaydetmek için Yedeklemeler sayfasının alt kısmındaki Uygula düğmesini seçin.

Otomatik Yedekleme'yi ilk kez etkinleştiriyorsanız, Azure arka planda SQL Server IaaS Aracısını yapılandırıyor. Bu süre boyunca Azure portalında Otomatik Yedekleme'nin yapılandırıldığı gösterilmeyebilir. Aracının yüklenmesi ve yapılandırılması için birkaç dakika bekleyin. Bundan sonra Azure portalı yeni ayarları yansıtır.

Not

Otomatik Yedekleme'yi şablon kullanarak da yapılandırabilirsiniz. Daha fazla bilgi için bkz . Otomatik Yedekleme için Azure hızlı başlangıç şablonu.

PowerShell ile yapılandırma

Otomatik Yedekleme'yi yapılandırmak için PowerShell'i kullanabilirsiniz. Başlamadan önce şunları yapmanız gerekir:

  • En son Azure PowerShell'i indirin ve yükleyin.
  • Windows PowerShell'i açın ve Bağlan-AzAccount komutuyla hesabınızla ilişkilendirin.

Not

Bu makalede, Azure ile etkileşim için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Geçerli ayarları doğrulama

Sağlama sırasında otomatik yedeklemeyi etkinleştirdiyseniz, geçerli yapılandırmanızı denetlemek için PowerShell'i kullanabilirsiniz. Get-AzVMSqlServerExtension komutunu çalıştırın ve AutoBackup Ayarlar özelliğini inceleyin:

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

Aşağıdakine benzer bir çıkış almanız gerekir:

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

Çıkışınız Etkinleştir'in False olarak ayarlandığını gösteriyorsa otomatik yedeklemeyi etkinleştirmeniz gerekir. İyi haber, Otomatik Yedekleme'yi aynı şekilde etkinleştirmeniz ve yapılandırmanızdır. Bu bilgi için sonraki bölüme bakın.

Not

Bir değişiklik yaptıktan hemen sonra ayarları denetlerseniz, eski yapılandırma değerlerini geri almanız mümkündür. Birkaç dakika bekleyin ve değişikliklerinizin uygulandığından emin olmak için ayarları yeniden denetleyin.

Otomatik Yedeklemeyi Yapılandırma

PowerShell'i kullanarak Otomatik Yedekleme'yi etkinleştirebilir ve bu yedeklemenin yapılandırmasını ve davranışını istediğiniz zaman değiştirebilirsiniz.

İlk olarak, yedekleme dosyaları için bir depolama hesabı seçin veya oluşturun. Aşağıdaki betik bir depolama hesabı seçer veya yoksa oluşturur.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Not

Otomatik Yedekleme, yedeklerin premium depolamada depolanmasını desteklemez, ancak Premium Depolama kullanan VM disklerinden yedekleme alabilir.

Yedeklemeler için depolama hesabında özel bir kapsayıcı kullanmak istiyorsanız, kapsayıcıyı denetlemek veya yoksa oluşturmak için aşağıdaki betiği kullanın.

$storage_container = "backupcontainer"

New-AzStorageContainer -Name $storage_container -Context $storage.Context

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

Ardından, depolama hesabının Erişim anahtarını almak için aşağıdaki betiği kullanın:

$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

Ardından Update-AzSqlVM komutunu kullanarak Otomatik Yedekleme ayarlarını azure depolama hesabında depolamak için etkinleştirin ve yapılandırın. Bu örnekte yedeklemeler 10 gün boyunca tutulacak şekilde ayarlanmıştır.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingStorageContainerName $storage_container 

SQL Server IaaS Aracısı'nın yüklenmesi ve yapılandırılması birkaç dakika sürebilir.

Not

Update-AzSqlVM* için yalnızca SQL Server 2016 ve Otomatik Yedekleme için geçerli olan başka ayarlar da vardır. SQL Server 2014 şu ayarları desteklemez: -AutoBackupSettingBackupSystemDb, -AutoBackupSettingBackupScheduleType, -AutoBackupSettingFullBackupFrequency, -AutoBackupSettingFullBackupStartTime, -AutoBackupSettingFullBackupWindowHour ve -AutoBackupSettingLogBackupFrequency. Bu ayarları bir SQL Server 2014 sanal makinesinde yapılandırmaya çalışırsanız hata olmaz, ancak ayarlar uygulanmaz. Bu ayarları bir SQL Server 2016 sanal makinesinde kullanmak istiyorsanız bkz . SQL Server 2016 Azure sanal makineleri için Otomatik Yedekleme.

Şifrelemeyi etkinleştirmek için, önceki betiği -AutoBackupSettingEnableEncryption parametresini -AutoBackupSettingPassword parametresi için parola (güvenli dize) ile birlikte geçirecek şekilde değiştirin. Aşağıdaki betik, önceki örnekteki Otomatik Yedekleme ayarlarını etkinleştirir ve şifreleme ekler.

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container 

Ayarlarınızın uygulandığını onaylamak için Otomatik Yedekleme yapılandırmasını doğrulayın.

Otomatik Yedeklemeyi Devre Dışı Bırak

Otomatik Yedekleme'yi devre dışı bırakmak için, Update-AzSqlVM komutunda $false olarak ayarlanmış-AutoBackupSettingEnable parametresiyle aynı betiği çalıştırın. Değeri özelliğin devre dışı $false olarak ayarlayarak. Yüklemede olduğu gibi Otomatik Yedekleme'nin devre dışı bırakılması birkaç dakika sürebilir.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false

Örnek betik

Aşağıdaki betik, VM'niz için Otomatik Yedeklemeyi etkinleştirmek ve yapılandırmak üzere özelleştirebileceğiniz bir dizi değişken sağlar. Sizin durumunuzda, betiği gereksinimlerinize göre özelleştirmeniz gerekebilir. Örneğin, sistem veritabanlarının yedeklenmesini devre dışı bırakmak veya şifrelemeyi etkinleştirmek istiyorsanız değişiklik yapmanız gerekir.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Creates/uses a custom storage account container

$storage_container = "yourbackupcontainer"

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

# Configure Automated Backup settings

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingStorageContainerName $storage_container 

Şifreleme sertifikaları ile yedekleme

Yedeklemelerinizi şifrelemeye karar verirseniz, bir şifreleme sertifikası oluşturulur ve yedeklemelerle aynı depolama hesabına kaydedilir. Bu senaryoda, yedeklemelerinizi şifrelemek ve şifresini çözmek için kullanılan şifreleme sertifikalarını korumak için kullanılacak bir parola da girmeniz gerekir. Bu, yedeklemeleriniz için bu özelliğin yapılandırmasının ötesinde endişelenmenize ve ayrıca yedeklemelerinizin güvenli olduğuna güvenebilmenizi sağlar.

Yedekleme şifrelemesi etkinleştirildiğinde, veritabanlarınızın geri yüklenmesini sağlamak için şifreleme sertifikasının başarıyla oluşturulup oluşturulmadığını ve karşıya yüklenip yüklenmediğini doğrulamanızı kesinlikle öneririz. Bunu yapmak için hemen bir veritabanı oluşturabilir ve şifreleme sertifikalarının ve verilerin yeni oluşturulan kapsayıcıya düzgün bir şekilde yedeklendiğini kontrol edebilirsiniz. Bu, her şeyin doğru yapılandırıldığını ve hiçbir anomali gerçekleşmediğini gösterir.

Sertifika bir nedenle karşıya yüklenemediyse sertifikayı dışarı aktarmak ve kaydetmek için sertifika yöneticisini kullanabilirsiniz. Ancak bu, VM kapatıldığında sertifikaya erişiminizin olmasını sağlamadığından, bunu aynı VM'ye kaydetmek istemezsiniz. Otomatik Yedekleme yapılandırmasını değiştirdikten veya oluşturduktan sonra sertifikanın düzgün yedeklenip yedeklenmediğini öğrenmek için VM'deki olay günlüklerini de denetleyebilirsiniz ve başarısız olup olmadığını öğrenmek için şu hata iletisini görürsünüz:

VM'de Olay Günlüğü'nde gösterilen hata iletisinin ekran görüntüsü.

Sertifikalar doğru yedeklendiyse, Olay Günlükleri'nde şu iletiyi görürsünüz:

Olay günlüklerinde şifreleme sertifikasının başarıyla yedeklenmesinin ekran görüntüsü.

Genel bir uygulama olarak, yedeklemelerinizin durumunu zaman zaman denetlemeniz önerilir. Yedeklemelerinizi geri yükleyebilmek için aşağıdakileri yapmalısınız:

  1. Şifreleme sertifikalarınızın yedeklendiğini ve parolanızı anımsadığınızdan emin olun. Bunu yapmazsanız, yedeklemelerinizin şifresini çözemez ve geri yükleyemezsiniz. Bazı nedenlerden dolayı sertifikalarınız düzgün bir şekilde yedeklenmediyse, aşağıdaki T-SQL sorgusunu yürüterek bunu el ile gerçekleştirebilirsiniz:

    BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password>
    BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
    
  2. Yedekleme dosyalarınızın en az 1 tam yedekleme ile karşıya yüklendiğini onaylayın. Hatalar oluştuğundan, VM'nizi silmeden önce her zaman en az bir tam yedeklemeye sahip olduğunuzdan veya VM'nizin bozulması durumunda verilerinize erişmeye devam edebilmeniz için her zaman tam yedeklemeye sahip olduğunuzdan emin olmalısınız. VM'nizin veri disklerini silmeden önce depolamadaki yedeklemenin güvenli ve kurtarılabilir olduğundan emin olmanız gerekir.

İzleme

SQL Server 2014'te Otomatik Yedekleme'yi izlemek için iki ana seçeneğiniz vardır. Otomatik Yedekleme, SQL Server Yönetilen Yedekleme özelliğini kullandığından, her ikisine de aynı izleme teknikleri uygulanır.

İlk olarak, msdb.smart_admin.sp_get_backup_diagnostics öğesini çağırarak durumu yoklayabilirsiniz. Veya msdb.smart_admin.fn_get_health_status tablo değerli işlevini sorgular.

Not

SQL Server 2014'te Yönetilen Yedekleme şeması msdb.smart_admin. SQL Server 2016'da bu, msdb.managed_backup olarak değiştirildi ve başvuru konuları bu yeni şemayı kullanıyor. Ancak SQL Server 2014 için tüm Yönetilen Yedekleme nesneleri için smart_admin şemasını kullanmaya devam etmeniz gerekir.

Bir diğer seçenek de bildirimler için yerleşik Veritabanı Postası özelliğinden yararlanmaktır.

  1. SSMBackup2WANotificationEmailIds parametresine bir e-posta adresi atamak için msdb.smart_admin.sp_set_parameter saklı yordamını çağırın.
  2. Azure VM'den e-posta göndermek için SendGrid'i etkinleştirin.
  3. Veritabanı Postası yapılandırmak için SMTP sunucusunu ve kullanıcı adını kullanın. Veritabanı Postasını, SQL Server Management Studio'da veya Transact-SQL komutlarıyla yapılandırabilirsiniz. Daha fazla bilgi için bkz. Veritabanı Postası.
  4. SQL Server Agent'ı Veritabanı Postası kullanacak şekilde yapılandırın.
  5. SMTP bağlantı noktasına hem yerel VM güvenlik duvarı hem de VM için ağ güvenlik grubu üzerinden izin verilip verilmediğini doğrulayın.

Sonraki adımlar

Otomatik Yedekleme, Azure VM'lerinde Yönetilen Yedekleme'yi yapılandırıyor. Bu nedenle SQL Server 2014'te Yönetilen Yedekleme belgelerini gözden geçirmek önemlidir.

Azure VM'lerinde SQL Server için ek yedekleme ve geri yükleme yönergelerini şu makalede bulabilirsiniz: Azure sanal makinelerinde SQL Server için yedekleme ve geri yükleme.

Diğer kullanılabilir otomasyon görevleri hakkında bilgi için bkz . SQL Server IaaS Aracısı Uzantısı.

Azure VM'lerinde SQL Server çalıştırma hakkında daha fazla bilgi için bkz . Azure sanal makinelerinde SQL Server'a genel bakış.