Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Yönetilen Örnek
Bu makalede, yerel geri yükleme seçeneğini kullanarak TDE korumalı SQL Server veritabanınızı Azure SQL Yönetilen Örneği'ne geçirmeden önce sertifikayı geçirmeyi öğrenin.
Saydam Veri Şifrelemesi (TDE) ile korunan bir veritabanını yerel geri yükleme seçeneğini kullanarak SQL Server'dan Azure SQL Yönetilen Örneği'ne geçirirken, veritabanını SQL yönetilen örneğine geri yüklemeden önce ilgili sertifikayı geçirmeniz gerekir.
Alternatif olarak, tam olarak yönetilen Azure Veritabanı Geçiş Hizmeti'ni kullanarak hem TDE korumalı veritabanını hem de ilgili sertifikayı sorunsuz bir şekilde geçirebilirsiniz.
Bu makale, veritabanlarını SQL Server'dan Azure SQL Yönetilen Örneği'ne geçirme konusuna odaklanır. Veritabanlarını SQL yönetilen örnekleri arasında taşımak için bkz:
Önkoşullar
Bu makaledeki adımları tamamlayabilmeniz için şu önkoşullar gereklidir:
- Şirket içi sunucuya veya dosya olarak dışarı aktarılan sertifikaya erişimi olan başka bir bilgisayara yüklenmiş Pvk2Pfx komut satırı aracı. Pvk2Pfx aracı, bağımsız bir komut satırı ortamı olan Enterprise Windows Driver Kit'in bir parçasıdır.
- Windows PowerShell sürüm 5.0 veya üstü yüklenmiş olmalıdır.
Aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
Modülü yüklemek veya güncelleştirmek için PowerShell'de aşağıdaki komutları çalıştırın:
Install-Module -Name Az.Sql
Update-Module -Name Az.Sql
TDE sertifikasını bir .pfx dosyasına dışarı aktarma
Sertifikayı doğrudan kaynak SQL Server örneğinden veya orada tutuyorsanız sertifika deposundan dışarı aktarabilirsiniz.
Sertifikayı kaynak SQL Server örneğinden dışarı aktarma
Aşağıdaki adımlar SQL Server Management Studio kullanarak sertifikayı dışarı aktarır ve .pfx biçimine dönüştürür. TDE_Cert ve full_path genel adlar sertifika adları, dosya adları ve yollar için yer tutuculardır. Bunları gerçek adlarla değiştirin.
SSMS'de yeni bir sorgu penceresi açın ve kaynak SQL Server örneğine bağlanın.
TDE korumalı veritabanlarını listelemek ve geçirilecek veritabanının şifrelemesini koruyan sertifikanın adını almak için aşağıdaki betiği kullanın:
USE master GO SELECT db.name as [database_name], cer.name as [certificate_name] FROM sys.dm_database_encryption_keys dek LEFT JOIN sys.certificates cer ON dek.encryptor_thumbprint = cer.thumbprint INNER JOIN sys.databases db ON dek.database_id = db.database_id WHERE dek.encryption_state = 3Sertifikayı, ortak ve özel anahtar bilgilerinin tutulduğu dosya çiftine (.cer ve .pvk) dışarı aktarmak için şu betiği yürütün:
USE master GO BACKUP CERTIFICATE TDE_Cert TO FILE = 'c:\full_path\TDE_Cert.cer' WITH PRIVATE KEY ( FILE = 'c:\full_path\TDE_Cert.pvk', ENCRYPTION BY PASSWORD = '<SomeStrongPassword>' )Pvk2Pfx aracını kullanarak yeni oluşturulan bir dosya çiftinden .pfx dosyasına sertifika bilgilerini kopyalamak için PowerShell konsolunu kullanın:
.\pvk2pfx -pvk c:/full_path/TDE_Cert.pvk -pi "<SomeStrongPassword>" -spc c:/full_path/TDE_Cert.cer -pfx c:/full_path/TDE_Cert.pfx
Sertifikayı bir sertifika deposundan dışarı aktarma
Sertifikayı SQL Server yerel makine sertifika deposunda tutarsanız, dışarı aktarmak için aşağıdaki adımları kullanın:
PowerShell konsolunu açın ve aşağıdaki komutu çalıştırarak Microsoft Yönetim Konsolu'nun Sertifikalar ek bileşenini açın:
certlmSertifikalar MMC ek bileşeninde, sertifika listesini görmek için Kişisel>Sertifikalar yolunu genişletin.
Sertifikaya sağ tıklayın ve Exporter seçin.
Sertifikayı ve özel anahtarı .pfx biçiminde dışarı aktarmak için sihirbazı izleyin.
Azure PowerShell cmdlet'ini kullanarak sertifikayı Azure SQL Yönetilen Örneği'ne yükleme
Önemli
Geçirilen sertifikayı yalnızca TDE korumalı veritabanını geri yüklemek için kullanın. Geri yükleme tamamlandıktan kısa bir süre sonra, taşınan sertifika farklı bir koruyucuyla değiştirilir. Yeni koruyucu, örnekte ayarladığınız TDE türüne bağlı olarak hizmet tarafından yönetilen bir sertifika veya anahtar kasasından bir asimetrik anahtardır.
PowerShell’deki hazırlık adımlarını başlatın:
# import the module into the PowerShell session Import-Module Az # connect to Azure with an interactive dialog for sign-in Connect-AzAccount # list subscriptions available and copy id of the subscription target the managed instance belongs to Get-AzSubscription # set subscription for the session Select-AzSubscription <subscriptionId>Tüm hazırlık adımlarını tamamladıktan sonra aşağıdaki komutları çalıştırarak base-64 kodlanmış sertifikayı hedef SQL yönetilen örneğine yükleyin:
# If you are using PowerShell 6.0 or higher, run this command: $fileContentBytes = Get-Content 'C:/full_path/TDE_Cert.pfx' -AsByteStream # If you are using PowerShell 5.x, uncomment and run this command instead of the one above: # $fileContentBytes = Get-Content 'C:/full_path/TDE_Cert.pfx' -Encoding Byte $base64EncodedCert = [System.Convert]::ToBase64String($fileContentBytes) $securePrivateBlob = $base64EncodedCert | ConvertTo-SecureString -AsPlainText -Force $password = "<password>" $securePassword = $password | ConvertTo-SecureString -AsPlainText -Force Add-AzSqlManagedInstanceTransparentDataEncryptionCertificate -ResourceGroupName "<resourceGroupName>" ` -ManagedInstanceName "<managedInstanceName>" -PrivateBlob $securePrivateBlob -Password $securePassword
Sertifika artık belirtilen SQL yönetilen örneği tarafından kullanılabilir ve karşılık gelen TDE korumalı veritabanının yedeğini geri yükleyebilirsiniz.
Not
Karşıya yüklenen sertifika sys.certificates katalog görünümünde görünmez. Sertifikanın başarıyla karşıya yüklendiğini onaylamak için RESTORE FILELISTONLY komutunu çalıştırın.