代码改变世界

SQL Server 2005 数据加密

2011-11-24 00:37 by Echo., 843 阅读, 1 推荐, 收藏, 编辑
摘要:加密是为了保证敏感数据的安全性,如用户密码,银行卡密码等信息。1.最简单的加密方式就是对单个字符,某列的加密,利用HashBytes返回输入的哈希值。语法:HashBytes('加密类型','加密文本')返回值最大为varbinary(8000)以下示例前提为已安装AdventureWorks示例数据库.--创建示例表,填充数据setnocounton;selectCreditCardID,CardNumberintodbo.t1fromSales.CreditCard;go--添加列,以便存储对卡号加密后的Hash值altertabledbo.t1addmd2 阅读全文

SQL Server 2005之控制事务

2011-11-02 15:46 by Echo., 991 阅读, 0 推荐, 收藏, 编辑
摘要:控制SQLServer2005事务可以使用T-SQL或者是数据库应用程序接口API函数指定事务的开始,结束时间.系统还必须能够正确处理那些在是事务完成之前便终止事务的错误。默认情况下,事务按连接级别进行管理。一个连接的事务模式发生变化对任何其他连接的事务模式没有影响。在一个连接上启动一个事务后,在事务结束之前,在该连接上所执行的所有T-SQL语句都是该事务的一部分(比如新打开了一个查询窗口输入begintransactiontesttran...后面省略多句T-SQL,如果没有进行commit或rollback,默认下该连接所有T-SQL语句都是属于事务testtran)。启动事务SQLSer 阅读全文

SQL Server 2005 事务之ACID

2011-11-01 16:59 by Echo., 1305 阅读, 1 推荐, 收藏, 编辑
摘要:首先描述下事务的概念以及事务的特性:事务是作为单个逻辑工作单元执行的一系列操作,同时具备原子性、一致性、隔离性和持久性(ACID)属性。原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性:事务完成时,必须使所有的数据都保持一致状态。隔离性:由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。下面用简单的示例(Northwind数据库)来说明这一点。原子性:正常情况下是先删除订单详细表,再删除订单信息,下面倒过来为了演示事务的原子性,生产中这么写就是属于逻辑错误。USEN 阅读全文