Azure SQL Veritabanı ile, yedeklemeleri 10 yıla kadar ayrı Azure Blob depolama kapsayıcılarında otomatik olarak tutmak için uzun süreli bir yedekleme saklama (LTR) ilkesi ayarlayabilirsiniz. Daha sonra azure portalını, Azure CLI'yı veya PowerShell'i kullanarak bu yedeklemeleri kullanarak bir veritabanını kurtarabilirsiniz.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Ortamınızı PowerShell için hazırlayın.
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.
Önemli
PowerShell Azure Resource Manager modülü Azure SQL Veritabanı tarafından hala desteklenmektedir, ancak gelecekteki tüm geliştirmeler Az.Sql modülüne yöneliktir. Bu cmdlet'ler için bkz . AzureRM.Sql. Az modülündeki ve AzureRm modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır.
ve Restore-AzSqlDatabaseiçin Get-AzSqlDatabaseLongTermRetentionBackup aşağıdaki rollerden birinin üyesi olmanız gerekir:
SQL Server Katkıda Bulunanı rolünün LTR yedeklemelerini silme izni yok.
Azure rol tabanlı erişim denetimi (RBAC) izinleri abonelik veya kaynak grubu kapsamında verilebilir. Ancak, bırakılan bir sunucuya ait LTR yedeklemelerine erişmek için bu iznin o sunucunun abonelik kapsamında verilmesi gerekir:
SQL Veritabanı, otomatik yedeklemeleri hizmet katmanınızın saklama süresinden daha uzun bir süre boyunca saklayacak şekilde yapılandırabilirsiniz.
Azure portalında sunucunuza gidin ve Yedeklemeler'i seçin. Yedekleme saklama ayarlarınızı değiştirmek için Bekletme ilkeleri sekmesini seçin.
Bekletme ilkeleri sekmesinde, uzun süreli yedekleme bekletme ilkelerini ayarlamak veya değiştirmek istediğiniz veritabanlarını seçin. Seçilmemiş veritabanları etkilenmez.
İlkeleri yapılandır bölmesinde haftalık, aylık veya yıllık yedeklemeler için istediğiniz saklama süresini belirtin. Uzun süreli yedekleme saklamanın ayarlanmaması gerektiğini belirtmek için '0' bekletme süresini seçin.
Seçilen bekletme ayarlarını seçilen tüm veritabanlarına uygulamak için Uygula'yı seçin.
Önemli
Uzun süreli bir yedekleme saklama ilkesini etkinleştirdiğinizde, ilk yedeklemenin görünür hale gelmesi ve geri yükleme için kullanılabilir duruma gelmesi 7 güne kadar sürebilir. LTR yedekleme temposunun ayrıntıları için bkz . uzun süreli yedekleme saklama.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W"
Bu örnek haftalık yedekleme için 12 hafta, yıllık yedekleme için 5 yıl ve yıllık LTR yedeklemesinin alındığı 15 Nisan haftası için bir bekletme ilkesi ayarlar.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W" \
--yearly-retention "P5Y" \
--week-of-year 16
# get the SQL server
$subId = "<subscriptionId>"
$serverName = "<serverName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$server = Get-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W -YearlyRetention P5Y -WeekOfYear 16
Yedeklemeleri görüntüleme ve yedekten geri yükleme
LTR ilkesine sahip belirli bir veritabanı için tutulan yedeklemeleri görüntüleyin ve bu yedeklerden geri yükleyin.
Azure portalında sunucunuza gidin ve Yedeklemeler'i seçin. Belirli bir veritabanı için kullanılabilir LTR yedeklemelerini görüntülemek için Kullanılabilir LTR yedeklemeleri sütununun altında Yönet'i seçin. Seçili veritabanı için kullanılabilir LTR yedeklemelerinin listesini içeren bir bölme görüntülenir.
Kullanılabilir bir LTR yedeklemesinden geri yüklemek için, geri yüklemek istediğiniz yedeklemeyi seçin ve ardından Geri Yükle'yi seçin.
Yeni veritabanınız için bir ad seçin ve ardından Gözden Geçir + Oluştur'u seçerek Geri Yükleme işleminizin ayrıntılarını gözden geçirin. Veritabanınızı seçilen yedeklemeden geri yüklemek için Oluştur'u seçin.
Araç çubuğunda bildirim simgesini seçerek geri yükleme işinin durumunu görüntüleyin.
Geri yükleme işi tamamlandığında, yeni geri yüklenen veritabanını görüntülemek için SQL veritabanları sayfasını açın.
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Önemli
Sunucu veya kaynak grubu silindikten sonra bir LTR yedeklemesinden geri yüklemek için, sunucunun aboneliği kapsamında izinlerinizin olması ve bu aboneliğin etkin olması gerekir. İsteğe bağlı -ResourceGroupName parametresini de atlamalısınız.
Not
Buradan, veritabanı değiştirme gibi gerekli görevleri gerçekleştirmek için SQL Server Management Studio kullanarak geri yüklenen veritabanına bağlanabilirsiniz. Bkz . belirli bir noktaya geri yükleme.
LTR ilkelerini görüntüleme
Bu örnekte, bir sunucu içindeki LTR ilkelerinin nasıl listelenmiştir.
# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | `
Get-AzSqlDatabaseLongTermRetentionPolicy
# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup
LTR ilkesini temizleme
Bu örnek, bir LTR ilkesinin veritabanından nasıl temiz yapılacağını gösterir.
Bu örnekte, bir sunucu içindeki LTR yedeklemelerinin nasıl listelenmiştir.
# get the list of all LTR backups in a specific Azure region
# backups are grouped by the logical database id, within each group they are ordered by the timestamp, the earliest backup first
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location
# get the list of LTR backups from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName
# get the LTR backups for a specific database from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $dbName
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -DatabaseState Live
# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -OnlyLatestPerDatabase
LTR yedeklemelerinden geri yükleme
Bu örnekte BIR LTR yedeklemesinden nasıl geri yükleneceği gösterilmektedir. Bu arabirimin değişmediğini ancak kaynak kimliği parametresinin artık LTR yedekleme kaynak kimliğini gerektirdiğini unutmayın.
# restore a specific LTR backup as an P1 database on the server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
-TargetDatabaseName $dbName -ServiceObjectiveName P1
Önemli
Sunucu veya kaynak grubu silindikten sonra bir LTR yedeklemesinden geri yüklemek için, sunucunun aboneliği kapsamında izinlerinizin olması ve bu aboneliğin etkin olması gerekir. Ayrıca isteğe bağlı -ResourceGroupName parametresini de atlamalısınız.
Uyumluluk veya görev açısından kritik diğer gereksinimleri karşılamak için LTR yedeklemeleri kullanıyorsanız, LTR yedeklemelerinin geri yüklenebildiğini ve geri yüklemenin beklenen veritabanı durumunda sonuçlandığını doğrulamak için düzenli kurtarma tatbikatları gerçekleştirmeyi göz önünde bulundurun.
Not
Buradan var olan veritabanına kopyalamak için geri yüklenen veritabanından veri ayıklama veya var olan veritabanını silerek geri yüklenen veritabanının adını var olan veritabanının adıyla değiştirme gibi görevleri gerçekleştirmek için SQL Server Management Studio kullanarak geri yüklenen veritabanına bağlanabilirsiniz. Bkz . belirli bir noktaya geri yükleme.
LTR yedeklemelerini silme
LTR ilkesine sahip belirli bir veritabanı için tutulan yedekleri silin.
Önemli
LTR yedeklemesini silme işlemi geri alınamaz. Sunucu silindikten sonra bir LTR yedeklemesini silmek için Abonelik kapsamı izniniz olmalıdır. 'Uzun süreli saklama yedeğini siler' işlemini filtreleyerek Azure İzleyici'de her silme işlemiyle ilgili bildirimler ayarlayabilirsiniz. Etkinlik günlüğü, isteği kimin ve ne zaman yaptığına ilişkin bilgileri içerir. Ayrıntılı yönergeler için bkz . Etkinlik günlüğü uyarıları oluşturma.
Yedeklemeler'i seçin. Belirli bir veritabanı için kullanılabilir LTR yedeklemelerini görüntülemek için Kullanılabilir LTR yedeklemeleri sütununun altında Yönet'i seçin. Seçili veritabanı için kullanılabilir LTR yedeklemelerinin listesini içeren bir bölme görüntülenir.
Görüntülenen Kullanılabilir LTR yedeklemeleri bölmesinde kullanılabilir yedeklemeleri gözden geçirin. Silmek için bir yedekleme seçin. Sil'i seçin.
Uyumluluk veya görev açısından kritik diğer gereksinimleri karşılamak için LTR yedeklemeleri kullanıyorsanız:
Portal, Azure CLI veya PowerShell kullanarak yedeklemeleri görüntüleme bölümünde açıklanan adımları izleyerek LTR yedeklemelerinin yapılandırılan ilkeye göre alındığını doğrulayın.
LTR yedeklemelerinin geri yüklenmesinin beklenen veritabanı durumuna neden olduğunu doğrulamak için düzenli kurtarma tatbikatları gerçekleştirmeyi göz önünde bulundurun.
İlgili içerik
Hizmet tarafından oluşturulan otomatik yedekler hakkında bilgi edinmek için bkz. otomatik yedekler