You have multiple accounts
Choose the account you want to sign in with.

Sintomas

Assuma que cria um atributo numérico no Microsoft SQL Server 2012 ou NO SQL Server 2014 Master Data Services (MDS) utilizando o Serviço Web MDS. Quando se tenta especificar mais dígitos para o lado direito dos pontos decimais, calcula-se a precisão incorreta. Por exemplo: Quando se tenta criar um atributo decimal que tenha 16 dígitos de precisão fazendo:

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

É criada uma coluna que tem a escala correta de 16 e precisão incorreta de 22.

Causa

O problema ocorre porque um procedimento interno armazenado de MDS utiliza o cálculo de precisão errado quando cria o atributo. A precisão é calculada como 38 menos a escala, o que é incorreto.

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:

Solução

Para contornar a questão, utilize os seguintes métodos que são apreciados pela sua situação:

  • Para o SQL Server 2014, aplique a correção.

  • Para o SQL Server 2012, altere os procedimentos armazenados para utilizar um valor constante de 38 (máximo permitido pelo SQL Server 2012) em vez de uma escala subtraída (@DataTypeInformation, e assim por diante) a partir da Precisão.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×