none
快照式複寫:發行集的資料表如果要修改資料表名稱及增加新的欄位,複寫該怎麼做?先停閱? RRS feed

  • 問題

  • 快照式複寫:發行集的資料表如果要修改資料表名稱及增加新的欄位,複寫該怎麼做?先停閱?

    目前有八個發行集(均使用快照式複寫),都有一個訂閱者,在這八個發行集其中的部分發行項(資料表)需要做修改

    有些是變更資料表名稱,有些是增加欄位,有些是要增加資料表

    請問複寫這邊該怎麼做?

    先訂閱停掉->匯出發行指令->刪除發行->修改資料庫架構->修改發行指令->匯入->重新初始化

    上述流程是對的嗎

    還是需要重新砍掉-建立新的發行集和訂閱?

    2015年9月17日 上午 05:52

解答

  • Sql will replicate schema changes by default, so do nothing in replication if need add column. But you can't change table name if it's replicated, have remove table from replication first.
    2015年9月17日 下午 01:14

所有回覆

  • Sql will replicate schema changes by default, so do nothing in replication if need add column. But you can't change table name if it's replicated, have remove table from replication first.
    2015年9月17日 下午 01:14
  • thanks!!

    謝謝! 但在增加欄位時,資料表會不會因為快照而被鎖住,而導致無法修改資料表(增加欄位)?

    還是要先手動停止快照式代理程式?

    2015年9月18日 上午 01:38
  • Will not generate snapshot in this case, sql just replicates ddl to subscriber.
    2015年9月18日 上午 02:44
  • "you can't change table name if it's replicated, have remove table from replication first."

    所以我只需要從發行集中卸除發行項即可嗎?

    2015年9月18日 上午 07:47
  • Yes, remove it from publication, rename then add it back to publication.
    2015年9月18日 下午 02:33
  • thanks a lot!!!!!
    2015年10月10日 下午 05:25