维护计划rebuild index job运行了n久,会是什么原因?

NewDBA 2008-06-25 04:09:58
是SQL Server 2000的,维护计划里面创建的维护计划, Optimization, Integrity Check, Backup database都有,但是时间是分开的,一般不冲突。

这样就有3个job要运行了,但是最近这一次,发现Optimization和Backup Database的运行时间都在20个小时以上。。。

查看了维护计划导出的report,发现其中一个数据库的Rebuild Index一共运行了22个小时,平时只要几秒钟或者几分钟。。。

不知道是不是因为这个,导致了接下去的Backup Database运行了21个小时(Backup在Optimization一个小时后运行)

但是再也查不出什么原因导致的这个re-index运行的这么久?我想表再大也不太会需要这么久吧,会有什么原因呢?该怎么修正呢?

不知道有没有人遇到过这样的,真怕下次再运行的时候还是这样,因为会影响其它的job,很危险啊。。。
...全文
105 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewDBA 2008-06-26
  • 打赏
  • 举报
回复
今天早上查看了sp_who,比昨天还多了20行。。。

可是我查看Activity Monitor里面,发现这些1000多行的同一个login,都是
Status Command Application
Sleeping awaiting command WebLogic JDBC driver 0329949等一串数字

但是我看login time,发现都是发生在rebuild index运行时间过长之后

这个这么多进程这样的状态是正常的么?因为我平时没注意这个,不知道以前怎么样的,而且这个进程还一直在增加,从开始发这个回贴到现在已经多了20多条了。
这些进程的login time都在那次事故之后,是不是说明不是这个引起的?那我还要另找原因。。。
NewDBA 2008-06-26
  • 打赏
  • 举报
回复
今天早上查看了sp_who,比昨天还多了20行。。。

可是我查看Activity Monitor里面,发现这些1000多行的同一个login,都是
Status Command Application
Sleeping awaiting command WebLogic JDBC driver 0329949等一串数字

但是我看login time,发现都是发生在rebuild index运行时间过长之后

这个这么多进程这样的状态是正常的么?因为我平时没注意这个,不知道以前怎么样的,而且这个进程还一直在增加,从开始发这个回贴到现在已经多了20多条了。
这些进程的login time都在那次事故之后,是不是说明不是这个引起的?那我还要另找原因。。。
NewDBA 2008-06-26
  • 打赏
  • 举报
回复
今天早上查看了sp_who,比昨天还多了20行。。。

可是我查看Activity Monitor里面,发现这些1000多行的同一个login,都是
Status Command Application
Sleeping awaiting command WebLogic JDBC driver 0329949等一串数字

但是我看login time,发现都是发生在rebuild index运行时间过长之后

这个这么多进程这样的状态是正常的么?因为我平时没注意这个,不知道以前怎么样的,而且这个进程还一直在增加,从开始发这个回贴到现在已经多了20多条了。
这些进程的login time都在那次事故之后,是不是说明不是这个引起的?那我还要另找原因。。。
hery2002 2008-06-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 NewDBA 的回复:]
我还不知道怎么看死锁。。
返回的1030行,大多是同一个login,而且是sleeping的。。不知道是不是不正常,要么去问问application的人了

数据库不大,大概2G多

如果这么多login都是sleeping这样连接着,就是说数据库正在运行,所以rebuild index就会这么慢?

如果可以找到原因就好了。。
[/Quote]
那这个应该是有问题的,只有2G多的数据,不至于这么慢的.
尝试单表rebuild 试试,
找一个数据量小的表试试,
如果没有问题的话,在尝试逐个单表rebuild,
看看哪些表比较慢,
然后检查一下这些表看看是否有异常.
nzperfect 2008-06-26
  • 打赏
  • 举报
回复
sp_who2 active 看blkby列是否有值
这个是看数据库是否有堵塞
NewDBA 2008-06-25
  • 打赏
  • 举报
回复
sp_who2怎么查看死锁或者阻塞或者任何不正常的情况啊?
NewDBA 2008-06-25
  • 打赏
  • 举报
回复
我还不知道怎么看死锁。。
返回的1030行,大多是同一个login,而且是sleeping的。。不知道是不是不正常,要么去问问application的人了

数据库不大,大概2G多

如果这么多login都是sleeping这样连接着,就是说数据库正在运行,所以rebuild index就会这么慢?

如果可以找到原因就好了。。
hery2002 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 NewDBA 的回复:]
不知道怎么看哎

这个事情已经是上周末的事情了,而且job运行完是成功退出的,只是运行时间过长,影响了其他的job

我现在用sp_who看了,不知道哪一列反映死锁的信息,但是一共返回1030行,大部分都是从一个application server连接到这个数据库的用户,用户名是同一个,因为我们不管application的情况,不知道这是不是正常的?
[/Quote]
如果重建正在运行的数据库,肯定会很慢,但是一共返回1030行,
连接和应用还是比较多的.
慢应该是正常的,
不过,要看慢到什么程度,你的数据库有多大?
NewDBA 2008-06-25
  • 打赏
  • 举报
回复
不知道怎么看哎

这个事情已经是上周末的事情了,而且job运行完是成功退出的,只是运行时间过长,影响了其他的job

我现在用sp_who看了,不知道哪一列反映死锁的信息,但是一共返回1030行,大部分都是从一个application server连接到这个数据库的用户,用户名是同一个,因为我们不管application的情况,不知道这是不是正常的?
utpcb 2008-06-25
  • 打赏
  • 举报
回复
死锁了吗 sp_who sp_who2看看

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧