SQL SERVER 事务和锁
事务:保持逻辑数据一致性与可恢复性,必不可少的利器。
锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写。
/*******************************************************************************************************************************/
先举一个典型的业务
A给B转账100元
在数据库中 实际进行了两步操作
- A的账户减掉100元
- B的账户增加100元
这两个动作应当构成一个不可分割的整体,要么完成其中的所有动作,要么不执行其中任何动作
这两个动作就是一种“不可分割”的业务单 位 。一旦某个环节失败,就需要回滚(恢复到初始状态)
/*******************************************************************************************************************************/
事务的特性
- 原子性:事务必须是一个自动工作的单元,要么全部执行,要么全部不执行。
- 一致性:事务结束的时候,所有的内部数据都是正确的。
- 隔离性:并发多个事务时,各个事务不干涉