1.Nếu bạn muốn khôi phục bản sao lưu được mã hóa sang máy chủ khác như bình thường, bạn gặp phải lỗi sau
Cannot find server certificate with thumbprint …...
2.Tìm tên cert: trong ví dụ này vestacert
SELECT * FROM sys.certificates
3. sao lưu chứng chỉ từ máy chủ nguồn (Máy chủ mã hóa nguồn):
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. Tạo chứng chỉ Master mới trên máy chủ UAT nếu chưa tồn tại
USE master GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'D1ffPa$$w0rd'
5.Restore certs sao lưu trong máy chủ 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.Sau khi bước này khôi phục lại bản sao lưu không có bất kỳ lỗi nào và tất cả dữ liệu đều có thể đọc được.
7. Nhưng điều buồn cười là việc loại bỏ mã hóa đơn giản và thực hiện sao lưu mới và khôi phục nó trên máy chủ cuối cùng (Máy chủ Cuối cùng) không hoạt động và đưa ra lỗi sau Tệp "mydb_log" không thể khởi tạo chính xác. Kiểm tra các bản ghi lỗi để biết thêm chi tiết.
8. Cách chính xác để loại bỏ mã hóa khỏi UAT là xóa tất cả các dấu hiệu như bên dưới từng bước và từ dưới lên trên
USE master
ALTER DATABASE mydb SET ENCRYPTION OFF
USE mydb
DROP DATABASE ENCRYPTION KEY
USE master
DROP CERTIFICATE vestacert2
DROP MASTER KEY
9. Bây giờ hãy tạo bản sao lưu mới từ máy chủ UAT và khôi phục nó về máy chủ cuối cùng
bài viết hay: http://sqlserverzest.com/2013/10/03/sql-server-restoring-a-tde-encrypted-database-to-a-different-server/