Applies ToSQL 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ả định rằng bạn tạo một thuộc tính số trong Microsoft SQL Server 2012 hoặc SQL Server 2014 Master Data Services (MDS) bằng cách sử dụng dịch vụ web MDS. Khi bạn tìm cách xác định thêm chữ số vào bên phải của dấu thập phân, độ chính xác không đúng được tính. Ví dụ: khi bạn tìm cách tạo một thuộc tính thập phân có 16 chữ số chính xác bằng cách thực hiện:

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

Cột được tạo có tỷ lệ chính xác 16 và độ chính xác sai số của 22.

Nguyên nhân

Sự cố xảy ra do một thủ tục được lưu trữ trong 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 như 38 trừ Thang đo, vốn không đúng.

Mỗi bản Cập Nhật tích lũy mới cho SQL Server 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 Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:

Cách giải quyết

Để giải quyết vấn đề này, hãy sử dụng các phương pháp sau được đánh giá cao về tình huống 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, thay đổi quy trình được lưu trữ để sử dụng giá trị hằng số của 38 (tối đa được phép SQL Server 2012) thay vì trừ tỉ lệ (@DataTypeInformation, v.v.) từ độ chính xác.

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".

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.