SQL SERVER 2008 复制:复制创建快照文件时,发生: 由于发布服务器处于不活动状态,无法生成快照。...

本文介绍了解决SQL Server因发布服务器处于不活动状态而导致无法生成快照的问题。通过使用sp_helpdistpublisher检查发布服务器状态,并利用sp_changedistpublisher设置ACTIVE属性为TRUE来修复。

错误:

      异常类型: Microsoft.SqlServer.Replication.ReplicationAgentException 
      异常消息: 由于发布服务器处于不活动状态,无法生成快照。 
      消息代码: 54057

原因:

     通过 

     sp_helpdistpublisher [ [ @publisher=] 'publisher']
         [ , [ @check_user = ] check_user

     系统函数可以看到查询到发布服务器的相关属性,可以看到ACTIVE列的值为0,说明发布服务器处于不活动状态。

解决方法:

     通过

    sp_changedistpublisher [ @publisher = ] 'publisher'
    [ , [ @property = ] 'property' ]
    [ , [ @value = ] 'value' ]

     系统函数将发布的服务器的ACTIVE属性修改为TRUE,现在启动快照代理就没有问题了。

 

如下是SQL SERVER 的相关帮助文档

sp_helpdistpublisher相关说明:

 

返回使用分发服务器的发布服务器的属性。 此存储过程在分发服务器上对任何数据库执行。

列名 数据类型 说明

name

sysname

发布服务器的名称。

distribution_db

sysname

指定的发布服务器的分发数据库。

security_mode

int

复制代理连接到发布服务器进行排队更新订阅时所用的安全模式,或者用于非 SQL Server 发布服务器的安全模式。

0 = SQL Server 身份验证

1 = Windows 身份验证

login

sysname

复制代理连接到发布服务器进行排队更新订阅时的登录名,或者用于非 SQL Server 发布服务器的登录名。

password

nvarchar(524)

返回的密码(采用简单加密格式)。 对于非 sysadmin 用户,密码为 NULL。

active

bit

指示远程发布服务器是否将本地服务器用作分发服务器:

0 = 否

1 = 是

working_directory

nvarchar(255)

工作目录的名称。

trusted

bit

指示发布服务器连接到分发服务器时是否需要密码。 对于 Microsoft SQL Server 2005 及更高版本,此参数应始终返回 0,表示需要密码。

thirdparty_flag

bit

指示发布是由 SQL Server 启用还是由第三方应用程序启用:

0 = SQL Server、Oracle 或 Oracle 网关发布服务器。

1 = 已使用第三方应用程序将发布服务器与 SQL Server 集成。

publisher_type

sysname

发布服务器的类型;可以为下列值之一:

  • MSSQLSERVER

  • ORACLE

  • ORACLE GATEWAY

publisher_data_source

nvarchar(4000)

发布服务器中 OLE DB 数据源的名称。

 

转载于:https://www.cnblogs.com/wolfly/archive/2009/03/21/1418534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值