码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer 由于未在SqlServer的此实例上安装复制组件解决方法

时间:2015-03-17 10:22:16      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

sqlserver2005在复制订阅时出现:  

  “由于未在SqlServer的此实例上安装复制组件,Microsoft SQL server 无法访问这些组件,请参阅SQL Server……”

解决方法:

  由于需要需要配置一个发布订阅,可是一直报告:" sql server 复制需要有实际的服务器名称才能连接到服务器,不支持通过别名、ip地址或其他任何备用名称进行连接。请指定实际的服务器名称“xxxx”(Replication Utlities)。"

       经过一番分析发现是在安装完sql server 后修改过机器名称,运行下面两条语句既可以看出来:

       use master

      go

      select @@servername;
      select serverproperty(‘servername‘)

如果这两个结果不一致,说明机器改过名字,在配置复制的时候就会报上面的错误。

     --要修复此问题  
     --执行下面的语句,完成后重新启动SQL服务  
   
  if   serverproperty(‘servername‘)   <>   @@servername  
         begin  
             declare   @server   sysname  
            set   @server   =   @@servername   
            exec   sp_dropserver   @server   =   @server  
            set   @server   =   cast(serverproperty(‘servername‘)   as   sysname)  
            exec   sp_addserver   @server   =   @server   ,   @local   =   ‘LOCAL‘  
        end

      

最后别忘了重新启动服务哦,启动完后,在运行:

      use master

      go

      select @@servername;
      select serverproperty(‘servername‘)

  一切正常,复制也能用了!

  以上是引用其他网友的,按以上方法设置好后,还是一样的提示

解决办法:

  在连接数据库时不要使用IP地址方式,在服务器名称输入计算机名称即可

 

  

  

SqlServer 由于未在SqlServer的此实例上安装复制组件解决方法

标签:

原文地址:http://www.cnblogs.com/slwangzi/p/4343531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!