2015-02-23 80 views
0

我有MS SQL Server 2008和C#編寫的程序,使用實體框架。如果不使用任何第三方工具,我可以:程序加載和使用數據庫MS SQL Server 2008的

  1. 是否每日備份到只有來自數據庫的某些表的文件?
  2. 編程告訴SQL服務器「這裏是一些表的文件,將其還原到新的數據庫A」,然後連接到數據庫A和使用數據,如果需要的話,刪除數據庫,並加載下一個文件?
+0

爲什麼不使用SQL Server本身做你的要求? – 2015-02-23 15:20:20

+0

我需要開發一個工具,它允許管理員加載任何過去一天的副本,並在沒有技術幫助的情況下在兩個數據庫之間執行分析。 – 2015-02-23 15:22:38

+1

聽起來像你需要聘請一個合格的'DBA'並停止試圖削減意義'停止廉價' – MethodMan 2015-02-23 15:24:16

回答

1

,你可以。日常備份應該由SQL完成,然後您將使用程序來定位備份並將其恢復到新的數據庫。你可以在SQL之外進行備份,但不知道爲什麼你需要/想要。

步驟將 - 創建新的空DB - 恢復備份到新的空DB - 修復用戶權限的數據庫(如適用)

可以重載你構造EF模型,採取的連接字符串,您將根據剛剛重新加載的數據庫實時創建。

至於ONY備份和恢復你可能想嘗試以下一些表。

  1. 爲不需要備份和恢復的「數據繁重」項目創建單獨數據庫,這些項目不需要經常備份和恢復,或者對此過程沒有任何價值。
  2. 將這些項目從目前的DB到新的數據庫
  3. 添加視圖在原數據庫具有相同的確切名稱爲遷出,並在第二DB
  4. 一個觀點新表的拉動表

只要視圖名稱100%相同的名稱,你感動,認爲是隻對單個表程序不應該知道其中的差別,但你現在將能夠備份較小的數據庫中的表和不包括所有的文件和圖像數據。希望這是有道理

可以嘗試提供更多的信息,如果你有一個更尖銳的問題

+0

我知道數據庫的完整備份沒有問題,並且可以將其設置爲服務器管理中的任務(實際上這已經完成)。但是,目前的數據庫是500 GB,主要是因爲它充滿了圖像數據。我在每日備份中不需要該圖像數據。在SQL Server 2008中可以只備份某些表嗎? – 2015-02-23 15:37:42

+0

@Evgeny,看看我的更新,並讓我知道如果有幫助 – workabyte 2015-02-23 15:46:06

+0

我看到你在說什麼,但該項目是非常大的,所以拆分數據庫和創建視圖似乎很多工作。事實上,我需要備份少於1%的數據。我只是想找到答案:數據庫有表A,表B和表C.我可以備份數據庫文件只有表A?如果這不可行,我會將實體對象序列化爲XML,並將備份保存爲我自己的格式。我只是想確保我不會重蹈覆轍,因爲我不熟悉SQL Server。 – 2015-02-23 15:56:29

相關問題