【问题标题】:Transactional Replication Questions事务复制问题
【发布时间】:2010-11-30 17:41:23
【问题描述】:

关于事务复制如何处理以下问题,我有以下问题。例如,假设数据库“A”正在被复制(通过事务复制)到数据库“B”。

  1. 如果删除数据库“A”中的表,是否会删除“B”中的表?
  2. 如果“A”中的表被重命名,“B”中的表会发生什么情况?
  3. 如果我们删除数据库“A”中表中的列,那么数据库“B”中同一表中的列会发生什么情况?
  4. 如果我们重命名数据库“A”中表中的列,数据库“B”中同一表中的列会发生什么情况?
  5. 复制存储过程、视图和 UDF 是可选的吗?
  6. 是否有任何方法可以避免在数据库“B”中创建所有存储过程,因为它是复制的订阅者? 一个。如果没有,我们至少可以规定它们是在什么架构中创建的吗?

【问题讨论】:

    标签: sql-server replication


    【解决方案1】:

    您的大部分问题都在这里得到解答:Frequently asked questions for Replication Administrators

    1. 您不能删除已复制的表。您必须先删除文章。
    2. 您不能重命名已复制的表。您必须先删除文章。
    3. 在发布服务器上发出 ALTER TABLE … DROP COLUMN 将导致命令被复制到订阅服务器。
    4. 您不能在复制列时重命名它。您需要先将其从复制中删除。
    5. 是的,它是可选的。
    6. 你说的创造是什么意思?

    通过在测试服务器上创建一个非常简单的复制拓扑,可以非常轻松地测试所有这些项目。我建议您这样做是为了计划和练习您的更改。

    【讨论】:

    • 我想我应该先声明复制将被禁用。然后重启后,我帖子里提到的六种情况是怎么处理的?
    • @Randy Minder:我假设您已禁用,您计划停止日志读取器和分发代理。即便如此,答案还是一样的。通读 Microsoft 的 Replication 文档,您会找到所有问题的答案,而且非常详尽。
    • @JohnSansom 感谢您的回答约翰。如何为订阅者指定副本视图?
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    相关资源
    最近更新 更多