2017-08-01 4 views
-2

私は最初のDBにテーブルを持っていて、2番目のDBでこのテーブルを作成するトランザクションレプリケーションを行いますが、最初のDBレプリケーションのテーブルを挿入、更新、または削除すると、失敗しましたhelp.abase help meSQL Serverのサブスクライバテーブルの列名を変更する方法は?

+1

基本的な量の研究を試みたことがありますか?あなたの正確な質問タイトルを使用してGoogleのこのリンクをチェックしてください。詳細な説明といくつかのリンクがあります。 https://www.google.com/search?q=How+to+change+column+name+in+subscriber+table+in+SQL+Server&ie=utf-8&oe=utf-8 –

+0

@SeanLange:yes i googleそれは私がそれを解決するために正確な答えや正確な方法を見つけることができません – AP4MH

+2

こっちのようなおしゃれ。 https://www.mssqltips.com/sqlservertip/2396/steps-to-rename-a-subscriber-database-for-sql-server-transactional-replication/ Googleの2番目のリンク。正確な問題を解決する方法の詳細な説明。 –

答えて

2

トランザクションレプリケーションサブスクライバで異なるテーブルスキーマを持つことは簡単ではありません。

まずあなたは、あなたがおそらくExecute Scripts During Synchronization

を使用して、スキーマの変更を再適用するために、それぞれ初期化/再初期化後にスクリプトを実行する必要が Transactional Articles - Specify How Changes Are Propagated

ごとに、レプリケーションの変更を適用するためのカスタムストアドプロシージャを使用する必要があります

より単純な方法は、パブリッシャにインデックス付きのビューを作成し、それをテーブルとして公開することです。参照:https://docs.microsoft.com/en-us/sql/relational-databases/replication/publish/publish-data-and-database-objects

+0

リンクのおかげで、保存されたprocsを修正できるとは思っていませんでした – TheGameiswar

+0

SQL Serverが作成した3つのストアド・プロシージャを変更しました** sp_MSdel_dboUsers ** ** sp_MSins_dboUsers ** ** sp_MSup_dboUsers ** UserIDをすべてIDでUser IDに変更するだけですが、正しい方法はわかりません – AP4MH

関連する問題