当前位置: 首页 > news >正文

[解决方案]sql server复制需要有实际的服务器名称才能连接到服务器

原文: [解决方案]sql server复制需要有实际的服务器名称才能连接到服务器

  在配置数据同步的时候,要求相互同步的两台机器的数据库必须通过默认实例名称进行连接。如果你的默认实例已经删掉了,在当前实例上进行新建发布操作时候,会提示你:“由于未在SqlServer的此实例上安装复制组件,Microsoft SQL server 无法访问这些组件,请参阅SQL Server……”

  注意下面还有一个附加的提示,它的意思就是说默认实例名和当前的实例名称不一致。其实这个才是导致不能复制的主要原因。把它解决了,你就可以进行复制了。

  产生的原因是因为安装完SqlServer之后,又修改了计算机的名称。

解决“SqlServer复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、Ip地址或任何其他备用名称进行连接。”
  
  一:首先看一下,你的默认实例名称和当前的实例名称是否一致,我们在SqlServer2005 Management Studio中新建查询

SELECT @@SERVERNAME,SERVERPROPERTY('SERVERNAME')

可以看到查询出来两个不同的结果,说明当先运行的实例不是默认实例。可以通过以下方法将当前运行的实例改为默认实例。

 解决方法一:

USE master   
GO
-- 设置两个变量   
DECLARE @serverproperty_servername varchar(100),@servername varchar(100)   
-- 取得Windows NT 服务器和与指定的 SQL Server 实例关联的实例信息   
SELECT @serverproperty_servername=CONVERT(varchar(100), SERVERPROPERTY('ServerName'))   
-- 返回运行 Microsoft SQL Server 的本地服务器名称   
SELECT @servername=CONVERT(varchar(100), @@SERVERNAME)   
-- 显示获取的这两个参数   
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的   
--删除错误的服务器名   
EXEC sp_dropserver @server=@servername
--添加正确的服务器名   
EXEC sp_addserver @server=@serverproperty_servername, @local='local'

解决方法二:

  由于需要需要配置一个发布订阅,可是一直报告:" sql server 复制需要有实际的服务器名称才能连接到服务器,不支持通过别名、ip地址或其他任何备用名称进行连接。请指定实际的服务器名称“xxxx”(Replication Utlities)。"
       经过一番分析发现是在安装完sql server 后修改过机器名称,运行下面两条语句既可以看出来:

use master
go
select @@servernameselect 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')

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

 

 

 

 

相关文章:

  • 远程管理防火墙一
  • 用yarn替代npm
  • spring boot 整合apache shiro
  • linux用户操作
  • python 遍历本地文件
  • ShaderForge插件分享
  • eclipse不能正常启动
  • ReSharper2017.3的列对齐、排版格式、列对齐错误的修复
  • Vue.js 案例资料汇总
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 软件架构系列二:Clean架构
  • mysql varchar最大长度问题
  • RabbitMQ 高可用集群搭建及电商平台使用经验总结
  • pandas Dataframe['A']与Dataframe[['A']]的区别
  • VS2010 c++生成和调用dll例子(转载)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 2018一半小结一波
  • C# 免费离线人脸识别 2.0 Demo
  • ES6语法详解(一)
  • ESLint简单操作
  • ES学习笔记(12)--Symbol
  • Git的一些常用操作
  • JS变量作用域
  • LeetCode29.两数相除 JavaScript
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python_OOP
  • TCP拥塞控制
  • v-if和v-for连用出现的问题
  • vue学习系列(二)vue-cli
  • Web Storage相关
  • 安装python包到指定虚拟环境
  • 编写符合Python风格的对象
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 浮动相关
  • 如何设计一个比特币钱包服务
  • 三分钟教你同步 Visual Studio Code 设置
  • 深入浏览器事件循环的本质
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 首页查询功能的一次实现过程
  • 思否第一天
  • 微信小程序--------语音识别(前端自己也能玩)
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)库存超卖案例实战——优化redis分布式锁