0

1つのディストリビューター/パブリッシャーと多くのサブスクライバーを使用したマージレプリケーションシナリオがあります。フィルタリングされていない記事はごくわずかで、他のすべてはHOST_NAME()によってフィルタリングされているため、別個の(重複しない)パーティションが作成されます。また、SUSER_NAME()を介してフィルタリングを試みましたが無駄になりました。

フィルタリングと配信は完全に機能しますが、サブスクライバーでの更新は次のエラーメッセージで失敗します。

記事'%s'の列を更新できません。この記事のpartition_optionsプロパティの値は2または3(重複しないパーティション)であり、列は行フィルターや結合フィルターに含まれています。この状況では、サブスクライバーまたは再発行者で列を更新することはできません。トップレベルのパブリッシャーで更新する必要があります

失敗した記事には、partition_options-「重複しない、単一のサブスクリプション」の設定があります。私が実行しようとしたSQLは、いくつかのnvarcharとビットの単純なパラメーター化されたUPDATEです。

誰か私が欠けているアイデアはありますか?遠くない...

編集:SQL Server2008R2ところで。

4

1 に答える 1

0

見つけた。

問題は、私が行おうとした更新(この場合はEntity Framework)に、フィルター式で使用した列も含まれていたため、この更新によってこのデータセットのパーティションが変更され、明らかに許可されていないことでした。

于 2011-04-26T08:45:44.607 に答える