Sql-Server

如何在不破壞複製的情況下將數據從主數據文件移動到其他數據文件

  • December 12, 2011

我有一個使用事務複製複製的數據庫。現在,我想將該數據庫的一些數據備份到另一個分區,因為我的伺服器磁碟空間不足。

我試圖通過點擊表中的設計和屬性選項卡將“正常數據空間規範”更改為“輔助”,使用 GUI 收費將文件移動到另一個文件組槽。當我嘗試保存表格設計時I get error Cannot drop the table 'dbo.MYTABLE' because it is being used for replication.

這裡有幾個問題:

  • 我應該在已經存在的文件組“PRIMARY”中的另一個分區中創建數據文件,還是打開新文件組而不是在那個新的“輔助”文件組中打開新數據文件更好?
  • 除了刪除表之外,還有其他方法可以告訴 SQL 將數據保存到另一個文件嗎?
  • 有沒有辦法可以暫時從複製中排除某些表,同時將它們移動到另一個文件組,然後將它們再次放入快照中而無需重新初始化訂閱者?

SSMS 正在創建表的副本,填充它,刪除原始表。因此錯誤。

我會創建一個新的文件組,而不是將文件添加到主文件組,因為這些文件在文件組中的使用方式

您可以通過使用重建聚集索引將表“原位”移動到新文件組CREATE INDEX .. DROP_EXISTING

CREATE NONCLUSTERED INDEX PK_Mytable
   ON dbo.Mytable(PKColumn)
   WITH (DROP_EXISTING = ON)
   ON NewFileGroup

引用自:https://dba.stackexchange.com/questions/9057