sql server其他概念

sql server其他概念

ID:24267024

大小:377.00 KB

页数:21页

时间:2018-11-13

sql server其他概念_第1页
sql server其他概念_第2页
sql server其他概念_第3页
sql server其他概念_第4页
sql server其他概念_第5页
资源描述:

《sql server其他概念》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第11章其他概念11.1事务11.2锁定11.3自动化管理11.1事务用一个简单的例子来帮助理解事务:向公司添加一名新的雇员,如图11.1所示。11.1事务在形式上,每个事务的处理必须满足ACID原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。(1)原子性。原子性意味着每个事务都必须被认为是一个不可分割的单元。(2)一致性。不管事务是完全成功完成还是中途失败,当事务使系统中的所有数据处于一致的状态时存在一致性。

2、(3)隔离性。隔离性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。(4)持久性。持久性意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。11.1.2多用户使用问题丢失更新(lostupdate):指当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,因此最后的更新将重写由其他事务所做的更新,这将导致数据丢失。脏读(dirtyread):指一个事务正在访问数据,而其他事务正在更新该数

3、据,但尚未提交,此时就会发生脏读问题,即第一个事务所读取的数据是“脏”(不正确)数据,它可能会引起错误。不可重复读(unrepeatableread):当一个事务多次访问同一行且每次读取不同的数据时,会发生此问题。不可重复读与脏读有相似之处,因为该事务也是正在读取其他事务正在更改的数据。幻读(phantomread):当一个事务对某行执行插入或删除操作,而该行属于某个事务正在读取的行的范围时,会发生幻读问题。11.1.3事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLL

4、BACKTRANSACTION系统提供的事务是在执行某些T-SQL语句时,一条语句就构成了一个事务,这些语句包括ALTERTABLE、CREATE、DELETE、DROP、FETCH、GRANT、INSERT、OPEN、REVOKE、SELECT、UPDATE、TRUNCATETABLE。例如,执行如下创建表的语句:CREATETABLExxx(f1intNOTNULL,f2char(10)NOTNULL,f3varchar(30)NULL)11.1.3事务处理:BEGIN/COMMIT/ROL

5、LBACK/SAVE/ROLLBACKTRANSACTION1.开始事务在SQLServer中,显式地开始一个事务可以使用BEGINTRANSACTION语句。语法格式:BEGIN{TRAN

6、TRANSACTION}[{事务名

7、@事务名变量}[WITHMARK['dEscription']]]2.结束事务COMMITTRANSCATION语句是提交语句,它将事务开始以来所执行的所有数据都修改为数据库的永久部分,也标志一个事务的结束,其语法格式为:COMMIT{TRAN

8、TRANSACTION}[

9、事务名

10、@事务名变量]]标志一个事务的结束也可以使用COMMITWORK语句。语法格式为:COMMIT[WORK]11.1.3事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLLBACKTRANSACTION3.撤销事务若要结束一个事务,可以使用ROLLBACKTRANSACTION语句。它使得事务回滚到起点,撤销自最近一条BEGINTRANSACTION语句以后对数据库的所有更改,同时也标志了一个事务的结束。语法格式:ROLLBACK{TRAN

11、TRANSACTION}[事

12、务名

13、@事务名变量]ROLLBACKTRANSACTION语句不能在COMMIT语句之后。另外,一条ROLLBACKWORK语句也能撤销一个事务,功能与ROLLBACKTRANSACTION语句一样,但ROLLBACKTRANSACTION语句接受用户定义的事务名称。语法格式:ROLLBACK[WORK][;]11.1.3事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLLBACKTRANSACTION4.回滚事务ROLLBACKTRANSACTION语句除了能够撤销整个事务

14、外,还可以使事务回滚到某个点,不过在这之前需要使用SAVETRANSACTION语句来设置一个保存点。SAVETRANSACTION的语法格式:SAVE{TRAN

15、TRANSACTION}{保存点名

16、@保存点变量}SAVETRANSACTION语句会向已命名的保存点回滚一个事务。如果在保存点被设置后,当前事务对数据进行了更改,则这些更改会在回滚中被撤销。语法格式:ROLLBACK{TRAN

17、TRANSACTION}[保存点名

18、@保存点变量]11.1.3事务处理:BEGIN/COMMIT/ROLL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。