欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

修改sqlserver名字是存在distributor该如何

程序员文章站 2022-06-30 08:14:03
修改sqlserver名字是存在distributor该如何   前些日子,公司服务器硬盘直接挂了,后来为了保证所以数据尽量不丢失,所以采取了replication技...

修改sqlserver名字是存在distributor该如何

 

前些日子,公司服务器硬盘直接挂了,后来为了保证所以数据尽量不丢失,所以采取了replication技术(这个在另一篇博文《关于replication》)。

 

公司服务器都是虚拟的,所以要创建多一个都是copy自其它服务器。这就会产生一个麻烦,sqlserver的名字和distributor都还是之前服务器的。所以必须rename和删除distributor。

 

起初,我以为删除旧的sqlserver名字,重新命名就可以做replication。例如执行如下代码:

 

select @@servername 

sp_dropserver 'win-tb64seu3p19'

go
sp_addserver 'win-tb64seu3p84','local'
go

 

 

但是当我做replication的时候一直都提示我没发成功,因为不存在“win-tb64seu3p84”。后来找资料才发现

有一个distributor的实例必须要删除,否则不会成功。

 

因此正确的步骤是:

 

select @@servername 

exec sp_dropdistributor @no_checks = 1--需要的时间会长点,耐心等待,当时我就是不够耐心,所以又重新来过一次
sp_dropserver 'win-tb64seu3p19'

    go
sp_addserver 'win-tb64seu3p84','local'
go

 

 

因为起初的这个问题弄得我又接近通宵(三个服务器)