Se aplica a
SQL 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)

Síntomas

Suponga que crea un atributo numérico en Microsoft SQL Server 2012 o SQL Server 2014 Master Data Services (MDS) con el servicio Web de MDS. Cuando intenta especificar más dígitos al lado derecho de las posiciones decimales, se calcula la precisión incorrecta. Por ejemplo: cuando intenta crear un atributo decimal con una precisión de 16 dígitos, haga lo siguiente:

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

Se crea una columna con la escala correcta de 16 y una precisión incorrecta de 22.

Causa

El problema se produce porque un procedimiento almacenado de MDS interno usa un cálculo de precisión incorrecto al crear el atributo. La precisión se calcula como 38 menos la escala, lo cual es incorrecto.

Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:

Solución alternativa

Para solucionar el problema, utilice los siguientes métodos que agradecemos de su situación:

  • Para SQL Server 2014, aplique la corrección.

  • Para SQL Server 2012, cambie los procedimientos almacenados para usar un valor constante de 38 (permitido por SQL Server 2012) en lugar de restar escala (@DataTypeInformation, etc.) a partir de la precisión.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.