2016-06-13 19 views
-1

我開發了一個SQL Express數據庫。我需要以自動的方式備份該數據庫中除一張表之外的所有表。我想我可以編寫一個SQL腳本來做到這一點,使用sqlcmd從批處理文件觸發它,但不知道如何編寫該SQL腳本。如何在SQL Express數據庫中爲表的子集備份腳本

我也在想,如果沒有其他可能的話,我可以創建第二個具有我想備份的表的數據庫,然後我編寫一個腳本,將數據複製到第二個數據庫中,然後對其進行自動備份整個數據庫。這有一個缺點,即在想要使用該備份時已經對該備份進行了解壓縮 - 它不是一個小的安裝腳本。

這是一種可能性嗎,它是唯一的選擇還是SQL Express的工具可以做到這一點?

+0

排除一個表格所需的複雜性是否達到排除它的要求?是因爲它有敏感數據還是因爲數據太多? –

+0

它是一個巨大的表,並且會爲我想要運行備份的頻率在服務器上承受過多的負載。一切都是小數據。 – Fearghal

+0

您也可以將表放在兩個不同的文件組上,並只備份一個文件組。關於是否可以有選擇地恢復一個文件組,但不是100%,但它絕對是研究 –

回答

0

沒有選項,只排除一個表,同時備份.Few東西我能想到

1.右鍵點擊數據庫 - >任務 - >生成腳本 - >排除你想要的表並選擇保存腳本並運行此每次

2.you也可以選擇導出選項,但由於您使用的是SQL Express,您不會有保存這個包

+0

對於我想要的表,使用'select * from db1.xxx into db2.yyy'導出到'備份數據庫'的計劃如何?然後整個備份db2 – Fearghal

+0

是的 – TheGameiswar

0

保持大表在不同的數據庫的選項,只需備份原始數據庫。即使在不同的數據庫中,您仍然可以使用大型表格,即:

SELECT * 
FROM MyDb.dbo.SomeTable s 
JOIN OtherDb.dbo.LargeTable l 
ON (expression);