本机上,执行这个SQL语句,数据库表中大概不到一万条数据(另一个只有两千多数据的表执行的狠正常):SELECT DISTINCT 
      dbo.fmerg(JCRYear, Title, ISSN, TotalCites, ImpactFactor, ImmediacyIndex, Articles, 
      CitedHalfLife) AS Subject, JCRYear, Title, ISSN, TotalCites, ImpactFactor, 
      ImmediacyIndex, Articles, CitedHalfLife
FROM tblScienceJCR自定义函数fmerg:
CREATE FUNCTION fmerg(@JCRYear nvarchar(4),@Title nvarchar(1000),@ISSN nvarchar(50),@TotalCites nvarchar(50),@ImpactFactor nvarchar(255),@ImmediacyIndex nvarchar(255),@Articles nvarchar(1000),@CitedHalfLife nvarchar(50)) RETURNS nvarchar(8000) 
AS BEGIN DECLARE @str nvarchar(8000)
SET @str = ''
          SELECT @str = @str + ',' + Subject 
        FROM tblScienceJCR
        WHERE JCRYear = @JCRYear and Title=@Title and ISSN=@ISSN and TotalCites=@TotalCites  and ImpactFactor=@ImpactFactor and ImmediacyIndex=@ImmediacyIndex and Articles=@Articles and CitedHalfLife=@CitedHalfLife
SET @str = RIGHT(@str, len(@str) - 1) RETURN (@str) END

解决方案 »

  1.   

    这种问题,第一就是要检查网络是否畅通,第二就要查查杀杀Vius.
      

  2.   


    三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,
    不过是由于连接的时间大于允许的时间而导致出错.
    这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,
    并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.
    默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,
    而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:
    企业管理器中的设置:
    1.在企业管理器中,选择菜单上的"工具",再选择"选项"
    2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡
    3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20.查询分析器中的设置:
    工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字