数据库
文章平均质量分 62
FollowIT
还过的去
展开
-
数据库系列之死锁(一)
其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B,另一个用户B 访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了,同样用户B要等用户A释放表A才能继续这就死锁了。 解决方法: 这种死锁是由于你的程序的BUG产生的,除了调原创 2008-02-26 01:16:00 · 883 阅读 · 0 评论 -
数据库系列之死锁(二)
在工作中,收到客户反馈的事务并发错误的问题:事务(进程)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务很明显,这是由于,资源冲突所引起的,如何解决,花费了大量时间在这个问题上,想来还是怪自己对数据库,不够精通,在此记下,要多下功夫了!那么为什么会发生资源冲突,引发死锁呢?回答这个问题,需要知道隔离级别,锁的概念。准备从隔离级别、锁的概念,死锁的解决,如原创 2008-02-28 23:58:00 · 1189 阅读 · 0 评论 -
数据库系列之死锁(三)
接上两篇文章,继续探讨数据库死锁问题,参考一篇BLOGhttp://blog.joycode.com/juqiang/archive/2006/12/18/89218.aspx内容:死锁,简而言之,两个或者多个trans,同时请求对方正在请求的某个对象,导致双方互相等待。简单的例子如下: trans1原创 2008-03-03 00:48:00 · 1643 阅读 · 0 评论 -
数据库系列之死锁(四)
概要:什么是死锁?死锁是怎么造成的?怎么查找?如何解决及避免?死锁:DeadLock,是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程.阻塞:当来自应用程序的第一个连接控制锁而第二个连接需要相冲突的锁类型时,将发生阻塞。其结果是强制第二个连原创 2008-03-09 21:37:00 · 913 阅读 · 0 评论 -
SQL Server 2000之事务隔离
平时使用SQL Server 2000,但是对事务隔离并没有统一总结过,当猛然被问起时,还真的不好回答,所以总结一下. 首先要,明白事务隔离的级别:未提交读提交读可重复读可串行读 此处有一篇好文章,供参考:http://untitled.spaces.live.com/blog/cns!86B82838704E0D5A!819.entry数据库的事务隔离级别(TRANS原创 2007-12-31 17:22:00 · 1200 阅读 · 0 评论 -
SQL Server 2000之identity
CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))GO如果INSERT INTO products (id, product) VALUES(3, garden shovel)GO就会报错Server: Msg 544, Level 16, State 1, Line 1Cannot原创 2008-01-10 17:45:00 · 1037 阅读 · 0 评论