Andando in debug su di una stored procedure abbiamo trovato un simpatico errore di Arithmetic Overflow apparentemente ingiustificato..Provate questo script sul vostro Management Studio e, se sarete fortunati, il tutto andrà per il meglio. In caso contrario otterrete l'errore che da un'ora ci fa incavolare
PRINT ROUND(0.1, 0)
PRINT ROUND(0.6, 0)
PRINT ROUND(1.0, 0)
------------------------------------------------------
0.0
Msg 8115, Level 16, State 2, Line 2
Arithmetic overflow error converting expression to data type numeric.
1.0
La piattaforma è la seguente:
Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64) Sep 16 2010 19:43:16 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )
Eseguendo lo stesso script su questa piattaforma..
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 <X64> (Build 3790: Service Pack 2)
funziona tutto correttamente..
mmmmh.. e perchè mai? sui BOL non trovo niente.. A qualcuno di voi è capitato? Per ora sto contattando Microsoft, ma credo proprio si tratti di un bug.
Stay tuned!