機器名與實例名不同,解決辦法
在執(zhí)行 exec sp_addlinkedserver 'DMGZSRV10' 的時候一直提示
消息 15190,級別 16,狀態(tài) 1,過程 sp_dropserver,第 56 行
仍有對服務器 'DMGZSRV10' 的遠程登錄或鏈接登錄。
又執(zhí)行
exec sp_dropserver 'DMGZSRV10', 'droplogins'
這時提示
下面是解決的方案
原始狀態(tài)
1、服務器名LC04 MSSQL實例名MSSQLSERVER
2、在LC04上建立了發(fā)布,在另一臺服務器上訂閱或者用SQLServer管理器遠程訪問LC04上的SQLServer,出現(xiàn)錯誤:
無法連接到 LC04。
-----------------------------
其他信息:
在建立與服務器的連接時出錯。在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接) (Microsoft SQL Server,錯誤: 53)
解決處理
將LC04的計算機名稱改為MSSQLSERVER與MSSQL實例名相同
此時狀態(tài)
SQLServer管理器遠程可以訪問LC04的數(shù)據(jù)庫,但不能訂閱,出現(xiàn)錯誤:
SQL Server 復制需要有實際的服務器名稱才能連接到服務器。不支持通過服務器別名、IP 地址或任何其他備用名稱進行連接。請指定實際的服務器名稱“LC04”。 (Replication.Utilities)
解決處理
在LC04(現(xiàn)在應當名為MSSQLSERVER)的服務器上,執(zhí)行如下代碼
SELECT @@SERVERNAME ,serverproperty('servername')
發(fā)現(xiàn)兩個不同,分別為LC04和MSSQLSERVER
執(zhí)行如下代碼
exec sp_droplinkedsrvlogin 'LC04',null
exec sp_dropserver 'LC04','droplogins'
exec sp_addserver 'MSSQLSERVER' , 'LOCAL'
出現(xiàn)錯誤
無法刪除服務器 'LC04',因為該服務器用作復制過程中的發(fā)布服務器。 (Microsoft SQL Server,錯誤: 20582)
解決處理
select * from msdb.dbo.MSdistpublishers
DELETE FROM msdb.dbo.MSdistpublishers
select * from msdb.dbo.MSdistpublishers
exec sp_droplinkedsrvlogin 'LC04',null
exec sp_dropserver 'LC04','droplogins'
exec sp_addserver 'MSSQLSERVER' , 'LOCAL'
重啟SQLServer服務
設置發(fā)布服務器屬性,發(fā)現(xiàn)發(fā)布服務器的服務器名還是為LC04,造成發(fā)布執(zhí)行錯誤:
在建立與服務器的連接時出錯。在連接到 SQL Server 2005 時,在默認的設置下 SQL Server 不允許進行遠程連接可能會導致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接) (Microsoft SQL Server,錯誤: 53)
使用 exec sp_helpserver
發(fā)現(xiàn)name為repl_distributor的服務器的network_name還是LC04
解決處理
執(zhí)行exec sp_setnetname 'repl_distributor','MSSQLSERVER'
再次設置發(fā)布服務器,并發(fā)布,完成
實際上在SQLServer和其他應用中還有可能用到原有的數(shù)據(jù)庫名LC04
可以建立SQLServer的新別名為LC04,這樣基本上都可以解決了