2012-07-25 22 views
2

在Advantage中進行備份時,我們只想備份一些包含某些結構數據的表格。這些表可能會在數據庫更新中更改,但大多數表不會。其他表格包含大量的blob數據:潛在的10個演出。備份和恢復Advantage數據庫中的特定表格

如果在數據庫更新中發生錯誤,並且我們希望恢復已備份的表,那麼我們有哪些選項可以保留原始大型表,但還原所選表?將它們還原到現有數據庫,保留舊的大型表格?釋放大表並將它們添加到新恢復的數據庫中?

(注:備份表和大表之間沒有RI規則,但大表做備份的表參考autoincs。)

回答

3

您可以使用包含列表來限制表備份或恢復。例如,如果您使用的是adsbackup.exe命令行工具,你可以限制備份到兩個表:

adsbackup -i"table1,table2" test.add c:\mypath\backup\ 
具有還原

然後,你還可以將其限制在特定的文件:

adsbackup -r -i"table1,table2" c:\mypath\backup\test.add c:\mypath\restore\test.add 

請注意,使用包含列表指定還原操作時,字典(.add)文件只有在尚不存在時纔會被還原。因此,如果您還原到包含列表的現有字典,它將只複製指定的表。

+0

因此,恢復到包含列表的現有字典將保留來自非包含表的數據?這不會導致表與非包含表的字典問題不同步? – 2012-07-30 19:55:57

+0

@EricG:一般來說,不會,因爲字典不會被複制(如果您還原到現有位置)。但是如果非恢復表與恢復表之間存在任何形式的關聯,則會導致邏輯不一致(您說沒有RI,但有時候數據庫隨着時間的推移而隱含相關)。 – 2012-07-30 20:24:23

+0

太棒了。我會仔細檢查並運行一些測試,以確保我們沒有遺漏任何東西。感謝澄清! – 2012-07-30 20:30:24