Şunlar için geçerlidir:
Azure SQL Yönetilen Örneği
Bu makalede, Azure portalı, PowerShell ve Azure CLI kullanarak Azure SQL Yönetilen Örneği için uzun süreli yedekleme saklama (LTR) ilkesini yapılandırmanın yanı sıra Azure depolama alanından yedeklemeleri görüntüleme ve geri yükleme işlemleri gösterilmektedir. LTR ilkesi, veritabanı yedeklemelerini ayrı bir Azure Blob depolama kapsayıcısı içinde 10 yıla kadar otomatik olarak tutmanızı sağlar. Daha sonra bu yedeklemeleri kullanarak veritabanını kurtarabilirsiniz.
Önemli
Uzun süreli saklama (LTR) yedekleme işlemleri için kullanılan bazı eski API'ler kullanım dışıdır ve artık desteklenmez. gibi Copy-AzSqlDatabaseLongTermRetentionBackupeski PowerShell cmdlet'lerini kullanmaktan kaçının. Bunun yerine bu makalede açıklanan desteklenen geri yükleme yöntemlerini kullanın.
Önkoşullar
Etkin bir Azure aboneliği.
Ortamınızı Azure CLI için hazırlayın.
Ortamınızı PowerShell için hazırlayın.
Önemli
PowerShell Azure Resource Manager (AzureRM) modülü 29 Şubat 2024'te kullanım dışı bırakılmıştır. Gelecekteki tüm geliştirmelerde Az.Sql modülü kullanılmalıdır. Kullanıcıların destek ve güncelleştirmelerin devam etmesini sağlamak için AzureRM'den Az PowerShell modülüne geçmeleri tavsiye edilir. AzureRM modülü artık korunmaz veya desteklenmez. Az PowerShell modülündeki ve AzureRM modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır. Uyumlulukları hakkında daha fazla bilgi için bkz. Yeni Az PowerShell modülüne giriş.
İzinler
LTR yedeklemelerini görüntülemek ve geri yüklemek için aşağıdaki rollerin bir üyesi olmanız gerekir:
- Abonelik Sahibi rolü veya
- SQL Yönetilen Örnek Katılımcı Rolü veya
- Aşağıdaki izinlere sahip özel rol:
Microsoft.Sql/locations/longTermRetentionManagedInstanceBackups/read
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionManagedInstanceBackups/read
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/read
LTR yedeklemelerini silmek için aşağıdaki rollerden birinin üyesi olmanız gerekir:
- Abonelik Sahibi rolü veya
- Aşağıdaki izine sahip bir özel rol:
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete
Not
SQL Yönetilen Örneği Rolü'nün LTR yedeklerini silme yetkisi yoktur.
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.
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete
Uzun süreli saklama ilkeleri oluşturma
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 SQL yönetilen örneğinizi ve ardından Yedeklemeler'i seçin.
Bekletme ilkeleri sekmesinde, uzun süreli yedekleme saklama 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.
Azure portalından ilkelerin nasıl yapılandırılacağını gösteren bir ekran görüntüsü.
Tamamlandığında Uygula'yı seçin.
Önemli
Uzun süreli yedekleme saklama ilkesini etkinleştirdiğinizde, ilk yedeklemenin görünür hale gelmesi ve geri yüklenebilmesi yedi güne kadar sürebilir. LTR yedekleme temposunun ayrıntıları için bkz. Uzun süreli yedekleme saklama.
SQL Yönetilen Örnek veritabanının ayrıntılarını almak için az sql midb show komutunu çalıştırın.
az sql midb show /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--subscription mysubscription
Bir LTR ilkesi oluşturmak için az sql midb ltr-policy set komutunu çalıştırın. Aşağıdaki örnek, haftalık yedekleme için 12 hafta boyunca uzun süreli saklama ilkesi ayarlar.
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 beş yıl ve yıllık LTR yedeklemesinin alındığı 15 Nisan haftası için bir bekletme ilkesi ayarlar.
az sql midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--weekly-retention "P12W" /
--yearly-retention "P5Y" /
--week-of-year 16
# get the SQL Managed Instance
$subId = "<subscriptionId>"
$instanceName = "<instanceName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
WeeklyRetention = 'P12W'
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
WeeklyRetention = 'P12W'
YearlyRetention = 'P5Y'
WeekOfYear = '16'
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Yedeklemeleri görüntüleme ve yedekten geri yükleme
Azure portalından kullanılabilir uzun vadeli yedeklemeleri görüntülemek için şu adımları izleyin:
Azure portalında SQL yönetilen örneğinizi ve ardından Yedeklemeler'i seçin.
Kullanılabilir yedeklemeler sekmesinde, kullanılabilir yedeklemeleri görmek istediğiniz veritabanını seçin.
Yönet'i seçin.
Yedeklemeleri yönet bölmesinde kullanılabilir yedeklemeleri gözden geçirin.
Ayrıca, yedeklemeyi seçip Geri Yükle'yi seçerek de bu sayfadan geri yükleyebilirsiniz.
Alternatif olarak, Azure portalını kullanarak yedeklemeyi uzun süreli saklamadan geri yüklemek için şu adımları izleyin:
Azure Portal’ında oturum açın.
Hedef SQL Yönetilen Örneğine veritabanınızı geri yüklemeyi planladığınız yere 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 SQL yönetilen örneğinin listelendiğini onaylayın. Ardından İleri: Veri kaynağı >öğesini seçin.
Veri kaynağı sekmesinde Var olan verileri kullan'ın altında Belirli bir noktaya geri yükleme'yi seçin. Aboneliği, kaynak grubunu ve kaynak veritabanını içeren SQL Yönetilen Örneğini sağlayın.
Yönetilen veritabanı açılan listesinden geri yüklemek istediğiniz veritabanını seçin. Ardından veritabanını geri yüklemek istediğiniz zaman noktasını 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şaretleyebilirsiniz. Alternatif olarak, İlkeleri yapılandır sayfasını açmak ve geri yüklenen veritabanınız için istediğiniz bekletme ilkelerini ayarlamak için Bekletmeyi yapılandır'ı seçebilirsiniz. İşiniz bittiğinde Gözden geçir + 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.
LTR ilkelerini görüntüleme
Bir örnek içindeki tek bir veritabanı için LTR ilkesini görüntülemek için az sql midb ltr-policy show komutunu çalıştırın.
az sql midb ltr-policy show \
--resource-group mygroup \
--managed-instance myinstance \
--name mymanageddb
LTR yedeklemelerini görüntüleme
Örnek içindeki LTR yedeklemelerini görüntülemek için az sql midb ltr-backup list komutunu kullanın.
az sql midb ltr-backup list \
--resource-group mygroup \
--location eastus2 \
--managed-instance myinstance
LTR yedeklemelerinden geri yükleme
Veritabanınızı bir LTR yedeklemesinden geri yüklemek için az sql midb ltr-backup restore komutunu çalıştırın. Çalıştırabilirsin az sql midb ltr-backup show bilgisini almak için.
gelecekte kullanmak üzere komutuyla backup-id için az sql db ltr-backup show bir değişken oluşturun.
get_backup_id=$(az sql midb ltr-backup show
--location eastus2 \
--managed-instance myinstance \
--database mydb \
--name "3214b3fb-fba9-43e7-96a3-09e35ffcb336;132292152080000000" \
--query 'id' \
--output tsv)
Veritabanınızı BIR LTR yedeklemesinden geri yükleme
az sql midb ltr-backup restore \
--dest-database targetmidb \
--dest-mi myinstance \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Önemli
Ö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 örnek, tek bir veritabanı için bir örnek içindeki LTR ilkelerinin nasıl listeleneceğini göstermektedir.
# 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 politikasını kaldırma
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 örnek, bir örnek içindeki LTR yedeklemelerinin nasıl listeleneceğini göstermektedir.
$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 SQL 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 SQL 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
Warning
Copy-AzSqlDatabaseLongTermRetentionBackup Cmdlet kullanım dışı bırakılmış bir API kullanır ve desteklenmez. Bu cmdlet'i kullanmayın. Bu makalede belgelenen desteklenen geri yükleme yöntemlerini kullanın.
Bu örnekte bir LTR yedeğinden 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.
- Azure portalında SQL yönetilen örneğine gidin.
- 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.
-
Mevcut LTR Yedeklemeleri bölmesinde, kullanılabilir yedeklemeleri gözden geçirin. Silmek için bir yedekleme seçin.
Sil'i seçin.
Komutu çalıştırmak için az sql midb ltr-backup list yazın.
LTR yedeğini kaldırmak için az sql midb ltr-backup delete komutunu çalıştırın.
az sql midb ltr-backup delete \
--location eastus2 \
--managed-instance myinstance \
--database mymanageddb \
--name "3214b3fb-fba9-43e7-96a3-09e35ffcb336;132292152080000000"
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
Aşağıdaki sınırlamaları göz önünde bulundurun:
-
SQL Server 2022 güncelleştirme ilkesiyle yapılandırılan örneklerden alınan veritabanı yedeklemeleri SQL Server 2022, SQL Server 2025 veya Always-up-to-date güncelleştirme ilkesiyle yapılandırılan örneklere geri yüklenebilir.
-
SQL Server 2025 güncelleştirme ilkesiyle yapılandırılan örneklerden alınan veritabanı yedeklemeleri, SQL Server 2025 veya Always-up-to-date güncelleştirme ilkesiyle yapılandırılmış örneklere geri yüklenebilir, ancak SQL Server 2022 güncelleştirme ilkesiyle yapılandırılmış örneklere geri yüklenemez.
-
Always-up-to-date güncelleştirme ilkesiyle yapılandırılan örneklerden alınan veritabanı yedeklemeleri yalnızca Always-up-to-date güncelleştirme ilkesiyle yapılandırılan örneklere geri yüklenebilir.
- Örneklerden alınan LTR yedeklemeleri, özgün veritabanıyla aynı abonelik altında var olan herhangi bir sunucuya veya yönetilen örneğe geri yüklenebilir. Geri yükleme yeteneklerinin, sınırlamalarının ve özelliklerinin tam listesi için bkz. Azure SQL Yönetilen Örneği'nde geri yükleme yetenekleri ve özellikleri.
İlgili içerik