Gjelder for
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptomer

Anta at du oppretter en numerisk attributt i Microsoft SQL Server 2012 eller SQL Server 2014 Master Data Services (MDS) ved hjelp av webtjenesten MDS. Når du prøver å angi flere sifre til høyre for desimaltegnet, beregnes feil presisjon.For eksempel:Når du prøver å opprette en desimal-attributt som har 16 sifre presisjon ved å gjøre:

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

Det opprettes en kolonne som har riktig skalaen på 16 og uriktige presisjon av 22.

Årsak

Dette problemet oppstår fordi en intern MDS lagret prosedyre bruker feil presisjon beregning når du oppretter attributtet. Presisjonen er beregnet som 38 minus skalaen, som er feil.

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:

Løsningen

Du kan omgå problemet ved å bruke følgende metoder som vi setter pris for din situasjon:

  • For SQL Server-2014, kan du bruke reparasjonen.

  • Endre de lagrede prosedyrene for å bruke en konstant verdi på 38 (maks tillatt av SQL Server 2012) i stedet for Trekk fra skalaen (@DataTypeInformation og så videre) fra presisjonen for SQL Server 2012.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.