1. Якщо ви хочете відновити зашифровану резервну копію на іншому сервері, як зазвичай, ви зіткнулися з наступною помилкою
Cannot find server certificate with thumbprint …...
2.Знайдіть назву cert: у цьому прикладі vestacert
SELECT * FROM sys.certificates
3.Завантажте cert з вихідного сервера (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.Створіть новий Master Cert на сервері 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/