我有一个插入数据的主SQL Server A
。 A
上感兴趣的表格如下:
Name|Entry Time|Exit Time|Comments
从这个主表中,我想在另一个服务器B
上构建一个表,该表包含来自A
的相同数据,但有一些使用WHERE
子句的其他过滤器,即{{1 }}。
我不确定这是什么调用,如果本地甚至支持SQL Server(或者我应该设置一个脚本来实现这一点)。复制意味着复制整个数据但有人可以告诉我我在寻找什么以及如何实现这一目标?
答案 0 :(得分:1)
使用SQL Server进行事务复制支持过滤数据的功能。实际上,当您设置复制时,会出现一个“添加过滤器”对话框(假设您正在使用SSMS),该对话框允许您创建过滤器(Where子句)。
您可以详细了解here。
答案 1 :(得分:1)
事务复制确实支持文章过滤器,但我会说实话 - 我从来没有用过滤器的文章进行设置。 This article may help以及this topic in Books Online。
如果只有一个表和/或您不熟悉复制,您可能希望用触发器填充远程表(如果数据仅在插入时写入表并且从未更新,这显然会更容易) 。但是你需要设置逻辑来处理远程服务器关闭的情况。
如果您不需要服务器B不断更新,第三种解决方案可能是可行的 - 您可以使用作业在每 n 分钟内手动移动数据 - 使用外部联接/合并或者完全交换与过滤器匹配的数据集(我已经在这个场景中使用了阴影模式,以最大限度地减少它对服务器B的读者的影响 - see this dba.stackexchange answer for more details)。