用服务器名登陆sql server,报错

因为要做对等事物复制,需要用数据库的server name登陆客户端来新建发布,然后就在客户端上的IP上右键-属性,找到 名称 - XXX,

然后用这个名称登陆之后,报错,后来想起这个数据库之前并不在这台电脑上,前端时间由于该服务器硬盘不够,所买的硬盘因格式跟该服务器不兼容,最后直接换了台服务器,并将数据库迁移到新的服务器上,然后修改了新的服务器的IP为之前的服务器的IP。估计因为这个原因造成了计算机名和数据库所识别的服务器名不相同。

在网上搜索之后,运行以下代码,

use master
go
select @@servername;
select serverproperty('servername')

发现上面两个值不一样,所以用 XXX 连接数据库的时候,会报错。

运行以下代码:

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

然后,重启sql server 服务(这个很重要!),然后就搞定了!

 

本人初级DBA,如有错误,请指正。

原文地址:https://www.cnblogs.com/bobozhu/p/3653519.html