BUG: Update of Real with Float May Cause EXCEPTION_FLT_UNDERFLOW

ID: Q183151


The information in this article applies to:

BUG # 17847 (6.50)

SYMPTOMS

Updating a real datatype column with a float column may cause an access violation (AV). It is also possible that the SQL Server will stop responding. This problem may occur if the update makes use of a work table of a specific size and multiple columns are being updated.

The exception in the errorlog should begin with a line similar to:

EXCEPTION_FLT_UNDERFLOW raised, attempting to create symptom dump


WORKAROUND

When assigning float values into real data types, use the CONVERT function to change the float to a decimal type. The following is a sample update statement using the convert before the assignment:


   UPDATE realtab
   SET
   realtab.col1 = convert(decimal(10, 6), floattab.col1),
   realtab.col2 = convert(decimal(10, 6), floattab.col2)
   From realtab, floattab
   Where
   realtab.ID = floattab.ID
   And floattab.RowType = 'Test' 


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 6.5 Service Pack 2 and later. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: hang hangs hung freeze freezes frozen lock locks locked
up data type worktable


Keywords          : SSrvGPF kbbug6.50.sp2 kbbug6.50.sp3 kbbug6.50.sp4 
Version           : WINNT:6.5 SP2,SP3,SP4
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: April 19, 1999