Požymiai
Tarkime, kad skaitinį atributą sukuriate "Microsoft „SQL Server“ 2012" arba "„SQL Server“ 2014 „Master Data Services“" (MDS) naudodami MDS žiniatinklio tarnybą. Bandant nurodyti daugiau skaitmenų dešinėje dešimtainių skyriklių pusėje, skaičiuojamas neteisingas tikslumas.
Pavyzdžiui:
Kai bandote sukurti dešimtainį atributą su 16 skaitmenų tikslumu, darydami šiuos veiksmus:
MetadataAttribute newAttribute = new MetadataAttribute();
newAttribute.DataType = AttributeDataType.Number;
newAttribute.DataTypeInformation = 16;
Sukuriamas stulpelis, kurio skalė yra teisinga 16 ir netinkamas 22 tikslumas.
Priežastis
Ši problema kyla dėl to, kad vidinė MDS įrašyta procedūra naudoja klaidingą tikslumo skaičiavimą, kai kuriate atributą. Tikslumas yra skaičiuojamas kaip 38 atėmus skalę, o tai yra neteisinga.
Sprendimas
Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.
1 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 /en-us/help/2931693
9 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1 /en-us/help/2931078
Apie kaupiamuosius „SQL Server“ naujinimus
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:
- Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1
Sprendimo būdas
Norėdami išspręsti problemą, naudokite toliau nurodytus metodus, kurie tinka jūsų situacijai:
- Jei naudojate "„SQL Server“ 2014", pritaikykite pataisą.
- Jei naudojate "„SQL Server“ 2012", pakeiskite įrašytas procedūras naudodami konstantą 38 (maksimali leistina reikšmė iki „SQL Server“ 2012), o ne atimti mastelį (@DataTypeInformation ir t. t.) iš tikslumo.
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.