Vah*_*iri 36 sql-server sql-server-2008-r2
当我想要创建新的发布或订阅时,我收到以下消息.
"Sql Server复制需要实际的服务器名称才能与服务器建立连接.不支持通过服务器别名,IP地址或任何其他备用名称进行连接.请指定实际的服务器名称"
有谁知道我该怎么办?
Vah*_*iri 46
我在以下链接中找到了解决方案http://www.cryer.co.uk/brian/sqlserver/replication_requires_actual_server_name.htm
感谢Brian Cryer的有用网站
引用链接以避免链接腐烂:
原因:
在原始安装SQL Server之后重命名的服务器上已观察到此错误,并且SQL Server配置函数@@SERVERNAME仍返回服务器的原始名称.这可以通过以下方式确认:
select @@SERVERNAME
go
这应该返回服务器的名称.如果没有,请按照以下步骤进行更正.
补救:
要解决此问题,需要更新服务器名称.使用以下内容:
sp_addserver 'real-server-name', LOCAL
如果这给出了一个错误,抱怨该名称已经存在,那么使用以下序列:
sp_dropserver 'real-server-name'
go
sp_addserver 'real-server-name', LOCAL
go
相反,报告的错误是"已经存在本地服务器".然后使用以下顺序:
sp_dropserver old-server-name
go
sp_addserver real-server-name, LOCAL
go
其中"old-server-name"是原始错误正文中包含的名称.
停止并重新启动SQL Server.
小智 31
还有另一种解决这个问题,这并不需要**sp_dropserver**,**sp_addserver**或者服务器重新启动.
脚步:
测试.在同一台计算机上运行Management Studio并尝试连接到服务器(将别名指定为服务器名称).
(可选)对于将使用Management Studio进行复制设置的所有客户端计算机,重复2 - 7.
就这样!
另一种解决方案是使用 SQL Server Management Studio 的附加参数来连接到该数据库。
为此,连接时,服务器名称将是您通过@@servername查询得到的服务器名称(或者错误消息提示您的名称),然后选择“选项>>”按钮
然后,在附加连接参数选项卡中,您可以添加数据库的当前名称
编辑:
但是,当您只能选择运行时,例如。Linux容器使用IP侦听器,那么你需要设置服务器名称,select @@servername然后设置SERVER='tcp:,',就像Shadman评论所说的那样。它会欺骗使用服务器名称连接到 IP。
简短回答:检查您是否通过SSMS连接错误的网络别名
例如,您的服务器可以同时访问:
创建复制发布/订阅时,它会与当时用于连接服务器的名称相关联,如果使用不同的别名或完全限定名称进行连接,则会为您提供问题所述的错误.
详细信息:我刚刚遇到这个问题,关于更改@@ servername的答案帮助我理解了这个问题,但我不必这样做.
考虑一下:
sql server框设置为{my_system_name} .local.domain
在我们的网络中,我们有一个网络别名,{my_system_alias}允许我们到达服务器并避免输入完全限定的域名(FQDN).
安装了Sql Server,并在使用{my_system_alias}名称连接时设置了本地复制发布.
然后我使用指定FQDN的SSMS连接到服务器,如果我右键单击此现有复制的属性 - >本地发布我得到错误:"Sql Server复制需要实际的服务器名称".
我所要做的就是:使用别名(或其他方式)重新连接到SSMS中的服务器,这样我就可以看到复制发布的详细信息.
PS:Phill在另一个答案中的评论也是另一种选择,使得主机文件条目与您需要用于连接的名称相匹配.
| 归档时间: | 
 | 
| 查看次数: | 73615 次 | 
| 最近记录: |