解决方案 »
- 表中联合主键的问题
- 求重复记录查询的SQL语句,急!
- 问大家一个关于SQL SERVER 2008数据库的存储问题
- 在线等~~SQL语句疑问
- 再问大家个触发器的问题
- sql_server中怎样用存储过程来执行DTS
- 请问如何在sql2005 创建数据库登陆用户
- 有关机器改名或改地址(按大力的方法不能做)why??
- 请Chiff前来领分1
- 十万火急的问题,关于还原数据库的问题,我现在的备份有3.86G,然后做还原操作时,提示磁盘空间不足!
- ADODB.Recordset 错误 '800a0e7d' 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。 /Conn.asp,行 71
- 提示商品已经成功放入背包,但SQL数据库中没有被写入
客户端执行时间 10:34:49
查询配置文件统计信息
INSERT、DELETE 和 UPDATE 语句的数目 4 4.0000
INSERT、DELETE 或 UPDATE 语句影响的行数 1 1.0000
SELECT 语句的数目 2 2.0000
SELECT 语句返回的行数 2 2.0000
事务数 4 4.0000
网络统计信息
服务器往返的次数 3 3.0000
从客户端发送的 TDS 数据包 3 3.0000
从服务器接收的 TDS 数据包 10 10.0000
从客户端发送的字节数 302 302.0000
从服务器接收的字节数 31489 31489.0000
时间统计信息
客户端处理时间 3 3.0000
总执行时间 15 15.0000
服务器应答等待时间 12 12.0000
先看表大不大,不大先把所有索引重建,很多问题都是因为索引失效导致的表大就先看执行计划是否有异常,没有异常就建立trace捕捉update的时候有没有其他操作这个表的事务
使用到索引了,就建立trace,捕捉目前运行的脚本,包含这个表的所有脚本,然后就是水磨功夫,一个一个找罗
看看这些进程是否执行时间很长,是否大事务,是否没使用with(nolock)
SELECT TOP 5 * FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC --现在执行
-- 试试这个用多长时间,如果也是 20 多秒的话,再看执行计划
-- 如果这个很快的话,看看有没有新增的 TR ,或现有的 TR 。
select * from da_gr_hxda where grbjh='P04419820hd'
1、
LAZYWRITER_SLEEP 698990 191808112 22986575 22526
LCK_M_S 10033 88758250 119933 1575
SQLTRACE_BUFFER_FLUSH 12066 48183124 4009 0
LCK_M_IX 540 12753003 119980 93
SOS_SCHEDULER_YIELD 50780881 8149071 46 81487432、0x0000000004612478 16 0 48343555 ONDEMAND_TASK_QUEUE 0x00000000032CCA30 NULL NULL NULL NULL
0x000000000466C328 15 0 48342526 BROKER_TRANSMITTER NULL NULL NULL NULL NULL
0x0000000019A4E328 19 0 48342526 BROKER_TRANSMITTER NULL NULL NULL NULL NULL
0x0000000020A9E5C8 NULL NULL 48342526 THREADPOOL NULL NULL NULL NULL threadpool id=scheduler209d0080
0x0000000020A9E718 NULL NULL 48342526 THREADPOOL NULL NULL NULL NULL threadpool id=scheduler209d0080
从他执行这个UPdate引发了4行受影响可以看出,他应该有触发器代码,应该检查触发器代码里有哪句有问题