[解决方案]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 @@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复制需要有实际的服务器名称才能连接到服务器的更多相关文章
- sql server 复制需要有实际的服务器名称才能连接到服务器(转载)
今天在做sql server 2005 复制的时候,提示复制需要有实际的服务器名称才能连接到服务器……的消息,一开始不知道什么意思!后来在网上查了一下才知道,原来是以前我把机器改过名 字.用selec ...
- SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...
- SQL Server复制需要有实际的服务器名称才能连接到服务器
服务器上安装的WIN2008 R2,然后没有在意机器名,安装了SQL2008 R2数据库之后,配置AD域的时候修改了机器名. 然后,开始配置数据库镜像同步的时候,先试了下数据库复制发布,结果提示“SQ ...
- "SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名"转
"SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名" 2014-06-12 12:01:10 最近在学习SQL SERVER的高级复制技术的时候 ...
- "SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名"
最近在学习SQL SERVER的高级复制技术的时候,遇到一个小问题,就是用本地SQL SERVER连接服务器的数据库时,在查看复制功能的发布服务器时,连接不上,弹出一个错误提示框架,如下:原来在自己本 ...
- 发布订阅--SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名
最近在学习SQL SERVER的高级复制技术的时候,遇到一个小问题,就是用本地SQL SERVER连接服务器的数据库时,在查看复制功能的发布服务器时,连接不上,弹出一个错误提示框架,如下: 原来在自己 ...
- SQL Server 2008及以上版本出现”SQL Server 复制需要有实际的服务器名称才能连接到服务器...“的问题解决
出现如下错误: 这是由于安装时的计算机名更改导致会出现如上的错误. 解决方法: 1.SQL方式: 1)先执行如下脚本,看下名称是否一致 use master go select @@servernam ...
- sql server 复制 需要有实际的服务器名称才能连接到服务器……
原因是:之前修改过服务器实例名称执行一下语句 select @@servername select SERVERPROPERTY ('servername') 可以看到,两个不同的结果 修改实例名称i ...
- 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?
转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...
随机推荐
- [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 ...
- 【codeforces 546B】Soldier and Badges
time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- [Ramda] Sort, SortBy, SortWith in Ramda
The difference between sort, sortBy, sortWith is that: 1. sort: take function as args. 2. sortBy: ta ...
- MKNetWorkKit的使用(1)
在整个程序中只有一个全局队列 MKNetWorkKit中主要有两个类,MKNetworkEngine和 MKNetworkOperation,MKNetworkOperation就是一个操作,是NSO ...
- 【MySQL案例】error.log的Warning:If a crash happens thisconfiguration does not guarantee that the relay lo
1.1.1. If a crash happens thisconfiguration does not guarantee that the relay log info will be consi ...
- tomcat添加跨域访问功能-Access-Control-Allow-Origin:*
目标:tomcat服务器提供的接口,不能在其他域中访问的时候,需要增 Access-Control-Allow-Origin:* 直接配置的方法很多,但是我一个没有成功过,所以只能自己写拦截器了. 1 ...
- C#步骤控件
C#开发step步骤条控件 现在很多的javascript控件,非常的不错,其中step就是一个,如下图所示: 那么如何用C#来实现一个step控件呢? 先定义一个StepEntity类来存储步骤 ...
- 使用CreateThread函数和_beginThreadex函数的注意事项
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用CreateThread函数创建线程时,类或结构体的变量作为CreateThread函数传递给线程函数的参数需要避 ...
- echarts的一些基础笔记
图表标题 title: { x: "left", // 水平安放位置,默认为左对齐,可选为: // 'center' ¦ 'left' ¦ 'right' // ¦ {number ...
- 【转】解决yum安装软件报Couldn't resolve host 'mirrorlist.centos.org问题
转自:http://blog.51cto.com/oldcat1981/1719825 今天在linux环境通过yum安装软件报了以下错误: [root@multi-mysql yum.rep ...