SQL Server从入门到精通(七)

哈喽好久不见呐

最近太忙了都没时间写博客,呜呜呜,排名一直没上升,落后了,今天抽空更新一篇博客吧,顺带涨涨粉,哈哈哈,涨不涨粉不重要,重要的是我想写博客

往期精选
SQL Server从入门到精通(一)
SQL Server从入门到精通(二)
SQL Server从入门到精通(二)精讲
SQL Server从入门到精通(三)
SQL Server从入门到精通(四)

1.事务的概念
事务(TRANSACTION)是:使一个事务内的语句成为一个整体来执行,作为单个逻辑工作单元执行的一系列操作作为一个整体向系统提,要么都执行、要么都不执行,事务是一个不可分割的工作逻辑单元在创建存储过程使用,事务是保证数据完整性的最小的一个单位要不都成功要不都失败

2.事务的特性(ACID)
原子性:完整的整体,要么都执行,要么都不执行
一致性:事务完成时,数据必须处于一致状态
隔离性:张三和李四的转账,王五和赵二的转账之间相互独立
永久性:事务完成后他对数据库的修改被永久的保存

3.事务分类
(1)显式事务:又叫用户定义事务,指用户执行SQL事务语句而定的事务

1.启动事务:
 通过发出begin transaction语句显示启动事务
 begin transaction [事务的名称 @变量] [with mark['描述标记的字符串']]]
2.提交事务
  commit transaction[事务的名称@变量]
  或
  commit [work]
3.取消事务(回滚事务)
  rollback transaction[事务的名称 @变量|保存点|@保存点变量]
  或
  rollback work
4.设置事务保存点
save transaction <保存点|@保存点变量>

@保存点变量,必须使用char,varchar,nchar,navrchar数据类型声明该变量
隐式事务:不需要使用begin transaction语句启动事务

 通过set implicit_transactions on 语句,将隐式事务打开
 通过set implicit_transactions off 语句,将隐式事务关闭

自动事务:当一个语句成功执行后,被自动提交。产生错误后,被自动回滚

4.事务控制
(1)开始事务:BEGIN TRANSACTION
(2)提交事务:COMMIT TRANSACTION
(3)回滚(撤销)事务:ROLLBACK TRANSACTION一旦事务提交或回滚,则事务结束
(4)设置事务保存点:
(5)当前事务嵌套:通过全局变量@@TRANCOUNT
使用begin transaction,加1
使用commit,减1
(6)事务处理过程中的错误:
具体的例子大家就到书上自己寻找吧,哈哈哈,太懒了,我就不往上写了

5.事务的相关问题
(1)事务的分类
串行执行方式:
事务1结束执行事务2才开始执行,是一个接一个执行
系统资源利用率低,对用户的响应比较慢
在这里插入图片描述
并发执行方式:
单处理机执行
可能1没执行完后2就开始执行
在这里插入图片描述
多处理机执行
多个事务同时访问
在这里插入图片描述
数据库必须进行有效管理

(2)事务并发所产生的问题
数据丢失更新:两个事务同时一组数据项更新,导致后面的更新覆盖前面的更新
读脏数据:一个事务正在读拎一个更新事务尚未提交的数据
不可重复读:当一个事务读取某一个数据后,另一事务对该数据执行了更新操作,使得第一个事务无法再次读取与前一次相同的结果
(3)解决并发事务的问题的解决方案——封锁
共享锁:一个数据对象已存在共享锁时,其他事务可以读取数据。但不能修改数据。
排他锁:他锁定的资源,其他事物不能读取也不能修改
更新锁:在修改操作的初始化阶段用来锁定可能被修改的资源
意向锁:意向锁表示一个事务为了访问数据库对象层这些底层资源而加共享锁或排它锁的意向

缩写锁模式内部代码描述
S共享锁4允许其他进程读,但不允许修改锁封的资源
X排他锁6阻止其他进程修改或读取被封锁的资源
U更新锁5阻止其他资源申请更新锁或排它锁
IS意向共享锁7表示资源的一部分被施加共享锁,他只能用于表及或页级
IU意向更新锁8表示资源的一部分被施加更新锁,他只能用于表及或顶级

查询相关锁信息
sp_lock[[@spid1=]‘spid1’][,[@spid2=] ‘spid2’]
在这里插入图片描述
锁这一块就不进行详细讲解了因为看了一下许多资源都没有详细讲解锁这一块估计不重要吧,那我也就偷懒了

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SQL Server方面,有很多优秀的教材和资源可以帮助您从入门到精通。以下是几本经典的SQL Server教材,可以帮助您深入学习和理解SQL Server的各个方面: 1. 《SQL Server 从入门到精通》(作者:陈长生)- 这本教材以SQL Server 2016版本为基础,从基础的SQL语法和数据库设计开始,逐步深入介绍SQL Server的各种功能和技术,包括索引、视图、存储过程、触发器等。这本书以简单易懂的方式解释复杂的概念,适合初学者和有一定基础的读者。 2. 《深入浅出SQL Server》(作者:王俊)- 这本书涵盖了SQL Server的各个方面,包括数据库设计、查询优化、事务处理、安全性等。作者以实际案例为基础,详细讲解了SQL Server的各种技术和技巧。这本书适合想要深入学习SQL Server的读者。 3. 《SQL Server权威指南》(作者:Paul Nielsen)- 这本书是一本权威的SQL Server参考书,涵盖了SQL Server的各个方面,包括数据库管理、性能优化、高可用性、安全性等。作者详细介绍了SQL Server的各种功能和最佳实践,适合有一定经验的读者。 除了书籍,还有一些在线资源和教程可以帮助您学习SQL Server。例如,Microsoft官方网站上提供了SQL Server的文档和教程,可以帮助您了解SQL Server的各种功能和用法。此外,还有一些在线学习平台和社区,如Coursera、Udemy和Stack Overflow,提供SQL Server相关的课程和讨论。通过这些资源,您可以逐步提升自己在SQL Server领域的技能和知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值