SQL Server发布订阅异常处理

 
语句强制删除发布
EXEC sp_removedbreplication 'WR_YK1';  --- 引号里是发布数据库名称

 

 

SQL2008发布订阅报错“进程无法在WIN-SERVER 上执行 sp_replcmds”

执行以下SQL脚本

首先执行

 ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [sa]

 ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [SQL登录用户名]

然后执行

  USE 数据库名 
  GO

  sp_changedbowner 'SQL登录用户名'

最后执行

EXEC sp_repldone @xactid =NULL, @xact_segno =NULL, @numtrans = 0, @time =0, @reset =1

EXEC sp_replflush

如果还是不可以, 重启SQL Server Agent服务。

 

修改机器名后

--查看当前数据库服务器名称:

select @@ServerName

--查看当前服务器名称
select serverproperty('servername')

--修改数据库服务器名称
sp_dropserver 'old_servername'
sp_addserver 'new_servername','local'

--重启数据库服务,修改完成

--安全性->登陆名->右键,新建登陆名->选择Windows身份验证

 

select @@servername;
      select serverproperty('servername')

如果这两个结果不一致,说明机器改过名字,在配置复制的时候就会报上面的错误。

     --要修复此问题   
     --执行下面的语句,完成后重新启动SQL服务   
    
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

      

最后别忘了重新启动服务哦,启动完后,在运行:

      use master

      go

      select @@servername;
      select serverproperty('servername')

 

 

发布订阅 新建发布结束时候提示 distributor_admin 登录失败

曾经有做过发布订阅,分发服务器已经产生此用户,在分发服务器上将此用户的密码策略取消即可。

 

posted @ 2019-05-24 15:47  ZHOUZC  阅读(1407)  评论(0编辑  收藏  举报