SQL Server中日志的的作用
简介 之前我已经写了一个关于SQL Server日志的简单系列文章。本篇文章会进一步挖掘日志背后的一些概念,原理以及作用。如果您没有看过我之前的文章,请参阅: 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色 浅谈SQL Server中的事务日志(四)----在完整恢复模式下日志的角色 浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用 数据库的可靠性...
数据库事务四个特性
数据库事务需要满足四个特性,ACID,即原子性(Atomic),一致性(Consistency),隔离性(Isolation),持久性(Durability)。 在关系数据库中,这些特性需要借助借助redo log、锁、snapshot等手段来实现。 隔离性要求各事务之间相互独立,所进行的操作不会相互影响,其用意还是保证各数据读写操作的一致性 标准SQL92规范定义了四种隔离级别,以及相应要禁止的三种现象(Phenomena)。 隔离级别越高,数据一致性的保证越强,但同时数据库的并发能力也越差。 数据库并发操作引起的问题(现象 ) 有: 1. 脏读(Dirty read)...
动态SQL变量赋值
在动态SQL语句中进行变量的值绑定比较麻烦,这儿做个记录 declare @COUNT int,@sql nvarchar(max) set @sql = 'select @COUNT = count(id) from tbl_sys_dict where root_key = ''WT_TYPE''' execute sp_executesql @sql, N'@COUNT int output', @COUNT output print @COUNT
SQL插入数据的几种方式
INSERT 用来将行插入(或添加)到数据库表。插入有几种方式: 插入完整的行; 插入行的一部分; 插入某些查询的结果。 1.1 插入完整的行 存储到表中每一列的数据在VALUES 子句中给出,必须给每一列提供一个值。如果某列没有值,则应该使用NULL 值(假定表允许对该列指定空值)。各列必须以它们在表定义中出现的次序填充。基本的INSERT 语法: 1 //INTO 关键字是可选的 2 INSERT INTO Customers 3 VALUES('1000000006', 4 'Toy Land', 5 '123 Any Street', 6 'New ...