我们在服务器迁移方面遇到问题。我们有一个拥有大量事务的应用程序,它在一台数据库服务器上运行良好。但是,当将同一数据库传输到另一台服务器时。我们面临以下错误。
Server: Msg 3998, Level 16, State 1, Line 1 Uncommittable transaction is detected at the end of the batch. The transaction is rolled back.
Server: Msg 3998, Level 16, State 1, Line 1
Uncommittable transaction is detected at the end of the batch. The transaction is rolled back.
同一数据库将所有数据复制到另一台服务器。如果我们将连接字符串更改为旧服务器,则它可以正常工作。
有人可以建议吗?
您似乎遇到的问题是,一个数据库中的记录可以接受,而另一个数据库中的记录却可以接受。建议您查看两个数据库结构之间的差异(是的,我知道它们应该是相同的,但显然它们并不相同)。怀疑您会发现两者之间的排序规则差异,数据类型差异或数据长度差异。您可能还会有一个表,其中缺少标识定义,因此由于它是必填字段且值缺失,因此无法插入。像SQlCompare这样的工具很容易使用来发现差异。