Berlaku Untuk
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)

Gejala

Misalnya Anda membuat atribut numerik di Microsoft SQL Server 2012 atau SQL Server 2014 Master data Services (MDS) dengan menggunakan layanan web MDS. Ketika Anda mencoba untuk menentukan digit lainnya di sisi kanan poin desimal, presisi yang salah dihitung. Misalnya: ketika Anda mencoba membuat atribut desimal yang memiliki 16 digit presisi dengan melakukan:

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

Kolom dibuat yang memiliki skala 16 dan presisi yang tepat dari 22.

Penyebab

Masalah ini terjadi karena prosedur internal MDS yang disimpan menggunakan perhitungan presisi yang salah ketika Anda membuat atribut. Presisi dihitung sebagai 38 dikurangi skala, yang tidak benar.

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:

Penyelesaian Masalah

Untuk mengatasi masalah ini, gunakan metode berikut yang dihargai untuk situasi Anda:

  • Untuk SQL Server 2014, Terapkan perbaikan.

  • Untuk SQL Server 2012, Ubah prosedur yang disimpan untuk menggunakan nilai konstan 38 (maks yang diizinkan oleh SQL Server 2012) dan bukan kurangi skala (@DataTypeInformation, dan seterusnya) dari presisi.

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.