KB2929832 - KHẮC PHỤC: Độ chính xác thập phân không chính xác khi bạn tính toán dựa trên kích thước của tỷ lệ trong MDS SQL Server 2012 hoặc SQL Server 2014

Áp dụng cho
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Triệu chứng

Giả sử bạn tạo một thuộc tính Số trong Dịch vụ Dữ liệu Chính (MDS) của Microsoft SQL Server 2012 hoặc SQL Server 2014 bằng cách sử dụng Dịch vụ Web MDS. Khi bạn cố gắng xác định nhiều chữ số hơn vào cạnh bên phải của dấu thập phân, độ chính xác không chính xác sẽ được tính.

Ví dụ:
Khi bạn cố tạo một thuộc tính thập phân có độ chính xác 16 chữ số bằng cách thực hiện:

MetadataAttribute newAttribute = new MetadataAttribute(); 
newAttribute.DataType = AttributeDataType.Number; 
newAttribute.DataTypeInformation = 16;

Một cột được tạo có Thang đo chính xác là 16 và Độ chính xác không chính xác là 22.

Nguyên nhân

Sự cố này xảy ra vì một thủ tục lưu trữ MDS nội bộ sử dụng tính toán sai độ chính xác khi bạn tạo thuộc tính. Độ chính xác được tính toán là 38 trừ đi tỷ lệ, điều này không chính xác.

Giải pháp

Sự cố này được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server.

Cập nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693

Cập nhật tích lũy 9 cho SQL Server 2012 SP1 /en-us/help/2931078

Giới thiệu về các bản cập nhật tích lũy cho SQL Server

Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:

      

Giải pháp thay thế

Để khắc phục sự cố này, hãy sử dụng các phương pháp sau đây được đánh giá cao cho trường hợp của bạn:

  • Đối với SQL Server 2014, hãy áp dụng bản sửa lỗi.
  • Đối với SQL Server 2012, hãy thay đổi các thủ tục lưu trữ để sử dụng giá trị hằng số 38 (tối đa được SQL Server 2012 cho phép) thay vì trừ đi tỷ lệ (@DataTypeInformation, v.v.) từ Độ chính xác.

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".