Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
DateTime values are rounded to the nearest second when a business logic handler is used in SQL Server 2008 or SQL Server 2008 R2
Article ID: 2598510 - View products that this article applies to.
Consider the following scenario:
This issue occurs because the DateTime values are stored in a variable of data type variant when data is passed between managed code and unmanaged code.
Note The DateTime variant does not support the milliseconds date part.
Note The SQL Server merge agent is written in unmanaged code. The business logic for the Microsoft .NET assembly is written in managed code.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
You may be able to work around this issue by storing the DateTime values in a column that has the data type char or the data type varchar.
For example, the issue that is described in the "Symptoms" section occurs if the custom business logic handles conflicting UPDATE statements at the publisher and subscriber. The milliseconds time part is lost when the publisher dataset or the subscriber dataset is copied into the custom dataset, and then the custom dataset is returned to the merge replication reconciler.
This issue occurs if the data is not changed in custom code that resembles the following code sample.
For more information about how to implement a business logic handler for a merge article, visit the following MSDN website:
Article ID: 2598510 - Last Review: April 16, 2012 - Revision: 2.0