Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 事务复制问题_Sql Server_Replication - Fatal编程技术网

Sql server 事务复制问题

Sql server 事务复制问题,sql-server,replication,Sql Server,Replication,关于事务性复制如何处理以下问题,我有以下问题。例如,假设数据库“A”正在(通过事务复制)复制到数据库“B” 如果数据库“a”中的表被删除,该表是否会在“B”中被删除 如果重命名了“a”中的表,“B”中的表会发生什么情况 如果我们在数据库“a”中的表中删除一列,那么数据库“B”中同一表中的列会发生什么情况 如果我们重命名数据库“a”中某个表中的列,那么数据库“B”中同一个表中的列会发生什么情况 复制存储的过程、视图和自定义项是可选的吗 是否有任何方法可以避免由于数据库“B”是复制的订阅服务器而在数

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

  • 如果数据库“a”中的表被删除,该表是否会在“B”中被删除
  • 如果重命名了“a”中的表,“B”中的表会发生什么情况
  • 如果我们在数据库“a”中的表中删除一列,那么数据库“B”中同一表中的列会发生什么情况
  • 如果我们重命名数据库“a”中某个表中的列,那么数据库“B”中同一个表中的列会发生什么情况
  • 复制存储的过程、视图和自定义项是可选的吗
  • 是否有任何方法可以避免由于数据库“B”是复制的订阅服务器而在数据库“B”中创建所有存储进程? A.如果不是,我们至少可以指定它们是在什么模式中创建的吗

  • 这里回答了您的大部分问题:

  • 不能删除已复制的表。你必须先放下这篇文章
  • 不能重命名已复制的表。你必须先放下这篇文章
  • 在发布服务器上发出ALTER TABLE…DROP列将导致将命令复制到订阅服务器
  • 无法在复制列时重命名该列。您需要先将其从复制中删除
  • 是的,它是可选的
  • 你所说的创造是什么意思

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

    我想我应该先声明禁用复制。然后,一旦重新启动,我的帖子中提到的六种情况是如何处理的?@Randy Minder:我假设您计划停止日志读取器和分发代理。即便如此,答案还是一样。仔细阅读Microsoft复制文档,您将在其中找到所有问题的答案以及更多问题的答案,非常详尽。@JohnSansom谢谢您的回答john。如何向订阅服务器指定复制视图?