sqlserver事务处理

sqlserver事务处理

ID:34725945

大小:64.17 KB

页数:9页

时间:2019-03-10

sqlserver事务处理_第1页
sqlserver事务处理_第2页
sqlserver事务处理_第3页
sqlserver事务处理_第4页
sqlserver事务处理_第5页
资源描述:

《sqlserver事务处理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQLSERVER事务处理 http://www.cnblogs.com/wenanry/archive/2006/07/10/447157.aspx事务定义:事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。事务三种运行模式:自动提交事务每条单独的语句都是一个事务。显式事务每个事务均以 BEGINTRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐性事务在前一个事务完成时新事务隐式启动,但

2、每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。事务操作的语法:BEGINTRANSACTIONBEGINDISTRIBUTEDTRANSACTIONCOMMITTRANSACTIONCOMMITWORKROLLBACKWORKSAVETRANSACTIONBEGINTRANSACTIONBEGINTRANSACTION标记一个显式本地事务的起始点。BEGINTRANSACTION将 @@TRANCOUNT 加 1。BEGINTRANSACTION 代表一点,由连接引用的数据在该点是逻辑和物理上都一致的。如果遇上错误,在 BEGI

3、NTRANSACTION 之后的所有数据改动都能进行回滚,以将数据返回到已知的一致状态 。每个事务继续执行直到它无误地完成并且用 COMMITTRANSACTION 对数据库作永久的改动,或者遇上错误并且用 ROLLBACKTRANSACTION 语句擦除所有改动语法BEGINTRAN[SACTION][transaction_name

4、@tran_name_variable[WITHMARK['description']]]例子:BEGINTRANT1UPDATEtable1...--nesttransactionM2BEGINTRANM2WI

5、THMARKUPDATEtable2...SELECT*fromtable1COMMITTRANM2UPDATEtable3...COMMITTRANT1BEGINDISTRIBUTEDTRANSACTION指定一个由 Microsoft 分布式事务处理协调器 (MSDTC) 管理的 Transact-SQL 分布式事务的起始。语法BEGINDISTRIBUTEDTRAN[SACTION][transaction_name

6、@tran_name_variable]参数transaction_name是用户定义的事务名,用于跟踪 MSDTC 实用工

7、具中的分布式事务。 transaction_name 必须符合标识符规则,但是仅使用头 32 个字符@tran_name_variable是用户定义的一个变量名,它含有一个事务名,该事务名用于跟踪 MSDTC 实用工具中的分布式事务。必须用 char、varchar、nchar 或 nvarchar 数据类型声明该变量。注释执行BEGINDISTRIBUTEDTRANSACTION 语句的服务器是事务创建人,并且控制事务的完成当连接发出后续 COMMITTRANSACTION 或 ROLLBACKTRANSACTION 语句时,主控服务器请求 M

8、SDTC 在所涉及的服务器间管理分布式事务的完成。有两个方法可将远程 SQL 服务器登记在一个分布式事务中:分布式事务中已登记的连接执行一个远程存储过程调用,该调用引用一个远程服务器。 分布式事务中已登记的连接执行一个分布式查询,该查询引用一个远程服务器。示例本例在本地和远程数据库上更新作者的姓。本地和远程数据库将同时提交或同时回滚本事务。说明 当前的SQLServer 上必须安装 MSDTC.USEpubsGOBEGINDISTRIBUTEDTRANSACTIONUPDATEauthorsSETau_lname='McDonald'WHEREa

9、u_id='409-56-7008'EXECUTE link_Server_T.pubs.dbo.changeauth_lname'409-56-7008','McDonald'COMMITTRANGONote:如果需要连接远程DB,如果是linkServer 方式连接的话,一定要修该linkServer的 RPC 选项置为 True。SETXACT_ABORT指定当 Transact-SQL 语句产生运行时错误时,Microsoft?SQLServer? 是否自动回滚当前事务。( 可以比较简单的理解,如果中间有任何一句SQL 出错,所有SQL全

10、部回滚.特别适用于 Procedure 中间调用Procedure ,如果第一个ProcedureOk,被调用的Procedure 中间

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

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

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