计划重新创build快照和重新初始化订阅 – SQL 2005

每月我必须生成一个新的复制快照,并在SQL 2005中重新初始化订阅。我真的想自动化和安排这个,但我没有太多的运气发现如何。

不是数据库pipe理员,我几乎是在那里盲目地摸索,而且我绝对不想搞砸任何东西。 有什么想法吗?

如果我们知道它是什么types的复制,并且是推送订阅还是推送订阅,这将有所帮助。 我将在这里做一些大的假设,并说你使用以下,我认为最常见的复制设置:

  • 事务复制
  • 推订阅
  • 分销商运行在出版商

1.创build一个计划来创build数据库快照

如果您查看分销商的SQL代理作业,您应该看到一个名称如下所示的作业:
服务器名-DBNAME-publicationname-1
此外,它将在一个名为REPEL-Snapshot的类别中。

在设置复制时,您可以select按计划运行快照。 如果你select这样做的话,你应该看到这个时间表,否则你可能会看到一个一次性的时间表,在上次运行快照时没有启用。 单独留下这个时间表,并创build另一个你喜欢的。

2.重新认购订阅

这将为所有用户重新创刊。 您可以创build一个SQL代理作业来随时运行。 有关更多信息, 请查看msdn 。

exec sp_reinitsubscription @publication = 'publication_name', @subscriber = 'all' 

我不熟悉复制,所以记住这一点,但是如果您在对话框的左上angular看到一个脚本button,您可以保存该脚本,然后安排在作业中。

如果脚本function不可用,你可以求助于跟踪SSMS的活动,看看它在做什么 – 然后通过这个和文档来创build你的脚本。