开始


在上一篇《PowerShell应用之-事务复制》,描述了如何通过PowerShell脚本配置发布&分发服务器、创建事务发布&发布项目、和创建推送&请求订阅。而且上篇订阅是只读的(ReadOnly),在这篇,将会讲述可更新订阅的事务复制,涉及到两种基本的订阅类型:队列更新(QueuedUpdate) & 即时更新(ImmediateUpdate )。本篇使用的例子会沿用上一篇的部分脚本及测试数据库。在这边我们省略了配置发布&分发服务器部分,直接从创建事务发布和发布项目(TransPublication & TransArticle)开始。

 

创建事务发布和设置发布项目(TransPublication & TransArticle)


在原来的代码中,我们会在开始的输入部分多加两个变量描述可更新订阅的订阅类型,是否队列更新 & 是否即时更新


##允许队列更新订阅
#
------------------------------------------------------------
$AllowQueuedTransactions=$True

##允许即时更新订阅
#
------------------------------------------------------------
$AllowSynchronousTransactions=$True

PowerShell应用之-可更新订阅的事务复制

在TransPublication创建之前,需要补上下面的简短代码,描述添加队列更新 & 即时更新到TransPublication可更新订阅选项中。

        #允许队列更新订阅
        if($AllowQueuedTransactions -eq $true)
        {
            $TransPublication.Attributes =$TransPublication.Attributes -bor [Microsoft.SqlServer.Replication.PublicationAttributes]::AllowQueuedTransactions
        }
        
        #允许即时更新订阅
        if($AllowSynchronousTransactions -eq $true)
        {
            $TransPublication.Attributes =$TransPublication.Attributes -bor [Microsoft.SqlServer.Replication.PublicationAttributes]::AllowSynchronousTransactions
        }

相关文章: