半夜求助 OLE DB 查询超时

  • o
    opensesame
    一句 select * into [table] from .....
    插入20w条记录,本来本地执行也是超时,后来改成先插入临时表,就解决了
    但是服务器上问题依旧

    超时的时间是30秒,不知道哪里改,这句话在web上执行就超时,在查询器里不会,iis已经改成30分钟了,不是iis的conn超时
    就是
    Microsoft OLE DB Provider for SQL Server (0x80040E31)
    查询超时已过期


    百度 Google查了一晚上了,也没找到方法

    百思不得解,查询器里只要33秒就完了,这个30秒到底是哪里限制的
  • l
    lakeshore
  • e
    eistein
    绑定。。我最近连阿里云查一个简单的select top 10 * from,结果五六分钟还出不来。
  • o
    opensesame
    谢谢,
    2L的方法试过没用,我本机之前不知道自己改了什么就不会超时了,服务器上改来改去都没办法。
    我的数据源是excel,后来发现只要数据分多个sheet就好了,每个sheet里的数执行时间不超过30秒。我怀疑这个和sql server也没关系,是连接excel的Microsoft.ACE.OLEDB.12.0的原因,但是也不知道怎么改在conn里加了timeout一样没效果
  • o
    opensesame
    这个就不懂了阿里云的esc
  • 猪头大哥
    You can't do without transaction logs in SQL Server, under any circumstances. The engine simply won't function.

    You CAN set your recovery model to SIMPLE on your dev machines - that will prevent transaction log bloating when tran log backups aren't done.

    ALTER DATABASE MyDB SET RECOVERY SIMPLE;
  • o
    opensesame
    谢谢大哥,问题依旧
  • 猪头大哥
    先确认 本地 服务器 所用 dll 版本是否一直

    然后可以在服务器上 打开 sql profile 监控sql server 端的执行情况

    如果监控显示 sql server 执行时间长 那就是 sql server 问题了

    就要检查 服务器内存 硬盘空间 磁盘读写速度等

    先确认问题点是服务器问题 还是驱动问题 还是IIS 问题吧