我需要进行健全检查; [我的一位客户表示,他认为他不应该看到数据。
示例,更新2个表
BEGIN TRANSACTION;
update table1...
update table2...
COMMIT TRANSACTION;
问题 - 在table2中的更新完成之前,可以触发数据库中的单独连接来读取table1的更新吗?
答案 0 :(得分:2)
是的,如果您将其他读取事务的隔离级别设置为uncommited,则可以。 https://msdn.microsoft.com/en-us/library/ms173763(v=sql.110).aspx。
如果启动两个Sql Management Studios并在没有在一个窗口中提交的情况下运行事务,那么很容易测试,然后尝试在另一个窗口中选择不同的隔离级别。
答案 1 :(得分:1)
是的,如果您的隔离级别设置为未提交读取,则可能。
查看以下提供的隔离级别:
dbcc useroptions
https://msdn.microsoft.com/en-us/library/ms173763.aspx
http://blog.sqlauthority.com/2010/05/24/sql-server-check-the-isolation-level-with-dbcc-useroptions/