Simptome

Să presupunem că creați un atribut numeric în Microsoft SQL Server 2012 sau SQL Server 2014 Master Data Services (MDS) utilizând serviciul Web MDS. Atunci când încercați să specificați mai multe cifre în partea dreaptă a punctelor zecimale, se calculează precizia incorectă. De exemplu: atunci când încercați să creați un atribut zecimal care are o precizie de 16 cifre:

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

Se creează o coloană care are Scala corectă de 16 și precizie incorectă de 22.

Cauză

Problema apare deoarece o procedură internă de MDS stocată utilizează un calcul de precizie incorect atunci când creați atributul. Precizia este calculată ca 38 minus Scala, ceea ce este incorect.

Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:

Soluție de evitare

Pentru a rezolva problema, utilizați următoarele metode care sunt apreciate pentru situația dvs.:

  • Pentru SQL Server 2014, aplicați remedierea.

  • Pentru SQL Server 2012, modificați procedurile stocate pentru a utiliza o valoare constantă de 38 (Max permisă de SQL Server 2012) în loc să scădeți Scala (@DataTypeInformation etc.) din precizie.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Cât de mulțumit sunteți de calitatea traducerii?
Ce v-a afectat experiența?

Vă mulțumim pentru feedback!

×