我写了一个windows标准服务程序,使用ado访问sql2000数据表,客户端发请求给此服务器端,告诉服务器段修改相关的表字段的结构,包括创建表、添加删除字段以及更改字段的类型和长度等,一个命令服务器可能执行多条修改sql语句。这个系统在sql2000下一直很稳定。后来客户刚刚要求更换win2008 64位企业版和sql2008R2,结果客户端总报错超时,查了服务器段的日志,是执行一条语句异常,异常信息就是超时。每次都是执行到此语句超时,如果在查询分析器里面,执行这条语句是正常的!我使用sa数据库用户连接,也是这个错误;又把服务器的启动名称使用了administrator也还是同样道理;后在网上查到要将“阻止保存要求重新创建表的更改”选项勾选去掉,但是问题依旧。我要崩溃了,大侠们,啥问题呢???

解决方案 »

  1.   

    我也遇到过,2000正常的语句在2008里总是超时,不过当初的sql确实执行时间有些长,修改了ado的超时时间也不行后来不得不优化sq语句,加入索引,利用临时表把一个sql语句拆分成多个执行解决的
      

  2.   

    我怀疑是不是sql2008有什么警告之类的设置问题导致,但是对sql2008不熟悉,所以还没找到问题所在
      

  3.   

    请问下sql2008针对sql2000或者sql2005中的锁,有什么不同的地方吗?
      

  4.   

    看看你ADO用的那个版本的驱动
      

  5.   

    用SQL2008的话,使用native client 10
    速度要比OLEDB块很多很多