2010-03-09 390 views
3

我试图在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. 

这是一个有点奇怪,因为当我运行数据库查询这个地方我点击,然后取出出版,everyting是进展顺利。问题是当我在新数据库上使用我的查询时。 什么是我正在使用sp_replicationdboption存储过程。当我试着运行它时,它说:

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

请帮我解决这个问题。

回答

1

好的,我找到了解决这个问题的方法。 我正在运行在生成上述错误消息的整个sql server上下文中的快照复制脚本。

当我在用于复制的数据库的conctext中运行我的脚本作为分发器时,它完美地工作。 :)

+2

的情况下能否请您提供您如何在数据库的情况下运行脚本的示例,而不是server..becouse我面临同样的问题,我GOOGLE了很多,但米无法找到任何解决方案。请帮助 – vinay 2012-03-19 13:07:52

+1

@vinay它只是在脚本的顶部输入表达USE(数据库名称)GO。 – WendyDroid 2013-06-21 18:48:12

2

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

我对复制的建议,不要通过向导执行您的步骤。

尽一切可能,使用向导来创建您的配置选项,而不是在最后执行,脚本的步骤。通过这种方式,您可以在T-SQL表单中完整记录您的配置,并且手动对提供的代码进行修改/调整。

1

之前运行的脚本中使用 [publication_db_name]

这将设置数据库