飘飘悠悠 发表于 2015-1-16 22:22:38

MSSQL网站制作之sql server逝世锁的成绩

这里我们讨论用binlog来实现闪回的方案。server|成绩常看到逝世锁的成绩,一样平常都是KILL历程,但假如不查出引发逝世锁的缘故原由,逝世锁会经常产生
能够经由过程查找引发逝世锁的的操纵,就能够便利的办理逝世锁,现将一样平常办理成绩的办法总结,大概对人人有匡助
1逝世锁产生时,经由过程以下语法,查询出引发逝世锁的操纵
usemaster
go
declare@spidint,@blint
DECLAREs_curCURSORFOR
select0,blocked
from(select*fromsysprocesseswhereblocked>0)a
wherenotexists(select*from(select*fromsysprocesseswhereblocked>0)b
wherea.blocked=spid)
unionselectspid,blockedfromsysprocesseswhereblocked>0
OPENs_cur
FETCHNEXTFROMs_curINTO@spid,@bl
WHILE@@FETCH_STATUS=0
begin
if@spid=0
select引发数据库逝世锁的是:+CAST(@blASVARCHAR(10))+历程号,其实行的SQL语法以下
else
select历程号SPID:+CAST(@spidASVARCHAR(10))+被+历程号SPID:+CAST(@blASVARCHAR(10))+堵塞,其以后历程实行的SQL语法以下
DBCCINPUTBUFFER(@bl)
FETCHNEXTFROMs_curINTO@spid,@bl
end
CLOSEs_cur
DEALLOCATEs_cur
execsp_who2
2查找程序/数据库,此t_sql语法在甚么中央利用
3剖析找到的,并办理成绩
EG:
/*
-------------------------------------------------------
引发数据库逝世锁的是:71历程号,其实行的SQL语法以下
EventTypeParametersEventInfo
------------------------------------------------------------------------
LanguageEvent0
select*fromtest
inserttestvalues(1,2)

(所影响的行数为1行)
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。

------------------------------------------------------------------------------
历程号SPID:64被历程号SPID:71堵塞,其以后历程实行的SQL语法以下
EventTypeParametersEventInfo
------------------------------------------------------------------------
LanguageEvent0
select*fromtest
inserttestvalues(1,2)

(所影响的行数为1行)
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。

------------------------------------------------------------------------------
历程号SPID:65被历程号SPID:64堵塞,其以后历程实行的SQL语法以下
EventTypeParametersEventInfo
--------------------------------------------------------------------------------------------------------------------------
LanguageEvent0begintran
select*fromtestwith(holdlock)
waitfortime12:00
select*fromtest
commit
(所影响的行数为1行)
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。

------------------------------------------------------------------------------
历程号SPID:73被历程号SPID:64堵塞,其以后历程实行的SQL语法以下
EventTypeParametersEventInfo
--------------------------------------------------------------------------------------------------------------------------
LanguageEvent0begintran
select*fromtestwith(holdlock)
waitfortime12:00
select*fromtest
commit
(所影响的行数为1行)
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。
*/

根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

精灵巫婆 发表于 2015-1-19 09:44:48

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

莫相离 发表于 2015-1-26 21:49:33

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。

变相怪杰 发表于 2015-2-4 21:20:19

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

小女巫 发表于 2015-2-10 13:15:40

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

第二个灵魂 发表于 2015-3-1 11:09:09

备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。

admin 发表于 2015-3-10 16:48:26

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

再现理想 发表于 2015-3-17 09:09:23

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

若相依 发表于 2015-3-24 05:10:08

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
页: [1]
查看完整版本: MSSQL网站制作之sql server逝世锁的成绩