Tôi phải tạo bản sao cục bộ của cơ sở dữ liệu SQL Server từ xa. Tôi đã làm điều này bằng cách sử dụng Tác vụ> Sao lưu từ Management Studio. Sau đó tôi đã khôi phục cục bộ bản sao lưu, có vẻ như có mọi thứ - bảng, người dùng, khóa đối xứng và chứng chỉ.Khôi phục cơ sở dữ liệu máy chủ SQL - Khóa chính không mở
Khi tôi cố gắng thực hiện một lựa chọn đòi hỏi tôi phải mở khóa đối xứng và giải mã theo Giấy chứng nhận, tôi nhận được lỗi này:
Please create a master key in the database or open the master key in the session before performing this operation.
Tại sao tôi được yêu cầu cho điều này, và tại sao không nó tự động mở như trên máy chủ từ xa?
Tôi đã thử thay đổi khóa chính nhưng không có mật khẩu ban đầu, tôi không thể làm được gì nhiều.
Hmm, tôi hy vọng nó không phải dễ dàng để khôi phục lại một chìa khóa vạn mà không có mật khẩu, đó là nơi sự an toàn của tất cả đến từ đâu.Tôi đoán đây có thể là một bài học trong việc sử dụng mật mã khóa công khai để bảo vệ khóa chủ của bạn và sao lưu chứng chỉ ở nơi an toàn. –
@Petey có lẽ tôi đang thiếu một cái gì đó hiển nhiên ở đây; trên máy ban đầu, bạn không cần phải mở khóa, bạn chỉ có thể chạy thủ tục được lưu trữ. Có một số lỗ hổng trong xuất/nhập của tôi không? – ashes999
Cách đơn giản nhất để giải quyết vấn đề này là sao lưu khóa chính của cơ sở dữ liệu và gán mật khẩu đó để bảo vệ tệp. Sau đó, khôi phục khóa chính của cơ sở dữ liệu bằng cách sử dụng mật khẩu cho cơ sở dữ liệu đã khôi phục. Điều này sẽ hoạt động mà không cần biết mật khẩu ban đầu được sử dụng để tạo DMK miễn là DMK cũng được mã hóa bởi SMK trên hệ thống sản xuất của bạn, theo mặc định, trừ khi mã hóa bằng khóa bị loại bỏ. –