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


    qlserver2005在复制订阅时出现:  

      “由于未在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地址方式,在服务器名称输入计算机名称即可

      以上是引用第二位网友的方案

    我自己试用后,得到的解决方法:

    其实按照第一位网友的方式执行后,还要用计算机名登录后,才不会报错。所以计算机名和数据库服务器名一致很重要。

  • 相关阅读:
    C#--SqlDependency监控数据库表的变化
    C#--尝试读取或写入受保护的内存,这通常指示其他内存已损坏。
    C#--lock线程锁
    C#--抽象类(转载)
    ArrayList源码分析
    多线程编程bug起源分析
    Linux-CentOS-Nginx安装
    记一次springMVC的跨域解决方案
    Linux下压缩工具gzip和归档工具tar及其实战shell应用
    Docker在Centos 7上的部署
  • 原文地址:https://www.cnblogs.com/AlexLeeLi/p/9295275.html
Copyright © 2020-2023  润新知