Azure SQL Yönetilen Örneği'da, uzun süreli bir yedekleme saklama ilkesi (LTR) yapılandırabilirsiniz. Bu, veritabanı yedeklemelerini 10 yıla kadar ayrı Azure Blob depolama kapsayıcılarında otomatik olarak tutmanızı sağlar. Daha sonra azure portalı, Azure CLI ve PowerShell ile bu yedeklemeleri kullanarak bir veritabanını kurtarabilirsiniz.
Aşağıdaki bölümlerde azure portalını, PowerShell'i ve Azure CLI'yı kullanarak uzun süreli yedekleme saklamayı yapılandırma, Azure SQL depolama alanında yedeklemeleri görüntüleme ve Azure SQL depolamadaki bir yedeklemeden geri yükleme işlemlerinin nasıl yapılacağını görebilirsiniz.
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ü hala Azure SQL Veritabanı tarafından desteklenmektedir ancak gelecekteki geliştirmeler Az.Sql modülünde yapılacaktır. 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-AzSqlInstanceDatabaseiçin Get-AzSqlInstanceDatabaseLongTermRetentionBackup aşağıdaki rollerden birinin üyesi olmanız gerekir:
SQL Yönetilen Örneği 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. Öte yandan bırakılan örneğe ait LTR yedeklemelerine erişmek için, iznin söz konusu örneğin abonelik kapsamında verilmesi gerekir.
SQL Yönetilen Örneği, otomatik yedeklemeleri hizmet katmanınızın saklama süresinden daha uzun bir süre boyunca saklayacak şekilde yapılandırabilirsiniz.
Azure portalında yönetilen örneğinizi ve ardından Yedeklemeler'i seçin. Bekletme ilkeleri sekmesinde, uzun süreli yedekleme bekletme ilkelerini ayarlamak veya değiştirmek istediğiniz veritabanlarını seçin. Değişiklikler, seçili olmayan hiçbir veritabanına uygulanmaz.
İ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.
Tamamlandığında 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 midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--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.
Veritabanınızı geri yüklemeyi planladığınız hedef SQL Yönetilen Örneği gidin.
Genel Bakış sayfasında + Yeni veritabanı'nı seçerek Azure SQL Yönetilen Veritabanı Oluştur sayfasını açın.
Azure SQL Yönetilen Veritabanı Oluşturma sayfasının Temel Bilgiler sekmesinde, Proje ayrıntıları altında abonelik ve kaynak grubu ayrıntılarını sağlayın. Ardından, Veritabanı ayrıntıları altında geri yüklemeyi planladığınız veritabanının yeni adını belirtin. Açılan listede doğru yönetilen örneğin listelendiğini onaylayın. Ardından İleri: Veri kaynağı'ı seçin >
Veri kaynağı sekmesinde Var olan verileri kullan'ın altında Belirli bir noktaya geri yükleme'yi seçin. Kaynak veritabanını içeren aboneliği, kaynak grubunu ve yönetilen örneği sağlayın. Yönetilen veritabanı açılan listesinden geri yüklemek istediğiniz veritabanını seçin ve ardından veritabanını geri yüklemek istediğiniz noktayı seçin. Kaynak ve hedef örnek aynı veya iki farklı örnek olabilir. İleri: Ek ayarlar'ı seçin >
Ek ayarlar sekmesinde, bekletme ilkesini kaynak veritabanından devralmak için kutuyu işaretleyebilir veya alternatif olarak, İlkeleri yapılandır sayfasını açmak için Bekletmeyi yapılandır'ı seçebilir ve geri yüklenen veritabanınız için istediğiniz bekletme ilkelerini ayarlayabilirsiniz. İşiniz bittiğinde Gözden geçir ve oluştur'u seçin.
Gözden geçir + oluştur'da doğrulama başarılı olduğunda, veritabanınızı geri yüklemek için Oluştur'u seçin.
Bu eylem, yeni bir veritabanı oluşturan ve belirtilen zamanda özgün veritabanındaki verilerle dolduran geri yükleme işlemini başlatır. Kurtarma işlemi hakkında daha fazla bilgi için bkz . Kurtarma süresi.
Örnek silindikten sonra LTR yedeklemesinden geri yüklemek için örneğin aboneliğini kapsayan izinlerinizin olması ve aboneliğin etkin olması gerekir.
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 ilkelerini görüntüleme
Bu örnekte, tek bir veritabanı için bir örnekteki LTR ilkelerinin nasıl liste adımlarının yer aldığı gösterilmektedir.
# gets the current version of LTR policy for a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
}
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Bu örnek, bir örnekteki tüm veritabanları için LTR ilkelerinin nasıl liste yapılacağını gösterir.
# gets the current version of LTR policy for all of the databases on an instance
$Databases = Get-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $instanceName
$LTRParams = @{
InstanceName = $instanceName
ResourceGroupName = $resourceGroup
}
foreach($database in $Databases.Name){
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRParams -DatabaseName $database
}
LTR ilkesini temizleme
Bu örnek, bir LTR ilkesinin veritabanından nasıl temiz yapılacağını gösterir.
# remove the LTR policy from a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
RemovePolicy = $true
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
LTR yedeklemelerini görüntüleme
Bu örnekte, bir örnek içindeki LTR yedeklemelerinin nasıl liste listesi gösterilmektedir.
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# 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
Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location
# get the list of LTR backups from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# get the LTR backups for a specific database from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$LTRBackupParam = @{
Location = $instance.Location
DatabaseState = 'Live'
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# only list the latest LTR backup for each database
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
OnlyLatestPerDatabase = $true
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
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 instance $instanceName of the resource group $resourceGroup
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbname
OnlyLatestPerDatabase = $true
}
$ltrBackup = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$RestoreLTRParam = @{
TargetInstanceName = $instanceName
TargetResourceGroupName = $resourceGroup
TargetInstanceDatabaseName = $dbName
FromLongTermRetentionBackup = $true
ResourceId = $ltrBackup.ResourceId
}
Restore-AzSqlInstanceDatabase @RestoreLTRParam
Önemli
Örnek silindikten sonra LTR yedeklemesinden geri yüklemek için örneğin aboneliğini kapsayan izinlerinizin olması ve aboneliğin etkin olması gerekir. İsteğe bağlı -ResourceGroupName parametresini de atlamalısınız.
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. Örnek 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.
Bu örnekte, yedekleme listesinden en eski LTR yedeklemesinin nasıl silineceği gösterilmektedir. Bu örnek, verilen SQL yönetilen örneği altındaki Azure bölgesinden belirli bir veritabanı için LTR yedeklemelerinin listesini alır.
# remove the earliest backup
# get the LTR backups for a specific database from the Azure region under the given SQL managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$ltrBackup = $ltrBackups[0]
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId
Sınırlamalar
SQL Server 2022 güncelleştirme ilkesiyle yapılandırılan örneklerden alınan veritabanı yedeklemeleri, SQL Server 2022 veya Her zaman güncel güncelleştirme ilkesiyle yapılandırılan örneklere geri yüklenebilir. Her zaman güncel güncelleştirme ilkesiyle yapılandırılan örneklerden alınan veritabanı yedeklemeleri yalnızca Her zaman güncel güncelleştirme ilkesiyle yapılandırılan örneklere geri yüklenebilir.
Sonraki adımlar
Hizmet tarafından oluşturulan otomatik yedeklemeler hakkında bilgi edinmek için bkz . otomatik yedeklemeler.