07 2011 档案
找出性能差的语句
摘要:1 找出效率低的语句 SELECTTOP10qs.total_worker_time,qs.total_logical_reads,qs.last_logical_writes,qs.plan_handle,qs.execution_count,(SELECTSUBSTRING(text,qs.statement_start_offset/2+1,(CASEWHENqs.statement_end_offset=-1THENLEN(CONVERT(nvarchar(max),text))*2ELSEqs.statement_end_offsetEND-qs.statement_start_o. 阅读全文
posted @ 2011-07-27 15:15 stswordman 阅读(677) 评论(1) 推荐(0) 编辑
一个单表死锁的示例
摘要:准备数据,插入1w条数据 create table locktest(id int primary key identity(1,1))gobegin traninsert locktest default valuesgo 10000commit 执行顺序如下,在第三部的时候会出现死锁 执行顺序 session1 session2 1 begin trandelete from locktest where id=2 2 set transaction isolation level repeatable readbegin transelect * from locktest where 阅读全文
posted @ 2011-07-19 12:48 stswordman 阅读(753) 评论(1) 推荐(1) 编辑
DDL Trigger
摘要:create TRIGGER indexTrigger ON ALL SERVER --FOR DROP_INDEX ,ALTER_INDEX,create_indexFOR DROP_INDEXAS declare @original_login sysname ,@login_name sysname,@user_name sysname,@eventtype nvarchar(100),@commandText nvarchar(max),@dbname sysnameselect @original_login=ORIGINAL_LOGIN(),@login_name=SUSER_NA 阅读全文
posted @ 2011-07-14 16:20 stswordman 阅读(313) 评论(0) 推荐(0) 编辑
DistributionDB过大的原因
摘要:1 同一个发布库的对象被多个发布包(n)所包含,导致产生了n倍的数据 在发布库执行下面的语句,会返回被多次发布的对象 select objid,count(*) from sysarticles group by objid having(count(*)>1) order by COUNT(*) desc 2 distribution cleanup job停止工作,导致MSrepl_commands和MSrepl_transactions数据无法被清除 3 发布库中的任意一个发布的匿名订阅属性/立即初始化属性为true,这会导致全部的数据在max retention到达之前无法被删除 阅读全文
posted @ 2011-07-07 17:05 stswordman 阅读(734) 评论(0) 推荐(1) 编辑