sql-server - 订阅者表上的两个标识范围约束 - SQL Server 复制
问题描述
我们有可更新订阅的事务复制。在订阅者有几个具有双重身份约束的表。(不知道如何复制它。也许它发生在重新创建复制的重新初始化之一期间)例如:
CHECK NOT FOR REPLICATION (([ID]>(513000) AND [ID]<(514000)))
CHECK NOT FOR REPLICATION (([ID]>(347934) AND [ID]<(360000)))
DBCC CHECKIDENT 结果:
Checking identity information: current identity value 'NULL', current column value '538185'.
复制按预期工作,但我们希望摆脱过度约束。不知道为什么当前身份在这里为 NULL。我知道我们可以重新设定 ident 使其在范围内,但是如何确定 2 个约束中的哪一个对于复制是有效的和实际的?对于某些表,这不是问题,当前 ident 在 2 个范围内,但这里还有另一个问题:我们如何安全地移除过度约束?
我相信我们可以从复制中删除文章,验证所有约束都从表中删除,然后放回文章并重新初始化所有订阅。但是重新初始化对我们来说并不是一个很好的解决方案,因为它会花费太多时间并且可能会伤害我们的客户。
如果我们只尝试删除其中一个约束——它会对复制造成任何损害吗?某些系统表中是否保存了有关约束的信息,这可能会导致将来出现问题?
关于整洁解决方案的任何想法?
解决方案
推荐阅读
- python - 从索引列表访问多维 np.array 的元素
- twitter-bootstrap - Twitter Bootstrap,将第三个 md-6 列集中在中型设备上
- kubernetes - Terraform dial tcp 192.xx.xx.xx:443: i/o timeout error
- sql-server - 如何配置 AKS 部署以使 ASP.NET 应用能够连接到 Azure SQL 数据库
- python - Dockerfile 中的 WORKDIR 指令在容器化 Python 应用程序时无效
- php - PayPal webhook 创建与激活
- visual-paradigm - Visual Paradigm CE - 不打开项目文件
- python-3.x - 如何使用 Python 提取特定单词周围的当前句子和周围句子?
- linux - 如何可靠地
到标准输出? - javascript - 打字稿/反应:在上下文减速器中返回的对象无效属性未显示错误