如何配置复制? - 此数据库未启用发布

时间:2010-03-09 09:36:38

标签: sql-server sql-server-2005 replication

我正在尝试在SQL Server 2005上配置复制。我可以使用向导来完成。但是,当我尝试通过此向导运行生成的脚本时,将显示错误消息:

Msg 14013, Level 16, State 1, Procedure sp_MSrepl_addpublication, Line 159
This database is not enabled for publication.
Msg 18757, Level 16, State 1, Procedure sp_MSrepl_addpublication_snapshot, Line 66
Unable to execute procedure. The database is not published. Execute the procedure in a database that is published for replication.
Msg 14013, Level 16, State 1, Procedure sp_MSrepl_addarticle, Line 168
This database is not enabled for publication.
Msg 14294, Level 16, State 1, Procedure sp_verify_job_identifiers, Line 25
Supply either @job_id or @job_name to identify the job.

这有点奇怪,因为当我在数据库中运行此查询时,我点击然后删除了出版物,每一个进展顺利。问题是当我在新数据库上使用我的查询时。 更重要的是我正在使用sp_replicationdboption存储过程。当我试着运行它时,它说:

数据库publish的复制选项ReplicationTest00已设置为true。

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:3)

我假设您已为复制拓扑配置了分发服务器?

关于复制的建议,不要通过向导执行步骤。

无论如何,使用向导创建配置选项,而不是在最后执行,编写步骤。这样,您就可以在T-SQL表单中获得完整的配置记录,并手动对所提供的代码进行修改/调整。

答案 1 :(得分:1)

好的,我找到了解决这个问题的方法。 我想在整个sql server的上下文中运行snapshor复制脚本,这会产生上面的错误消息。

当我以数据库的形式运行我的脚本时,它用作分发器的复制,它完美地工作。 :)

答案 2 :(得分:1)

在运行脚本之前包括 使用[publication_db_name]

这将设置数据库的上下文