什么是事务:维持数据一致性和恢复

1.事务的定义

事务提供了一种将T-SQL语句分组的方法,从而使它们能够被当成一个单元来处理:组中所有语句或都执行,或都不执行。

事务是确保一个或多个SQL语句的集合不被当成单一工作单元处理的机制,SQL Server自动将所有数据修改命令,包括单步改变请求,作为事务处理,缺省时,每个insert、update、delete语句被当成一个事务处理。

2.事务的作用

事务使SQL Server能保证:

·一致性——同时发生的查询或改变请求彼此不冲突,用户不能对正处于改变过程的数据进行查看或操作。

·恢复——在系统失效时,数据库的恢复是完全的和自动的。

3.使用事务

a. 开始和确认事务

begin transaction和commit transaction可将任意数目的SQL语句封装起来,这两名的简单语法为:

begin transaction

commit transaction

b. 回退事务

在commit transaction命令提交前任何时候可取消或回退事务,该命令的简单语法为:

rollback transaction

4.检查事务状态

全局变量@@transtate记录了事务当前的状态。在执行一个语句后SQL Server通过记录所有事务变化来确定返回何种状态。

@@transtate可包含下列值:

值意 义

0事务进行中:一个显式或隐式事务有效;上一语句执行成功

1事务完成:事务完成并提交其变化

2语句异常中止:上一语句异常终止;对事务无影响

3事务异常中止:事务异常中止并回退所有变化

举例:在事务中,可在一个语句(如insert)后使用@@transtate确定该语句成功或失败对事务的影响。commit transaction

Begin transaction

Insert into publishers(pub_id)values(‘9999’)

(1 row affected)

select @@transtate

…………………

0

commit transaction

select @@transtate

…………………

0

(1 row affected)

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索异常
, 事务
, 语句
, commit
, transaction
, 一个
恢复语句
,以便于您获取更多的相关知识。

时间: 2024-12-31 11:34:46

什么是事务:维持数据一致性和恢复的相关文章

ORACLE LOGFILE 和 SQL SERVER 2005 事务日志管理和恢复的比较

原创,转载请注明    其实如果要说这类日志的重要性,当然2个数据库都知道它的重要性.也淡淡的说一下.日志是进行数据库恢复重要的组建.用于将数据库恢复到故障点,也就是我们通常说的滚动,ORACLE叫他LOGFILE,而SQL SERVER 叫他事务日志.    ORACLE中有归档模式和非归档模式,而这对应了SQL SERVER 中的恢复模式的完整恢复模式和简单恢复模式.完整恢复模式和归档模式都是支持恢复到故障点的,而非归档模式和简单模式其实说白了都是不保存各自数据库的历史LOGFILE和事务日

备份和恢复概述

   理主要是为防止非法登录者或非授权用户对SQL Server 数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心.例如合法用户不小心对数据库数据做了不正确的操作或者保存数据库文件的磁盘遭到损坏或者运行SQL Server 的服务器因某种不可预见的事情而导致崩溃.所以我们需要提出另外的方案即数据库的备份和恢复来解决这种问题.本章的主要目的就是介绍备份.恢复的含义,数据库备份的种类以及备份设备等基本的概念,以及如何创建备份和恢复数据库,使读者对其有全面的了解和认识,能够自主制定自己

MS SQL基础教程:备份和恢复概述

原理主要是为防止非法登录者或非授权用户对SQL Server 数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心.例如合法用户不小心对数据库数据做了不正确的操作或者保存数据库文件的磁盘遭到损坏或者运行SQL Server 的服务器因某种不可预见的事情而导致崩溃.所以我们需要提出另外的方案即数据库的备份和恢复来解决这种问题.本章的主要目的就是介绍备份.恢复的含义,数据库备份的种类以及备份设备等基本的概念,以及如何创建备份和恢复数据库,使读者对其有全面的了解和认识,能够自主制定自己的备

为什么说传统分布式事务不再适用于微服务架构

传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的API来访问,所以分布式事务不再适用微服务架构.那么微服务架构又该如何保证数据一致性呢?本文就来谈谈这个话题. 传统分布式事务不是微服务中数据一致性的最佳选择 微服务架构中应满足数据最终一致性原则 微服务架构实现最终一致性的三种模式 对账是最后的终极防线 传统分布式事务 我们先来看下第一部分,传统使用本地事务和分布式事务保证一致性. 传统单机应用一般都会使用一个关系型数据库,好处是应用可以使用

MySQL分布式事务(XA事务)

MySQL分布式事务(XA事务) 官网:https://dev.mysql.com/doc/refman/5.7/en/xa.html 1.什么是分布式事务 分布式事务就是指事务的参与者.支持事务的服务器.资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上.以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败.本质上来说,分布式事务就是为了保证不同数据库的数据一致

实例恢复(Instance Recovery)之前滚(Rolling Forward)和回滚(Rolling Back)

Oracle实例恢复(Instance Recovery)之前滚(Rolling Forward)和回滚(Rolling Back)     关于oracle实例恢复的一些理解,一直都有误区,今天通过查看相关资料和与同学探讨,发觉了自己的错误,探讨结果如下:       实例恢复:当数据库非正常关闭的时候(断电或者shu  abort等等非一致性关闭),当你从新启动数据库的时候,数据库相关进程自动进行实例恢复,无须人工干预,        一. 什么时候需要实例恢复     在shutdown 

spring的事务

Chapter 1. Spring中的事务控制(Transacion Management with Spring) Table of Contents 1.1. 有关事务(Transaction)的楔子 1.1.1. 认识事务本身 1.1.2. 初识事务家族成员 1.2. 群雄逐鹿下的Java事务管理 1.2.1. Java平台的局部事务支持 1.2.2. Java平台的分布式事务支持 1.2.2.1. 基于JTA的分布式事务管理 1.2.2.1.1. JTA编程事务管理 1.2.2.1.2.

数据库事务和锁(一)

数据|数据库 简述     关系型数据库有四个显著的特征,即安全性.完整性.并发性和监测性.数据库的安全性就是要保证数据库中数据的安全,防止未授权用户随意修改数据库中的数据,确保数据的安全.在大多数数据库管理系统中,主要是通过许可来保证数据库的安全性.完整性是数据库的一个重要特征,也是保证数据库中的数据切实有效.防止错误.实现商业规则的一种重要机制.在数据库中,区别所保存的数据是无用的垃圾还是有价值的信息,主要是依据数据库的完整性是否健全.在SQL Server 7.0中,数据的完整性是通过一系

收缩事务日志

SQLSERVER收缩事务日志 一.由于系统中录入及删除数据频繁,故事务日志很大. SQLSERVER中讲: BACKUP LOG 数据库名 WITH NO_LOG|TRUNCATE_ONLY可以截断事务日志. 但我在数据库中进行上述操作后,事务日志还是没有改变. 二.只有进行"数据库收缩"操作. 在此复选框中打勾  选中上图所示选项,即可点"确定",执行收缩事务日志的操作,硬盘经过一段时间的工作后,SQLSERVER终于提示收缩成功.事务日志文件被恢复到原始尺寸.