1.Wenn Sie wie gewohnt eine verschlüsselte Sicherung auf einem anderen Server wiederherstellen möchten, tritt der folgende Fehler auf
Cannot find server certificate with thumbprint …...
2.Finden Sie den Zertifikatsnamen: in diesem Beispiel vestacert
SELECT * FROM sys.certificates
3.Sichern Sie das Zertifikat vom Quellserver (Source encryptedserver):
BACKUP CERTIFICATE vestacert
TO FILE = 'c:\Backup\certificate_TDE_Test_Certificate.cer'
WITH PRIVATE KEY
(FILE = 'c:\Backup\certificate_TDE_Test_Key.pvk',
ENCRYPTION BY PASSWORD = 'Password12#')
4.Erstellen Sie ein neues Master-Zertifikat auf dem UAT-Server, falls es noch nicht vorhanden ist
USE master GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'D1ffPa$$w0rd'
5.Sichern Sie die Sicherungszertifikate auf dem UAT-Server (UATserver).
CREATE CERTIFICATE vestacert2
FROM FILE = 'C:\tmp\certificate_TDE_Test_Certificate.cer'
WITH PRIVATE KEY (FILE = 'C:\tmp\LCMS\certificate_TDE_Test_Key.pvk',
DECRYPTION BY PASSWORD = 'Passsword12#')
6.Nach diesem Schritt hat das Wiederherstellen der Sicherung keinen Fehler und alle Daten waren lesbar.
7.Aber das Lustige ist, dass das einfache Entfernen der Verschlüsselung und das Erstellen einer neuen Sicherung und das Wiederherstellen auf dem endgültigen Server (Final Server) nicht funktioniert und den folgenden Fehler verursacht. Die Datei "mydb_log" konnte nicht korrekt initialisiert werden. Untersuchen Sie die Fehlerprotokolle auf weitere Details.
8.Die richtige Methode zum Entfernen der Verschlüsselung von UAT besteht darin, alle Zeichen wie unten Schritt für Schritt und von unten nach oben zu entfernen
USE master
ALTER DATABASE mydb SET ENCRYPTION OFF
USE mydb
DROP DATABASE ENCRYPTION KEY
USE master
DROP CERTIFICATE vestacert2
DROP MASTER KEY
9. Erstellen Sie jetzt eine neue Sicherung vom UAT-Server und stellen Sie sie auf dem endgültigen Server wieder her
guter Artikel: http://sqlserverzest.com/2013/10/03/sql-server-restoring-a-tde-encrypted-database-to-a-different-server/