admin管理员组文章数量:1666738
当Alwasyon group启用了DTC_SUPPORT = PER_DB, 会导致无法创建replicaiton.无法修改已经存在的replication.
原因:
当当Alwasyon group启用了DTC_SUPPORT = PER_DB,任何对于DMV的查询都被认为是'user xact'.
这回导致下面的语句失败
begin tran
save tran tran1
select*Fromsys.tables
The 3933 error
'Cannot promote the transaction to a distributed transaction because there is an active save point in this transaction'
Replication的创建/修改语句中大量包含了这种格式的语句,会导致其失败
Workaround
===
1)启用 start up trace flag 8580。(Impact:对于系统数据库的语句会被当成常规的Transaction处理,而非DTC transaction,所以当Failover发生时,会影响正在运行的DTC transaction 可能会导致数据的不一致)
或者
2)在进行操作前暂时将DTC_Support关闭,之后再启用。(如果操作时Failover发生,会影响正在运行的DTC transaction,所以建议在downtime时进行该操作)
ALTER AVAILABILITY GROUP dbName SET ( DTC_SUPPORT = none );
转载于:https://wwwblogs/stswordman/p/8476875.html
本文标签: AlwasyonsqlServerPERDBreplicaiton
版权声明:本文标题:在SQL Server 2017 中,当Alwasyon group启用了DTC_SUPPORT = PER_DB, 会导致无法创建replicaiton.... 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1730076386a1221829.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论