go2newlife的专栏
项目资源共享群53604708欢迎大家加入!本群人满,请加40534490或者53676277群
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
用户操作
[即时聊天]
[发私信]
[加为好友]
go2newlife
ID:go2newlife
共
38851
次访问,排名
2959(-1)
好友
1
人,关注者
5
人
go2newlife的文章
原创 17 篇
翻译 0 篇
转载 142 篇
评论 44 篇
go2newlife的公告
最近评论
sap99:
www.sap99.com/,SAP99资料多多
SAP免费资料下载
http://www.sap99.com
有很多的学习资料,推荐一下,
aaronyip:
老大,假如实体包含子实体,报表该怎样做呢?例如
public class Customer
{
public int ID;
public string Name;
public string Address;
aaronyip:
老大,假如实体包含子实体,报表该怎样做呢?例如
public class Customer
{
public int ID;
public string Name;
public string Address;
zero8500:
eagle998@126.com
谢谢!
zhylninc:
这些事件不知道怎么用......
文章分类
.net 技术 关键技术
(RSS)
csla架构的学习
(RSS)
ERP基础
(RSS)
SOA相关
(RSS)
SqlServer2005
(RSS)
报表打印
(RSS)
编程思想
(RSS)
控件专题
(RSS)
面向对象的分析与设计
(RSS)
设计模式
(RSS)
生活与休闲
(RSS)
收藏
相册
存档
2008年04月(2)
2008年03月(3)
2008年02月(2)
2008年01月(25)
2007年12月(31)
2007年11月(96)
软件项目交易
订阅我的博客
SQL Server 2005中解决死锁方法
收藏
新一篇: 详细的SQL注入相关的命令
|
旧一篇: 利用作业同步两个数据库
数据库操作的死锁是不可避免的,本文最没有说明死锁是如何产生的,重点在于解决死锁,通过SQL Server
2005
, 现在似乎有了一种新的解决办法。
将下面的SQL语句放在两个不同的连接里面,并且在5秒内同时执行,将会发生死锁。
use
Northwind
begin
tran
insert
into
Orders(CustomerId)
values
(
'
ALFKI
'
)
waitfor
delay
'
00:00:05
'
--
推迟到5秒钟后执行
select
*
from
Orders
where
CustomerId
=
'
ALFKI
'
commit
print
'
commit
'
SQL Server对付死锁的办法是牺牲掉其中的一个,抛出异常,并且回滚事务。在SQL Server
2000
,语句一旦发生异常,T
-
SQL将不会继续运行,上面被牺牲的连接中,
print
'
commit
'
语句将不会被运行,所以我们很难在SQL Server 2000的T
-
SQL中对死锁进行进一步的处理。
现在不同了,SQL Server 2005可以在T
-
SQL中对异常进行捕获,这样就给我们提供了一条处理死锁的途径:
下面利用的try
catch来解决死锁。
SET
XACT_ABORT
ON
declare
@s
int
set
@s
=
1
while
@s
<=
3
begin
begin
tran
begin
try
insert
into
Orders(CustomerId)
values
(
'
ALFKI
'
)
waitfor
delay
'
00:00:05
'
select
*
from
Orders
where
CustomerId
=
'
ALFKI
'
commit
break
end
try
begin
catch
rollback
waitfor
delay
'
00:00:03
'
--
推迟到3秒钟后执行
set
@s
=
@s
+
1
continue
end
catch
end
发表于 @
2007年11月30日 19:38:00
|
评论(
loading...
)
|
编辑
新一篇: 详细的SQL注入相关的命令
|
旧一篇: 利用作业同步两个数据库
评论:没有评论。
发表评论
姓 名:
主 页:
校验码:
看不清,换一张
当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击
登录