MSSQL_ENG021798

适用于:SQL ServerAzure SQL 托管实例

消息详细信息

Attribute
产品名称 SQL Server
事件 ID 21798
事件源 MSSQLSERVER
组件 SQL Server 数据库引擎
符号名称
消息正文 在继续操作之前,必须通过 '%s' 添加 '%s' 代理作业。 请参阅 '%s' 的文档。

说明

要创建发布,您必须是发布服务器上的 sysadmin 固定服务器角色的成员或者发布数据库中的 db_owner 固定数据库角色的成员。 如果您是 db_owner 角色的成员,则发生以下情况将会引发此错误:

  • 从 SQL Server 2000 (8.x)运行脚本。 SQL Server 2005 (9.x)中的安全模式已更改,因此必须更新这些脚本。

  • 存储过程 sp_addpublication 在执行 sp_addlogreader_agent (Transact-SQL) 之前执行。 这适用于所有的事务发布。

  • 存储过程 sp_addpublication 在执行 sp_addqreader_agent (Transact-SQL) 之前执行。 这适用于为排队更新订阅启用的事务发布(sp_addpublication 的 @allow_queued_tran 参数的值为 TRUE)。

存储过程 sp_addlogreader_agentsp_addqreader_agent 各创建一个代理作业并允许您指定运行代理的 Microsoft Windows 帐户。 对于 sysadmin 角色中的用户,如果未执行 sp_addlogreader_agentsp_addqreader_agent ,则将隐式创建代理作业;代理在分发服务器上的 SQL Server 代理服务帐户的上下文中运行。 尽管 sp_addlogreader_agentsp_addqreader_agent 对于 sysadmin 角色中的用户不是必须的,但是为了安全起见,最好为代理指定单独的帐户。 有关详细信息,请参阅 复制代理安全模式

用户操作

请确保按正确的顺序执行过程。 有关详细信息,请参阅 Create a Publication。 如果有早期版本 SQL Server中的复制脚本,请更新这些脚本以使其包含 SQL Server 2005 (9.x) 及更高版本所需的存储过程和参数。 有关详细信息,请参阅 升级复制脚本 (复制 Transact-SQL 编程)

另请参阅

错误和事件参考(复制)