主机更名带来的问题

解决主机更名导致的不一致问题

SELECT @@ServerName,SERVERPROPERTY('ServerName')
IF @@SERVERNAME <> SERVERPROPERTY('ServerName') 
BEGIN 
    DECLARE @srvname sysname 
    SET @srvname = @@SERVERNAME 
    EXEC sp_dropserver @server = @srvname 
    SET @srvname = CAST( SERVERPROPERTY('ServerName') as sysname) 
    EXEC sp_addserver @server = @srvname , @local = 'LOCAL' 
END

注意,必须重启 SQL Server 服务才会生效。

遇到的问题

  • 问题1:执行 exec sp_dropserver 'oldserver' 报如下错误:
  /* 消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行
     仍有对服务器 'xxxx' 的远程登录或链接登录 */
  • 解决1:删掉 [安全性\登录名] 下对老机器仍有关联的登录名
use master 
DROP LOGIN distributor_admin
  • 问题2:执行 exec sp_dropserver 'oldserver' 报如下错误:
  /* 消息 20582,级别 16,状态 1,过程 sp_MSrepl_check_server,第 32 行
     无法删除服务器 'xxxx',因为该服务器用作复制过程中的发布服务器 */
  • 解决2:禁用分发和发布
use master 
exec sp_dropdistributor @no_checks = 1
Copyright © www.sqlfans.cn 2021 - 2026 All Right Reserved更新时间: 2026-08-31 11:45:46

results matching ""

    No results matching ""