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

 一:首先看一下,你的默认实例名称和当前的实例名称是否一致。

 
--@@SERVERNAME指的是你登录的实例名,SERVERPROPERTY('SERVERNAME')指的是实例创建时添加的实例名
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'
 
执行完之后一定要重新启动SQLSERVER服务
然后再查看实例名是否一致:
 
use master
go
select @@servername;
select serverproperty('servername')
 

    相关文章

评论

发表新评论

此内容将保密,不会被其他人看见。
点击刷新验证码
  • 可用的 UBB 标签:
  • 留言最长字数:1000。