1. Если вы хотите восстановить зашифрованную резервную копию на другом сервере, как обычно, вы сталкиваетесь со следующей ошибкой
Cannot find server certificate with thumbprint …...
2. Найдите название сертификата: в этом примере vestacert
SELECT * FROM sys.certificates
3. Создайте резервную копию сертификата с исходного сервера (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. Создайте новый мастер-сертификат на сервере UAT, если он еще не существует
USE master GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'D1ffPa$$w0rd'
5. Восстановление резервных копий на сервере UAT (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. После этого шага восстановления резервной копии не было ошибок, и все данные были доступны для чтения.
7. Но самое смешное, что простое удаление шифрования и создание новой резервной копии и ее восстановление на конечном сервере (Final Server) не работает и выдает следующую ошибку: «mydb_log» не удалось правильно инициализировать. Изучите журналы ошибок для более подробной информации.
8. Правильный способ удаления шифрования из UAT - удалить все знаки, как показано ниже, шаг за шагом и снизу вверх
USE master
ALTER DATABASE mydb SET ENCRYPTION OFF
USE mydb
DROP DATABASE ENCRYPTION KEY
USE master
DROP CERTIFICATE vestacert2
DROP MASTER KEY
9. Теперь создайте новую резервную копию с сервера UAT и восстановите ее на конечном сервере.
хорошая статья: http://sqlserverzest.com/2013/10/03/sql-server-restoring-a-tde-encrypted-database-to-a-different-server/