2013-07-29 143 views
2

我正在使用visual c#作爲前端和SQL Server 2008 R2 Express作爲後端的項目。SQL Server 2008 R2快速恢復

現在我知道,SQL Server Express數據庫的大小限制爲10 GB的,所以我寫了數據庫備份的代碼被挑達到極限時,我清空一次數據庫備份是成功的。

我想知道會是怎樣恢復的備份文件,使我的電流應用的後端(我剛纔清空)不應該打擾最好的辦法。

它是好,如果我恢復我的當前數據庫中的相同,在這種情況下,我有問題要問會不會影響我的應用程序的工作,我的應用程序是怎麼樣的實時性和每15分鐘之後。間隔在數據庫中存儲一些值。

是否需要編寫其他實用程序來查看舊數據。?

每天大約50 MB的數據插入到數據庫中,因此將需要8個月左右到達挑大小(根據我的粗略計算)。並且就應用程序的性質而言,用戶不會經常使用存檔數據。請考慮這一點,並建議我的方法。

在此先感謝.. !!

回答

0

希望我已經得到了你的問題,但考慮以下建議工作:
一個數據庫(「當前數據庫」),存儲實時數據。

當涉及到一個大小,它被轉儲(或複製mdf + ldf)歸檔。
並存儲時間戳(從 - 到)。

當需要數據時,相關的mdf作爲新的「離線」數據庫附加。
(你可以使用一個連接字符串MDF文件附加到SQL服務器。)
,並使用該連接,而不是活的。

應用程序可以在聯機數據庫上順利運行。
在閱讀,加載等...
是從臨時附加和分離的數據庫文件完成的。

看看:Connection String to Connect to .MDF 瞭解如何將MDF附加到SQL Server實例。

+0

感謝您的回覆。你確實得到了我的問題,你的建議也是相關的,實際上我也在考慮做這樣的事情..但是因爲我是新手,我需要做更多的家庭作業來實現這個..如果你能提供給我,我將非常感激像代碼的東西.. –

+0

我想問的另一件事,因爲我們知道SQL Express 2008服務器的數據庫大小限制爲10GB所以,這不是possbile恢復數據庫+ currentDB將超過10 GB ..?你對此的反饋對我來說真的很有幫助。 –

+0

1,我認爲限制是每個數據庫,而不是每個實例。 第二,你可以有兩個SQL Server Express實例以及:) –

0

如果您在一個全新的數據庫服務器中輸入數據,舊的查詢將無法在新的數據庫上工作。由於SQL Express限制不是每個數據庫,而是每個數據庫服務器。 您可以創建一個新的SQL Express服務器,鏈接服務器和一個鏈接服務器(How to create a linked server @ msdn

您需要調整您的查詢創建一個查詢。

如果你現在查詢您的數據是這樣的:

SELECT em.Name, em.Telefone FROM employees AS em 

您需要參考數據庫了。

SELECT [server1\db1].dbo.em.Name, [server1\db1].dbo.em.Telefone FROM [server1\db1].dbo.employees AS em 

爲當前的數據庫,並

SELECT [server2\backup].dbo.em.Name, [server2\backup].dbo.em.Telefone FROM [server2\backup].dbo.em.Name 

很可能是這樣,但我不會建議它。如果您已經超過10GB數據,那麼您可能會有大表。鏈接服務器上的每個表都完全複製到您的服務器,並可能導致嚴重的網絡流量,並需要相當長的時間才能執行。

我會想到獲得SQL標準版。

+0

感謝您的及時回覆。 每天大約50MB的數據被插入到數據庫中,所以大概需要8個月左右的時間才能達到截圖大小。 並且就應用程序的性質而言,用戶不會經常使用歸檔數據。請考慮這一點,並建議我的做法.. –

相關問題