1

我們有一個數據庫a每天晚上2.45 AM複製到訂戶db b(用於SSRS報告)。檢查SQL Server複製默認值

我們需要在其中一個複製表中添加一列,因爲它的源文件在我們的iSeries中添加了一個列,我們需要在我們的SSRS報告數據庫中使用該列。

我明白了(從Making Schema Changes on Publication Databases),答案hereDamien_The_Unbeliever)有在SQL Server複製默認設置,由此,如果我們用T-SQL ALTER TABLE DDL語句來新列添加到我們的表BUPF在PION數據庫,更改將自動傳播到訂戶數據庫。

如何檢查複製架構更改設置以確保在進行更改後我們不會遇到複製問題?

或者我應該運行ALTER TABLE BUPF ADD Column BUPCAT Char(5) NULL

回答

2

要將新列添加到表中並將其包含在現有發佈中,您需要在發佈者處使用ALTER TABLE <表> ADD < Column>語法。默認情況下,架構更改將傳播給訂閱者,發佈屬性@replicate_ddl必須設置爲true。

通過執行sp_helppublication並檢查@replicate_ddl值,可以驗證@replicate_ddl是否設置爲true。同樣,您可以使用sp_changepublication將@replicate_ddl設置爲true。

有關更多信息,請參閱Making Schema Changes on Publication Databases

+0

謝謝布蘭登,那就是我一直在尋找的! –

+0

我們發現我們需要禁用已發佈表上的複製,否則我們會得到關於'sqltrans'或其他內容的複製錯誤消息 –

+0

您應該不會收到錯誤,並且您不應該禁用複製才能更改模式。您接收的確切錯誤是什麼以及您使用什麼語法來改變模式? –