实验环境:
1) SQL Server 2005 x64
2) Windows 2003 Server x64
3) 两台服务器,没有用windows域。所以在两台服务器上都建立了一模一样的windows管理员帐号admin,密码也相同。
4) SQL Server Agent的帐户采用相同帐户admin。
5) 需要复制的的包括两张表Agency_Employee和 Agency_branch。这两张表都有一个自增字段作为主键。每张表的实际记录条数不超过8000条。规模并不大。------------------------------遇到的错误消息如下
错误消息:
进程无法向表“"dbo"."Agency_Employee"”进行大容量复制。 (源: MSSQL_REPL,错误号: MSSQL_REPL20037)
获取帮助: http://help/MSSQL_REPL20037
成批发送失败
查询已取消,因为此查询的估计开销(7803578)超出了配置的阈值 60000。请与系统管理员联系。 (源: MSSQLServer,错误号: 8649)
获取帮助: http://help/8649
若要获取详细说明初始化订阅表时所遇到的错误的错误文件,请执行在下面显示的 bcp 命令。有关该 bcp 实用工具及其支持的选项的详细信息,请参阅 BOL。 (源: MSSQLServer,错误号: 20253)
获取帮助: http://help/20253
bcp "dooiooerp"."dbo"."Agency_Employee" in "\\Web\repldata\unc\WEB_DOOIOOERP_ERP_REPL\20110914210278\Agency_Employee_3#1.bcp" -e "errorfile" -t"\n<x$3>\n" -r"\n<,@g>\n" -m10000 -SFY-DB -T -w (源: MSSQLServer,错误号: 20253)
获取帮助: http://help/20253

解决方案 »

  1.   

    此查询的估计开销(7803578)超出了配置的阈值 60000。
    在SSMS中点服务器-->属性-->内存,可设置最大服务器内存.
    不过,你的开销太大了,估计不行,或许你的查询语句有问题.
      

  2.   

    http://technet.microsoft.com/zh-tw/library/aa337374(SQL.90).aspxMSSQLSERVER_8649新增: 2006 年 7 月 17 日 
      詳細資料 
    產品名稱
     SQL Server
     
    產品版本
     9.0
     
    產品組建編號
     9.00.1281.60
     
    事件識別碼
     8649
     
    事件來源
     MSSQLSERVER
     
    元件
     SQLEngine
     
    符號名稱
     COST_TOO_HIGH
     
    訊息文字
     查詢已經取消,因為這個查詢 (%d) 的預估成本超過了設定的臨界值 %d。請連絡系統管理員。
       說明 
    由於查詢的預估成本超過了 QUERY_GOVERNOR_COST_LIMIT 設定的臨界值,因此已經取消查詢。  使用者動作 
    將 QUERY_GOVERNOR_COST_LIMIT 選項設定成較高的值。
      

  3.   

    进程无法向表“"dbo"."Agency_Employee"”进行大容量复制。
    --> 一般处理方法是初始化复制(必须的),重新产生快照然后同步数据.查询已取消,因为此查询的估计开销(7803578)超出了配置的阈值 60000。
    --> 在SQL 2005复制的配置里有很多参数,找一下哪个刚好是60000的,修改大一些.
        怀疑此错误应跟数据有关,复制的表里是否含有text型或什么大对象的字段?
      

  4.   

    不含text / image / blob 等类型的字段。另外,我在网上看到有人说,可能是varchar的原因。我又把varchar改成nvarchar,试了也不行,同样的错误。但是这回查询的估计开销不一样了不知道这个估计开销到底是啥玩意
      

  5.   

    在SQL Server Management Studio中,
    展开实例-->复制-->右键-->distributor properties-->Agent profiles
    -->profile defaults-->看哪个参数的值刚好是60000的,修改之.
      

  6.   

    终于搞定了。这个参数是服务器属性-->连接-->"使用查询调控器防止长时间运行"。设成0以后,就不受限制了。
    这个提示报的错来自订阅服务器上。我一直在发布服务器上查,怎么也没找到。当时还很纳闷。
    感谢以上诸位解答。