Şunlar için geçerlidir:
Azure SQL Veritabanı
Not
Veritabanı Düzeyi TDE CMK, Azure SQL Veritabanı (tüm SQL Veritabanı sürümleri) için kullanılabilir. Azure SQL Yönetilen Örnek, şirket içi SQL Server, Azure VM'ler ve Azure Synapse Analytics (eski adı SQL DW olan ayrılmış SQL havuzları) için kullanılamaz.
Bu kılavuzda, bir Azure SQL Veritabanı coğrafi çoğaltmayı ve yedekleme geri yüklemesini yapılandırma adımlarını inceleyeceğiz. Azure SQL Veritabanı, Azure Key Vault'a erişmek için kullanıcı tarafından atanan yönetilen kimlik kullanılarak veritabanı düzeyinde saydam veri şifrelemesi (TDE) ve Müşteri tarafından yönetilen anahtarlar (CMK) ile yapılandırılır. Hem Azure Key Vault hem de Azure SQL için mantıksal sunucu bu kılavuz için aynı Microsoft Entra kiracısındadır, ancak farklı kiracılarda olabilir.
Önkoşullar
- Bu işlemlerin kaynak veritabanı olan veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir Azure SQL Veritabanı sahip olun. Daha fazla bilgi için bkz . Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla saydam veri şifrelemesi (TDE).
Önemli
Veritabanı oluşturulduktan veya geri yüklendikten sonra, Azure portalındakiSaydam veri şifreleme menüsünde yeni veritabanı kaynak veritabanıyla aynı ayarlarla gösterilir, ancak anahtarlar eksik olabilir. Kaynak veritabanından yeni bir veritabanının oluşturulduğu her durumda, Azure portalında hedef veritabanı için görüntülenen anahtar sayısı Ek veritabanı anahtarları listesi, kaynak veritabanı için görüntülenen anahtar sayısından az olabilir. Bunun nedeni, görüntülenen anahtarların sayısının hedef veritabanı oluşturmak için kullanılan tek tek özellik gereksinimlerine bağlı olmasıdır. Yeni bir veritabanı için kullanılabilen tüm anahtarları listelemek için, Azure SQL Veritabanı veritabanı düzeyinde müşteri tarafından yönetilen anahtar ayarlarını görüntüleme bölümündeki kullanılabilir API'leri kullanın.
veritabanı düzeyinde müşteri tarafından yönetilen anahtarları ikincil anahtar veya kopya olarak içeren bir Azure SQL Veritabanı oluşturma
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir Azure SQL Veritabanı ikincil çoğaltma oluşturmak veya hedefini kopyalamak için aşağıdaki yönergeleri veya komutları kullanın. Veritabanı oluşturma aşamasında saydam veri şifrelemesi için müşteri tarafından yönetilen anahtar ayarlamak için kullanıcı tarafından atanan yönetilen kimlik gereklidir.
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlara sahip bir veritabanı kopyası oluşturma
Azure SQL Veritabanı'da veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla bir kopya olarak veritabanı oluşturmak için şu adımları izleyin:
Azure portalına gidin ve veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan Azure SQL Veritabanı gidin.
Veri Şifreleme menüsünün Saydam veri şifreleme sekmesine erişin ve veritabanı tarafından kullanılan geçerli anahtarların listesini denetleyin.
Veritabanının Genel Bakış menüsünden Kopyala'yı seçerek veritabanının bir kopyasını oluşturun.
SQL Veritabanı Oluştur - Veritabanını kopyala menüsü görüntülenir. Bu veritabanı için farklı bir sunucu kullanın, ancak kopyalamaya çalıştığınız veritabanıyla aynı ayarları kullanın.
Saydam veri şifreleme anahtarı yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam veri şifreleme menüsü görüntülendiğinde, bu kopyalama veritabanının CMK ayarlarını gözden geçirin. Ayarlar ve anahtarlar, kaynak veritabanında kullanılan kimlik ve anahtarlarla doldurulmalıdır.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlara sahip ikincil bir çoğaltma oluşturma
Azure portalına gidin ve veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan Azure SQL Veritabanı gidin.
Saydam veri şifreleme menüsüne erişin ve veritabanı tarafından kullanılan geçerli anahtarların listesini denetleyin.
Veritabanının veri yönetimi ayarları'nın altında Çoğaltmalar'ı seçin. Veritabanının ikincil çoğaltmasını oluşturmak için Çoğaltma oluştur'u seçin.
SQL Veritabanı Oluştur - Coğrafi Çoğaltma menüsü görüntülenir. Bu veritabanı için ikincil bir sunucu kullanın, ancak çoğaltmaya çalıştığınız veritabanıyla aynı ayarları kullanın.
Saydam veri şifreleme anahtarı yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam veri şifreleme menüsü görüntülendiğinde, bu veritabanı çoğaltması için CMK ayarlarını gözden geçirin. Ayarlar ve anahtarlar, birincil veritabanında kullanılan kimlik ve anahtarlarla doldurulmalıdır.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini expand-keyscurrentkullanarak birincil veritabanı tarafından kullanılan geçerli anahtarların keys-filter listesini önceden doldurma.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter current
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
İkincil olarak yeni bir veritabanı oluşturun ve kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) elde edilen anahtarların önceden doldurulmuş listesini sağlayın.
# Create a secondary replica with Active Geo Replication with the same name as the primary database
az sql db replica create -g $resourceGroup -s $serverName -n $databaseName --partner-server $secondaryServer --partner-database $secondaryDatabase --partner-resource-group $secondaryResourceGroup -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Önemli
$keys, kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Veritabanının bir kopyasını oluşturmak için az sql db copy aynı parametrelerle kullanılabilir.
# Create a copy of a database configured with database level customer-managed keys
az sql db copy -g $resourceGroup -s $serverName -n $databaseName --dest-name $secondaryDatabase -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Az PowerShell modülü yükleme yönergeleri için bkz . Azure PowerShell'i yükleme.
Get-AzSqlDatabase komutunu ve ve -ExpandKeyList parametrelerini kullanarak birincil veritabanı tarafından kullanılan geçerli anahtarların -KeysFilter "current" listesini önceden doldurma. Tüm anahtarları almak istiyorsanız hariç tutun -KeysFilter .
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
New-AzSqlDatabaseSecondary komutunu
# Create a secondary replica with Active Geo Replication with the same name as the primary database
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
$database | New-AzSqlDatabaseSecondary -PartnerResourceGroupName <SecondaryResourceGroupName> -PartnerServerName <SecondaryServerName> -AllowConnections "All" -AssignIdentity -UserAssignedIdentityId <UserAssignedIdentityId> -EncryptionProtector <CustomerManagedKeyId> -FederatedClientId <FederatedClientId>
-KeyList $database.Keys.Keys
Veritabanının bir kopyasını oluşturmak için New-AzSqlDatabaseCopy aynı parametrelerle kullanılabilir.
# Create a copy of a database configured with database level customer-managed keys
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
New-AzSqlDatabaseCopy -CopyDatabaseName <CopyDatabaseName> -CopyResourceGroupName <CopyResourceGroupName> -CopyServerName <CopyServerName> -DatabaseName <DatabaseName> -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -AssignIdentity -UserAssignedIdentityId <UserAssignedIdentityId> -EncryptionProtector <CustomerManagedKeyId> -FederatedClientId <FederatedClientId>
-KeyList $database.Keys.Keys
Aşağıda, kullanıcı tarafından atanan yönetilen kimlik ve veritabanı düzeyinde müşteri tarafından yönetilen TDE ile yapılandırılmış bir Azure SQL Veritabanı ikincil çoğaltması ve kopyası oluşturan arm şablonu örneği verilmiştır.
Daha fazla bilgi ve ARM şablonları için bkz. Azure SQL Veritabanı için Azure Resource Manager şablonları.
Azure portalında özel dağıtım kullanın ve düzenleyicide kendi şablonunuzu oluşturun. Ardından, örnekte yapıştırdıktan sonra yapılandırmayı kaydedin .
Aşağıdaki REST API isteğini kullanarak birincil veritabanı tarafından kullanılan geçerli anahtarların listesini önceden girin:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys($filter=pointInTime('current'))
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
İkincil olarak yeni bir veritabanı oluşturun ve arm şablonunda kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsa federasyon istemci kimliğinden) alınan anahtarların önceden doldurulmuş listesini parametre olarak keys_to_add sağlayın.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"server_name": {
"type": "String"
},
"database_name": {
"type": "String"
},
"user_assigned_identity": {
"type": "String"
},
"encryption_protector": {
"type": "String"
},
"location": {
"type": "String"
},
"source_database_id": {
"type": "String"
},
"keys_to_add": {
"type": "Object"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2022-08-01-preview",
"name": "[concat(parameters('server_name'), concat('/',parameters('database_name')))]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic",
"tier": "Basic",
"capacity": 5
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[parameters('user_assigned_identity')]": {}
}
},
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 104857600,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false,
"readScale": "Disabled",
"requestedBackupStorageRedundancy": "Geo",
"maintenanceConfigurationId": "/subscriptions/e1775f9f-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
"isLedgerOn": false,
"encryptionProtector": "[parameters('encryption_protector')]",
"keys": "[parameters('keys_to_add')]",
"createMode": "Secondary",
"sourceDatabaseId": "[parameters('source_database_id')]"
}
}
]
}
ve encryption_protector parametresine keys_to_add örnek olarak:
"keys_to_add": {
"value": {
"https://yourvault.vault.azure.net/keys/yourkey1/fd021f84a0d94d43b8ef33154bca0000": {},
"https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000": {}
}
},
"encryption_protector": {
"value": "https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000"
}
Veritabanının bir kopyasını oluşturmak için aşağıdaki şablon aynı parametrelerle kullanılabilir.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"server_name": {
"type": "String"
},
"database_name": {
"type": "String"
},
"user_assigned_identity": {
"type": "String"
},
"encryption_protector": {
"type": "String"
},
"location": {
"type": "String"
},
"source_database_id": {
"type": "String"
},
"keys_to_add": {
"type": "Object"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2022-08-01-preview",
"name": "[concat(parameters('server_name'), concat('/',parameters('database_name')))]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic",
"tier": "Basic",
"capacity": 5
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[parameters('user_assigned_identity')]": {}
}
},
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 104857600,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false,
"readScale": "Disabled",
"requestedBackupStorageRedundancy": "Geo",
"maintenanceConfigurationId": "/subscriptions/e1775f9f-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
"isLedgerOn": false,
"encryptionProtector": "[parameters('encryption_protector')]",
"keys": "[parameters('keys_to_add')]",
"createMode": "Copy",
"sourceDatabaseId": "[parameters('source_database_id')]"
}
}
]
}
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla Azure SQL Veritabanı geri yükleme
Bu bölümde, veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir Azure SQL Veritabanı geri yükleme adımları gösterilmektedir. Veritabanı oluşturma aşamasında saydam veri şifrelemesi için müşteri tarafından yönetilen anahtar ayarlamak için kullanıcı tarafından atanan yönetilen kimlik gereklidir.
Belirli bir noktaya geri yükleme
Aşağıdaki bölümde, veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir veritabanının belirli bir zamana nasıl geri yükleneceği açıklanmaktadır. SQL Veritabanı için yedekleme kurtarma hakkında daha fazla bilgi edinmek için bkz. Azure SQL Veritabanı'nda bir veritabanını yedekten geri yükleme.
Azure portalına gidin ve geri yüklemek istediğiniz veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış Azure SQL Veritabanı gidin.
Veritabanını belirli bir noktaya geri yüklemek için veritabanının Genel Bakış menüsünden Geri Yükle'yi seçin.
SQL Veritabanı Oluştur - Veritabanını geri yükle menüsü görüntülenir. Gereken kaynak ve veritabanı ayrıntılarını doldurun.
Saydam veri şifreleme anahtarı yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam veri şifreleme menüsü görüntülendiğinde, veritabanının CMK ayarlarını gözden geçirin. Ayarlar ve anahtarlar, geri yüklemeye çalıştığınız veritabanında kullanılan kimlik ve anahtarlarla doldurulmalıdır.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini kullanarak expand-keys birincil veritabanı tarafından kullanılan anahtar listesini, geri yükleme noktanız olarak keys-filterzaman içinde önceden doldurma.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter $timestamp
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Geri yükleme hedefi olarak yeni bir veritabanı oluşturun ve kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) elde edilen anahtarların önceden doldurulmuş listesini sağlayın.
# Create a restored database
az sql db restore --dest-name $destName --name $databaseName --resource-group $resourceGroup --server $serverName --subscription $subscriptionId --time $timestamp -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Önemli
$keys, kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Az PowerShell modülü yükleme yönergeleri için bkz . Azure PowerShell'i yükleme.
Get-AzSqlDatabase komutunu yüklemek istediğiniz noktaya örnektir). Tüm anahtarları almak istiyorsanız hariç tutun -KeysFilter .
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter <Timestamp>
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Restore-AzSqlDatabase komutunu
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter <Timestamp>
# Create a restored database
Restore-AzSqlDatabase -FromPointInTimeBackup -PointInTime <Timestamp> -ResourceId '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}' -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -TargetDatabaseName <TargetDatabaseName> -KeyList $database.Keys.Keys -EncryptionProtector <EncryptionProtector> -UserAssignedIdentityId <UserAssignedIdentityId> -AssignIdentity
Bırakılan veritabanı geri yüklemesi
Aşağıdaki bölümde, müşteri tarafından yönetilen anahtarlarla veritabanı düzeyinde yapılandırılmış silinmiş bir veritabanının nasıl geri yükleneceği açıklanmaktadır. SQL Veritabanı için yedekleme kurtarma hakkında daha fazla bilgi edinmek için bkz. Azure SQL Veritabanı'nda bir veritabanını yedekten geri yükleme.
Azure portalına gidin ve geri yüklemek istediğiniz silinen veritabanının mantıksal sunucusuna gidin. Veri yönetimi'nin altında Silinmiş veritabanları'yı seçin.
Geri yüklemek istediğiniz silinen veritabanını seçin.
SQL Veritabanı Oluştur - Veritabanını geri yükle menüsü görüntülenir. Gereken kaynak ve veritabanı ayrıntılarını doldurun.
Saydam veri şifreleme anahtarı yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam veri şifreleme menüsü görüntülendiğinde veritabanınız için Kullanıcı tarafından atanan yönetilen kimlik, Müşteri tarafından yönetilen anahtar ve Ek veritabanı anahtarları bölümünü yapılandırın.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini kullanarak expand-keys bırakılan veritabanı tarafından kullanılan anahtar listesini önceden doldurma. Kaynak veritabanının kullandığı tüm anahtarların geçirilmesi önerilir. Ayrıca, parametresini kullanarak keys-filter silme zamanında sağlanan anahtarlarla geri yüklemeyi de deneyebilirsiniz.
az sql db show-deleted --name $databaseName --resource-group $resourceGroup --server $serverName --restorable-dropped-database-id "databaseName,133201549661600000" --expand-keys
Önemli
restorable-dropped-database-id , sunucusundaki tüm geri yüklenebilir bırakılan veritabanları listelenerek alınabilir ve biçimindedir databaseName,deletedTimestamp.
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Geri yükleme hedefi olarak yeni bir veritabanı oluşturun ve silinen kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) alınan anahtarların önceden doldurulmuş listesini sağlayın.
# Create a restored database
az sql db restore --dest-name $destName --name $databaseName --resource-group $resourceGroup --server $serverName --subscription $subscriptionId --time $timestamp -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys --deleted-time "2023-02-06T11:02:46.160000+00:00"
Önemli
$keys , kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Az PowerShell modülü yükleme yönergeleri için bkz . Azure PowerShell'i yükleme.
Get-AzSqlDeletedDatabaseBackup komutunu ve parametresini kullanarak birincil veritabanı tarafından kullanılan anahtarların -ExpandKeyList listesini önceden girin. Kaynak veritabanının kullandığı tüm anahtarların geçirilmesi önerilir. Ayrıca, parametresini kullanarak -KeysFilter silme zamanında sağlanan anahtarlarla geri yüklemeyi de deneyebilirsiniz.
$database = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseId "dbName,133201549661600000" -ExpandKeyList -DeletionDate "2/6/2023" -DatabaseName <databaseName>
Önemli
DatabaseId , sunucusundaki tüm geri yüklenebilir bırakılan veritabanları listelenerek alınabilir ve biçimindedir databaseName,deletedTimestamp.
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Restore-AzSqlDatabase komutunu
$database = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseId "dbName,133201549661600000" -ExpandKeyList -DeletionDate <DeletionDate> -DatabaseName <databaseName>
# Create a restored database
Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate <Timestamp> -ResourceId '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{databaseName}' -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -TargetDatabaseName <TargetDatabaseName> -KeyList $database.Keys.Keys -EncryptionProtector <EncryptionProtector> -UserAssignedIdentityId <UserAssignedIdentityId> -AssignIdentity
Coğrafi geri yükleme
Aşağıdaki bölümde, veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan veritabanının coğrafi olarak çoğaltılmış yedeğinin nasıl geri yükleneceği açıklanmaktadır. SQL Veritabanı için yedekleme kurtarma hakkında daha fazla bilgi edinmek için bkz. Azure SQL Veritabanı'nda bir veritabanını yedekten geri yükleme.
Azure portalına gidin ve veritabanını geri yüklemek istediğiniz mantıksal sunucuya gidin.
Genel Bakış menüsünde Veritabanı oluştur'u seçin.
SQL Veritabanı oluştur menüsü görüntülenir. Yeni veritabanınız için Temel ve Ağ sekmelerini doldurun. Ek ayarlar'da Mevcut verileri kullan bölümünde Yedekle'yiseçin ve coğrafi olarak çoğaltılmış bir yedekleme seçin.
Güvenlik sekmesine gidin. Saydam veri şifreleme anahtarı yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam veri şifreleme menüsü görüntülendiğinde Veritabanı düzeyi Müşteri tarafından yönetilen anahtar (CMK) öğesini seçin.
Kullanıcı tarafından atanan yönetilen kimlik, Müşteri tarafından yönetilen anahtar ve Ek veritabanı anahtarları, geri yüklemek istediğiniz kaynak veritabanıyla eşleşmelidir. Kullanıcı tarafından atanan yönetilen kimliğin, yedeklemede kullanılan müşteri tarafından yönetilen anahtarı içeren Azure Key Vault'a erişimi olduğundan emin olun.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve yedekleme veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini kullanarak veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan veritabanının coğrafi yedeklemesi tarafından kullanılan anahtarların expand-keys listesini önceden doldurma.
az sql db geo-backup --database-name $databaseName --g $resourceGroup --server $serverName --expand-keys
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Coğrafi geri yükleme hedefi olarak yeni bir veritabanı oluşturun ve silinen kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) elde edilen anahtarların önceden doldurulmuş listesini sağlayın.
# Create a geo restored database
az sql db geo-backup restore --geo-backup-id "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}" --dest-database $destName --resource-group $resourceGroup --dest-server $destServerName -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Önemli
$keys , kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Az PowerShell modülü yükleme yönergeleri için bkz . Azure PowerShell'i yükleme.
Get-AzSqlDatabaseGeoBackup komutunu ve -ExpandKeyList tüm anahtarları almak için öğesini kullanarak birincil veritabanı tarafından kullanılan anahtarların listesini önceden girin.
$database = Get-AzSqlDatabaseGeoBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName> -ExpandKeyList
Önemli
DatabaseId , sunucusundaki tüm geri yüklenebilir bırakılan veritabanları listelenerek alınabilir ve biçimindedir databaseName,deletedTimestamp.
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Restore-AzSqlDatabase komutunu
$database = Get-AzSqlDatabaseGeoBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName> -ExpandKeyList
# Create a restored database
Restore-AzSqlDatabase -FromGeoBackup -ResourceId "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}" -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -TargetDatabaseName <TargetDatabaseName> -KeyList $database.Keys.Keys -EncryptionProtector <EncryptionProtector> -UserAssignedIdentityId <UserAssignedIdentityId> -AssignIdentity
Önemli
Uzun süreli saklama (LTR) yedeklemeleri, yedekleme tarafından kullanılan anahtarların listesini sağlamaz. BIR LTR yedeklemesini geri yüklemek için, kaynak veritabanı tarafından kullanılan tüm anahtarların LTR geri yükleme hedefine geçirilmesi gerekir.
Kopyalanan veya geri yüklenen veritabanları için otomatik anahtar döndürme seçeneği
Yeni kopyalanan veya geri yüklenen veritabanları, saydam veri şifrelemesi için kullanılan müşteri tarafından yönetilen anahtarı otomatik olarak döndürecek şekilde yapılandırılabilir. Azure portalında veya API'leri kullanarak otomatik anahtar döndürmeyi etkinleştirme hakkında bilgi için bkz . Veritabanı düzeyinde otomatik anahtar döndürme.
İlgili içerik