前些日子,公司服務器硬盤直接掛了,後來爲了保證因此數據儘可能不丟失,因此採起了replication技術(這個在另外一篇博文《關於replication》)。 sql
公司服務器都是虛擬的,因此要建立多一個都是copy自其它服務器。這就會產生一個麻煩,sqlserver的名字和distributor都仍是以前服務器的。因此必須rename和刪除distributor。 服務器
起初,我覺得刪除舊的sqlserver名字,從新命名就能夠作replication。例如執行以下代碼: sqlserver
select @@servername
sp_dropserver 'WIN-TB64SEU3P19'
go
sp_addserver 'WIN-TB64SEU3P84','local'
go spa
可是當我作replication的時候一直都提示我沒發成功,由於不存在「WIN-TB64SEU3P84」。後來找資料才發現
.net
有一個distributor的實例必需要刪除,不然不會成功。 server
所以正確的步驟是: get
select @@servername
EXEC sp_dropdistributor @no_checks = 1--須要的時間會長點,耐心等待,當時我就是不夠耐心,因此又從新來過一次
sp_dropserver 'WIN-TB64SEU3P19'
go
sp_addserver 'WIN-TB64SEU3P84','local'
go
io
由於起初的這個問題弄得我又接近通宵(三個服務器) class