** 并发问题 **
如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。并发问题包括: 丢失或覆盖更新,未确认的相关性(脏读),不一致的分析(非重复读),幻像读。但是如何来避免数据读取时脏读等问题出现呢?这里简单介绍一下:
在 SQL Server 数据库中,提供四种隔离级别:未提交读、提交读、可重复读、可串行读。这四种隔离级别可以不同程度地保证并发的数据完整性:
隔离级别
|
脏 读
|
不可重复读取
|
幻 像
---|---|---|---
未提交读
|
是
|
是
|
是
提交读
|
否
|
是
|
是
可重复读
|
否
|
否
|
是
可串行读
|
否
|
否
|
否