原文:[解决方案]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 @@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')

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

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

  1. sql server 复制需要有实际的服务器名称才能连接到服务器(转载)

    今天在做sql server 2005 复制的时候,提示复制需要有实际的服务器名称才能连接到服务器……的消息,一开始不知道什么意思!后来在网上查了一下才知道,原来是以前我把机器改过名 字.用selec ...

  2. SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...

  3. SQL Server复制需要有实际的服务器名称才能连接到服务器

    服务器上安装的WIN2008 R2,然后没有在意机器名,安装了SQL2008 R2数据库之后,配置AD域的时候修改了机器名. 然后,开始配置数据库镜像同步的时候,先试了下数据库复制发布,结果提示“SQ ...

  4. "SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名"转

     "SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名" 2014-06-12 12:01:10 最近在学习SQL SERVER的高级复制技术的时候 ...

  5. "SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名"

    最近在学习SQL SERVER的高级复制技术的时候,遇到一个小问题,就是用本地SQL SERVER连接服务器的数据库时,在查看复制功能的发布服务器时,连接不上,弹出一个错误提示框架,如下:原来在自己本 ...

  6. 发布订阅--SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名

    最近在学习SQL SERVER的高级复制技术的时候,遇到一个小问题,就是用本地SQL SERVER连接服务器的数据库时,在查看复制功能的发布服务器时,连接不上,弹出一个错误提示框架,如下: 原来在自己 ...

  7. SQL Server 2008及以上版本出现”SQL Server 复制需要有实际的服务器名称才能连接到服务器...“的问题解决

    出现如下错误: 这是由于安装时的计算机名更改导致会出现如上的错误. 解决方法: 1.SQL方式: 1)先执行如下脚本,看下名称是否一致 use master go select @@servernam ...

  8. sql server 复制 需要有实际的服务器名称才能连接到服务器……

    原因是:之前修改过服务器实例名称执行一下语句 select @@servername select SERVERPROPERTY ('servername') 可以看到,两个不同的结果 修改实例名称i ...

  9. 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?

    转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...

随机推荐

  1. c# 安全队列

    using System;using System.Collections.Concurrent;using System.Collections.Generic;using System.Linq; ...

  2. 【27.22%】【poj2991】Crane

    Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5772   Accepted: 1571   Special Judge D ...

  3. [Ramda] Convert Object Methods into Composable Functions with Ramda

    In this lesson, we'll look at how we can use Ramda's invoker and constructNfunctions to take methods ...

  4. [Ramda] Difference between R.converge and R.useWith

    So what is Point-free function. Take a look this example: const getUpdatedPerson = (person) => R. ...

  5. 使用ant编译项目技能

    ant编译时指定jdk的版本号 系统的jdk版本号是1.6,而项目使用的jdk版本号是1.5.所以在编译时须要指定jdk的版本号为1.5,能够使用以下的方法为javac 任务指定fork和execut ...

  6. 【t076】竞赛排名

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某市组织了一次中学生科技全能竞赛,每个选手要参加数学.物理.化学.天文.地理.生物.计算机和英语共八项 ...

  7. hive character '' not supported here

    把在windows环境下编写的sql使用UTF-8无BOM保存后,再上传执行即可

  8. 在这里23种经典设计模式UML类图汇总

    创建型模式 1.FACTORY-追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说"来四个鸡翅"就 ...

  9. PAT练习题概览

    PAT(pat.zju.edu.cn)是一个面向 C/C++程序的 Online Judge 系统.相比 ZOJ,HDOJ,POJ 等 ACM 题库,PAT 的题目非常基础,对于数据结构.算法的入门是 ...

  10. IComparable与排序

    IComparable:一种特定于类型的通用比较方法,值类型或类通过实现此方法对特认定进行排序. IComparable的作用是提供了一种比较两个对象的特定类型的方法.这是必需的如果您想要为对象提供任 ...