Đầu tiên, trước khi mã hóa cơ sở dữ liệu, hãy sao lưu khóa chính và chứng chỉ và lưu trữ ngoại tuyến. Đừng đợi cho đến khi bạn đã áp dụng TDE để làm điều này. Đồng thời lưu trữ mật khẩu trong hầm mật khẩu và làm rõ mật khẩu nào tương quan với đối tượng nào; bạn thực sự không muốn mất dấu vết của những điều này.
Tác động mà TDE gây ra cho cơ sở dữ liệu hoàn toàn phụ thuộc vào khối lượng công việc liên quan: Gần đây tôi đã áp dụng TDE cho kho dữ liệu và tác động hiệu suất đối với tải qua đêm là không có gì, điều đó cho thấy quy trình không bị ràng buộc bởi CPU. Tuy nhiên điều đó có thể không đúng với cơ sở dữ liệu của bạn. Vì vậy, nếu bạn có thể kiểm tra khối lượng công việc trên môi trường dev trước, thì hãy làm như vậy.
Không chỉ là dữ liệu trong các tệp được mã hóa: TDE cũng sẽ mã hóa tempDB, vì vậy nếu bạn có các cơ sở dữ liệu khác sử dụng TempDB nhiều thì bạn có thể nhận thấy một cú đánh hiệu suất. Cả bản sao lưu và ảnh chụp nhanh cũng được mã hóa.
Cũng xem xét nếu cơ sở dữ liệu này cần được khôi phục vào các môi trường khác (ví dụ: kiểm tra hoặc UAT). Bạn sẽ cần khôi phục chứng chỉ được sử dụng để mã hóa cơ sở dữ liệu đến các máy chủ khác này. Điều này có vẻ không quá nhiều vấn đề, nhưng nếu bạn không có doanh nghiệp hoặc nhà phát triển trong bất kỳ môi trường nào thì điều này có thể trở nên tốn kém. Một cách khác để áp dụng TDE trên toàn bộ môi trường là khôi phục cơ sở dữ liệu về một trường hợp ở giữa là doanh nghiệp / nhà phát triển và làm xáo trộn dữ liệu nhạy cảm hoặc bỏ mã hóa và tạo bản sao lưu mới để được khôi phục vào các môi trường khác. Lựa chọn thứ hai này có lẽ không phải là hợp lý nhất, nhưng nó luôn là một lựa chọn ...
Khi bật TDE, có hai khóa được áp dụng cho cơ sở dữ liệu: khóa chung và khóa cập nhật. TechNet tuyên bố đầy đủ điều này:
Khi TDE được bật (hoặc tắt), cơ sở dữ liệu được đánh dấu là được mã hóa trong chế độ xem danh mục sys.database và trạng thái DEK được đặt thành Tiến hành mã hóa. Máy chủ bắt đầu một luồng nền (được gọi là quét hoặc quét mã hóa) quét tất cả các tệp cơ sở dữ liệu và mã hóa chúng (hoặc giải mã chúng nếu bạn đang tắt TDE). Trong khi DDL thực thi, một khóa cập nhật được lấy trên cơ sở dữ liệu. Quá trình quét mã hóa, chạy không đồng bộ với DDL, sẽ khóa chung. Tất cả các hoạt động bình thường không xung đột với các khóa này có thể tiến hành. Các hoạt động bị loại trừ bao gồm sửa đổi cấu trúc tệp và tách cơ sở dữ liệu. Trong khi cơ sở dữ liệu bình thường ghi vào đĩa từ vùng đệm được mã hóa, ghi tệp nhật ký có thể không. Quá trình quét cũng buộc cuộn qua tệp nhật ký ảo (VLF) để đảm bảo rằng việc ghi vào nhật ký trong tương lai được mã hóa.
Kinh nghiệm của tôi là về kho dữ liệu hầu như không được sử dụng vào ban ngày và được sử dụng nhiều qua đêm, vì vậy tôi có thể áp dụng TDE với sự gián đoạn tối thiểu trong ngày. Nếu bạn đang mã hóa OLTP trong sản xuất, thì tốt nhất nên lên lịch cho việc này trong cửa sổ bảo trì để giảm thiểu các vấn đề.
Chỉnh sửa: Cũng về điểm nén; Mặc dù đúng là TDE ảnh hưởng đến nén sao lưu, nhưng nó không ảnh hưởng đến nén hàng / trang / cột. Vì vậy, nếu bạn muốn cân bằng việc mất nén từ các bản sao lưu, bạn có thể nén các đối tượng trong cơ sở dữ liệu. Một lần nữa, tùy thuộc vào khối lượng công việc của bạn, bạn có thể / có thể không muốn thực hiện nén trên cơ sở dữ liệu của mình vì điều đó sẽ làm căng thẳng thêm CPU. Có một bài viết TechNet tuyệt vời về triển khai nén: https://technet.microsoft.com/en-us/l Library / dd894051% 28v = sql.100% 29.aspx