Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn tạo một khóa đối xứng từ nhà cung cấp quản lý khóa (EKM) mở rộng trong Microsoft SQL Server 2008, Microsoft SQL Server 2012 hoặc Microsoft SQL Server 2008 R2.
-
Bạn mã hóa một số dữ liệu trong cơ sở dữ liệu bằng cách sử dụng khóa đối xứng này.
-
Bạn di chuyển dữ liệu sang cơ sở dữ liệu khác.
-
Bạn tìm cách tạo một khóa đối xứng trong cơ sở dữ liệu mới từ cùng một nhà cung cấp EKM. Tuy nhiên, dữ liệu được mã hóa trong cơ sở dữ liệu mới không thể giải mã được vì khóa đối xứng mới được tạo có số GUID và số GUID này khác với khóa đối xứng ban đầu đã mã hóa dữ liệu trong cơ sở dữ liệu gốc.
-
Để tạo lại khóa đối xứng bằng cách dùng GUID giống như khóa đối xứng ban đầu, bạn dùng tùy chọn IDENTITY_VALUE để xác định cụm từ được sử dụng với khóa đối xứng ban đầu.
Trong trường hợp này, bạn nhận được thông báo lỗi tương tự như sau:
Msg 102, mức 15, bang 1, cú pháp không chính xác dòng 3 gần ' IDENTITY_VALUE '
Giải pháp
Thông tin Cập Nhật tích lũy
Bản Cập Nhật tích lũy 6 cho SQL Server 2012
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật tích lũy 6. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2012, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2728897 Gói Cập Nhật tích lũy 6 cho SQL Server 2012Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2012 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2692828 Bản dựng SQL Server 2012 đã được phát hành sau khi SQL Server 2012 đã được phát hành
Bản Cập Nhật tích lũy 11 cho SQL Server 2008 R2 gói dịch vụ 1
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative Update 11. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2 gói dịch vụ 1, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2812683 Gói Cập Nhật tích lũy 11 cho SQL Server 2008 R2 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật được đưa vào bản phát hành SQL Server 2008 R2 gói dịch vụ trước đó 1. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2567616 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành
Bản Cập Nhật tích lũy 9 cho Gói dịch vụ SQL Server 2008 3 (SP3)
Khắc phục sự cố này lần đầu tiên được phát hành trong bản Cập Nhật tích lũy 9. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 Service Pack 3, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2799883 Gói Cập Nhật tích lũy 9 cho SQL Server 2008 gói dịch vụ 3Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật được đưa vào bản phát hành SQL Server 2008 gói dịch vụ trước đó 3. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2629969 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 3 đã được phát hành
Bản Cập Nhật tích lũy 4 cho SQL Server 2008 R2 gói dịch vụ 2 (SP2)
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative 4. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2 Service Pack 2, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2777358 Gói Cập Nhật tích lũy 4 cho SQL Server 2008 R2 gói dịch vụ 2Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật được đưa vào bản phát hành SQL Server 2008 R2 gói dịch vụ trước đó 2. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2730301 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 2 đã được phát hành
Cách giải quyết
Để giải quyết vấn đề này, hãy giải mã dữ liệu trước khi bạn di chuyển nó đến cơ sở dữ liệu thứ hai. Sau khi bạn di chuyển dữ liệu sang cơ sở dữ liệu khác, hãy sử dụng khóa mới để mã hóa dữ liệu.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".