Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Symptom

Anta att du skapar ett numeriskt attribut i Microsoft SQL Server 2012 eller SQL Server 2014 Master Data Services (MDS) med hjälp av MDS web service. När du försöker ange fler siffror till höger om decimal tecken beräknas den felaktiga precisionen. Exempel: när du försöker skapa ett decimal-attribut med 16 siffror precision:

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

En kolumn skapas med korrekt skala på 16 och felaktig precision 22.

Orsak

Problemet beror på att en intern MDS-lagrad procedur använder fel precisions beräkning när du skapar attributet. Precisionen beräknas som 38 minus skalan, som är felaktig.

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

Lösning

Undvik problemet genom att använda följande metoder som är tacksam för din situation:

  • För SQL Server 2014, tillämpa korrigeringen.

  • För SQL Server 2012 kan du ändra lagrade procedurer för att använda ett konstant värde på 38 (max tillåtet i SQL Server 2012) i stället för att subtrahera skala (@DataTypeInformation och så vidare) från precisionen.

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?

Tack för din feedback!

×