我先是装了一台虚拟机Win2003, 然后 重命名为 Win2003MSSQL05A
然后装上 SQL Server2005 打上SQLServer SP4 RTM 补丁
然后用虚拟机完整 克隆 两台,把计算机名 分别命名为
Win2003MSSQL05B、Win2003MSSQL05C
然后重启
分别在三台 SQLServer 上 新建一个名为Test 的数据库,做复制的实验
现在开始做复制配置
把 Win2003MSSQL05A 配置为 发布服务器
然后把 Win2003MSSQL05B 配置为 订阅服务器,这时候开始报错:
也就是说,我更改了计算机名称,而SQLServer 里面仍然记录的是老的计算机名称
怎么修改呢????
由于需要需要配置一个发布订阅,可是一直报告:" sql server 复制需要有实际的服务器名称才能连接到服务器,不支持通过别名、ip地址或其他任何备用名称进行连接。请指定实际的服务器名称“XXX”(Replication Utlities)。"
解决办法:
1、 查看计算机名
use master
go
select @@servername
select serverproperty('servername')
输出结果如图:
前后计算机名称不一致,说明计算机被修改过名称
2、修复问题,使用命令语句
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
3、 重启数据库服务
4、 查看修复后的计算机名
use master
go
select @@servername
select serverproperty('servername')
5、 说明修复成功,运行订阅,成功!!!