最近sqlserver由7.0升级为sqlserver2000程序每天出现多次死锁现象, 以前在sqlserver7上很少出现,请高手帮忙啊,前台程序是PB编写的,可以肯定前台程序不会有问题

解决方案 »

  1.   

    一、升级DB版本的同时,建议相应的调整硬件配置。针对近期的升级,建议升级顾问尝试更新到MSSQL2008企业版。二、仍用mssql2000,查明死锁原因,进一步调整。
      

  2.   

    引起死锁的命令涉及的表很多,没有规律,大多数是select命令,基本没有insert ,update,delete命令, 有时select的表是根本不用更新的表我在想引起死锁会不会网络的问题啊,有好几次都是有内外网可以同时访问的电脑引起的
      

  3.   

    软硬件环境是:IBM四核内存8g的服务器,win2003+mssql2000(sp4),数据库大小是600M
      

  4.   

    如果都是select,首先会引起阻塞。网络环境的影响较小。--建议在升级DB后,重建索引,更新统计信息。
      

  5.   

    做好数据库备份工作。一、使用 sp_updatestats 存储过程可以更新 SQL Server 数据库中用户定义的表中的统计信息。如果从 SQL Server 2005 升级,则不必执行此步骤。
    USE db_name
    GO
    DBCC UPDATEUSAGE (db_name) WITH NO_INFOMSGS; 
    GO
    二、对所有数据库运行 DBCC UPDATEUSAGE 来更正任何不正确的行或页计数。
    USE db_name
    GO
    EXEC sp_updatestats 
      

  6.   

    数据库连接时加上一句:sqlca.lock='RU'
    死锁就没有再出现过,只能先这样运行了,问题是解决了,可总感觉不踏实,到底是什么原因?
    是不是mssql2000中select命令加锁要比sql7.0更严啊?
    请高手分析一下!!