1、同样的两台机器(软件相同), win2003 sp1 + sqlserver 2000+sp4,但是为怎么一台机器A的sqlserver企业管理器可以管理另一台机器B上的sqlserver2000, 反过来B则提示找不到sqlserver服务器A,why ,难道我在安装sqlserver 的时候又怎么设置不同吗?
2、asp.net开发,在A机器上作web服务器,修改web.config文件,分别利用机器A or B 作为数据库服务器,数据库指向A则 web 程序功能完全正常,指向另外一台B 则在调用某些存储过程的时候报错题示信息是
   2005-12-29 2:21:46System.Data.SqlClient.SqlException: 当前命令发生了严重错误。应放弃任 何可能产生的结果。
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at UDS.Components.Database.RunProc(String procName, SqlParameter[] prams) in 
而且该存储过程使用相同的传入值在查询分析其中功能正常!!!真实欲哭无泪,后来又将数据库架装在其他的服务器上,存储过程调用还是出错,只有A正常,sqlserver 又怎么诡异的设置,请高手指点。
  解决问题立刻散分!

解决方案 »

  1.   

    在调用非本地SQL Server的时候,你需要注意用户的权限分配..有些系统表是必须具有sa管理权限才可以使用的..你可以分配给你调用的表一个完全的权限..使其具有操作的权限
      

  2.   

    查看SQL的1433端口是否打开,因为1433端口不打开,可能会连不上服务器。
    还有就是是不是有管理服务器的权限。
      

  3.   

    后来通过检查程序,察看了sqlserver的错误日志,发现是给存储过程传值的时候,变量的长度设置过大导致的错误,真是不知道为什么有一台机器没有抱错,真是害人,总是找sqlserver的问题,防火墙的问题,后来将字符串的变量改小后,问题没了,
    如将 MakeInParam("@str",   SqlDbType.VarChar,6000, str) 中的6000改为4000就可以了