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)

증상

MDS 웹 서비스를 사용 하 여 Microsoft SQL Server 2012 또는 SQL Server 2014 마스터 데이터 서비스 (MDS)에서 숫자 특성을 만드는 것으로 가정 합니다. 소수점 오른쪽에 더 많은 자릿수를 지정 하려고 하면 잘못 된 정밀도가 계산 됩니다. 예를 들어 다음을 수행 하 여 16 자리 정밀도를 사용 하는 decimal 특성을 만들려고 합니다.

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

올바른 배율은 16이 고 정밀도가 22 인 열을 만듭니다.

원인

이 문제는 특성을 만들 때 내부 MDS 저장 프로시저가 잘못 된 정밀도 계산을 사용 하기 때문에 발생 합니다. Precision은 38에서 소수 자릿수를 뺀 값으로 계산 됩니다.

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.

해결 방법

이 문제를 해결 하려면 상황에 맞게 감사 하는 다음 방법을 사용 합니다.

  • SQL Server 2014의 경우 해결 방법을 적용 합니다.

  • SQL Server 2012의 경우 정밀도에서 빼기 배율 (@DataTypeInformation 등)이 아닌 38의 상수 값을 사용 하도록 저장 프로시저를 변경 합니다 (SQL Server 2012로 허용 되는 최대값).

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.