SQL Server 2008 复制(避免重新初始化)
-
05-07-2019 - |
题
我正在尝试确定是否有比我们当前的处理方式更好的方法来处理复制。
我们本质上是想确定两件事:
- 有没有办法将表中的现有列添加到复制中 无需重新初始化整体 出版
- 您能否只选择要重新初始化的特定文章而不是所有文章 出版物中的文章?
(我对复制有点陌生......试图加快速度,所以如果我的术语没有意义,我深表歉意)
目前我们有大约 30 个出版物,因此如果需要重新初始化任何出版物,影响也很小......因为我们的几张桌子都非常大。我们希望只发表几篇文章。
任何想法将不胜感激。
更新
当我们尝试向文章添加专栏时,我们会收到以下消息:
您更改了一个或多个 需要所有 要重新初始化的订阅。保存这些更改会标记每个 支持自动订阅 重新初始化 要重新初始化 从快照中,下次其 分发代理运行。您必须运行 快照代理,以生成 快照。
我们希望避免重新初始化所有订阅..我们正在使用事务复制...我们再次希望将现有列添加到现有发布中,而不必重新初始化所有订阅。
解决方案
什么样的复制?快照、合并、跨机构、点对点?
1)是的。看 对出版物数据库进行架构更改:
- 要向表中添加新列,并且 将该列包含在现有 发布,执行 ALTER TABLE 加。默认情况下, 然后将列复制到所有 用户。该列必须允许 NULL 值或包含默认值 约束。
- 要将现有列包含在 现有出版物、使用
sp_articlecolumn
(事务处理 SQL),sp_mergearticlecolumn
(Transact-SQL)、 或发布属性 - 對話方塊。
2) 这取决于复制类型。看 重新初始化订阅:
重新初始化订阅涉及 应用一个或多个的新快照 文章给一个或多个订阅者: 事务复制和快照复制 允许单个文章 重新初始化;合并复制 要求所有文章都 重新初始化.
不隶属于 StackOverflow