有什么方法不启用db repef" replicate ddl"来为MSA复制复制触发器DDL?

2020-09-16 13:09发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们有一堆数据库订阅副本(也称为" MSA"),我们通常要复制所有数据和架构更改(触发器除外)*

"复制DDL"选项是在数据库复制定义级别设置的,但是我看不到任何限制复制DDL类型的选项。

仅供参考,我确实了解禁用触发器的DSI连接级别命令:

" 更改与的连接。将dsi_keep_triggers设置为"关闭"

如果没有其他方法可以使用它,这是我们的后备选项(我们不想使用"更改表 disable trigger",因为有人在主数据库上重新创建触发器会产生新的 触发时不带此选项,它将复制)

预先感谢
Ben

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们有一堆数据库订阅副本(也称为" MSA"),我们通常要复制所有数据和架构更改(触发器除外)*

"复制DDL"选项是在数据库复制定义级别设置的,但是我看不到任何限制复制DDL类型的选项。

仅供参考,我确实了解禁用触发器的DSI连接级别命令:

" 更改与的连接。将dsi_keep_triggers设置为"关闭"

如果没有其他方法可以使用它,这是我们的后备选项(我们不想使用"更改表 disable trigger",因为有人在主数据库上重新创建触发器会产生新的 触发时不带此选项,它将复制)

预先感谢
Ben

付费偷看设置
发送
2条回答
callcenter油条
1楼 · 2020-09-16 13:16.采纳回答

alter connection命令用于"不触发触发器",因此它与DML(而不是DDL)相关,并且设置为连接级别。

如果有重复的表触发更新或完全避免触发操作,则应使用该表。

这通过避免在复制端不触发触发器ANY表来避免双重更新。

您的需要是"不要仅将DDL发送给触发器创建/更新/删除"发送到复制站点。

到目前为止,还没有任何机制可以通过通配符选择性地包括/排除DDL或按对象名称包括LIST。

因此,应通过连接属性为所有复制表禁用触发器。

HTH

Avinash

蓋茨
2楼-- · 2020-09-16 13:25

实际上,我发现可以在repserver级别上将 dsi_keep_triggers设置为'off',而不仅仅是DSI连接级别:

-显示当前repserver范围的设置
 管理员配置," dsi_keep_triggers"
 -更改repserver范围的设置。 必须重新启动任何现有的DSI
 将复制服务器配置为将dsi_keep_triggers设置为"关闭"; 

这适用于我的网站。

一周热门 更多>