我正在尝试在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。
请帮我解决这个问题。
答案 0 :(得分:3)
我假设您已为复制拓扑配置了分发服务器?
关于复制的建议,不要通过向导执行步骤。
无论如何,使用向导创建配置选项,而不是在最后执行,编写步骤。这样,您就可以在T-SQL表单中获得完整的配置记录,并手动对所提供的代码进行修改/调整。
答案 1 :(得分:1)
好的,我找到了解决这个问题的方法。 我想在整个sql server的上下文中运行snapshor复制脚本,这会产生上面的错误消息。
当我以数据库的形式运行我的脚本时,它用作分发器的复制,它完美地工作。 :)
答案 2 :(得分:1)
在运行脚本之前包括 使用[publication_db_name]
这将设置数据库的上下文