SQL Server 2008 R2を実行している2つの独立したWindows 2008 R2サーバー間にトランザクションレプリケーションをセットアップしました。私は、パブリッシャサーバでSSMSを使用してレプリケーションを設定しています。SQL Server 2008 R2レプリケーションのスキーマに既定値の設定を含める方法
パブリケーションの記事を作成するときにデータベース内のすべてを選択しました。 (表、ストアド・プロシージャー、ビュー、索引付きビューおよびユーザー定義関数)。スナップショットを作成した後、レプリケーションを開始しました。すべてが正しく動作するように見えました。私は何の誤りもなかった。
ただし、SSMSを使用するデザインビューでサブスクライバのレプリケートされたテーブルの一部を見ると、パブリッシャデータベースに存在する「既定値またはバインディング」セクションに値がありません。
「デフォルト値またはバインディング」について説明しているパブリケーションプロパティで設定が見つかりません。パブリケーションのプロパティの[サブスクリプションオプション]タブで[スキーマの変更をレプリケートする]をtrueに設定しました。
私はここで何が欠けていますか?レプリケーションによってテーブルスキーマに設定されたデフォルト値がサブスクライバにコピーされるべきではありませんか?
例として、この問題が発生している1つの特定のテーブルに関連するレプリケーションスクリプトのセクションを示します。
exec sp_addarticle @publication = N'Main_All', @article = N'Piece_Details2', @source_owner = N'dbo', @source_object = N'Piece_Details', @type = N'logbased', @description = N'', @creation_script = N'', @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F, @identityrangemanagementoption = N'none', @destination_table = N'Piece_Details', @destination_owner = N'dbo', @status = 24, @vertical_partition = N'false', @ins_cmd = N'CALL [sp_MSins_dboPiece_Details]', @del_cmd = N'CALL [sp_MSdel_dboPiece_Details]', @upd_cmd = N'SCALL [sp_MSupd_dboPiece_Details]'
ご協力いただきありがとうございます。
私に正しい方向を指してくれてありがとう。この変更を適用するために既存の出版物を編集する方法を知っていますか? – EiEiGuy
あなたはsp_changearticleを調べることができますが、記事の変更を複製するには新しいスナップショットが必要になります。 –
私は出版物を作り直して、提案した通りに正しい特性を選択することに決めました。あなたの助けをありがとう。 – EiEiGuy