簡體   English   中英

C#快速備份/還原數據庫

[英]c# express back up/restore database

我在這里完全迷路了,時間不多了。 讓我解釋一下我的情況:

我已經在C#Express 2010和SQL Server Express 2008 R2中創建了一個軟件。

現在,在我的軟件的“設置”部分中,該用戶應該能夠進行數據庫的手動備份/還原。

另外,他應該能夠安排數據庫備份,備份將在他設置的時間運行。

我對如何使這兩項工作一無所知,我希望這里有人可以指出正確的方向。

  • 我需要能夠通過單擊按鈕來創建數據庫的備份/還原
  • 我需要能夠安排備份過程

請記住,當用戶將軟件安裝到他的計算機上時,他將不會安裝sql服務器(之所以這樣說是因為我的印象是SMO要求在客戶端計算機上預先安裝sql服務器)。

謝謝

您可以隨時嘗試使用Google

  1. 后備
  2. 恢復
  3. 使用SQL Job Agent 自動執行備份腳本

我假設您可以創建Windows窗體並連接OnClick事件,然后對數據庫運行SqlCommand 然后,只需在用戶按下適當的按鈕時使用上面的文檔來編寫適當的查詢即可。

順便說一句:這是一個問答站點,而不是緊急顧問店。 不要說“我沒時間了”之類的話,也不要寫下大量的要求清單,而要告訴我如何做到這一點。 這樣您絕對不會得到幫助。 提出的具體問題證明你的努力和具體的技術問題之后。

您可以看一下使用SMO備份數據庫的C#示例

http://social.msdn.microsoft.com/forums/zh-CN/sqlexpress/thread/95750bdf-fcb1-45bf-9247-d7c0e1b9c8d2/

另一個選擇是運行一個進程並從代碼中調用sqlcmd

http://www.sqldbatips.com/showarticle.asp?ID=27

這是一些執行過程的示例代碼

string fileName = @"C:\Backup.sql";

ProcessStartInfo info = new ProcessStartInfo("sqlcmd", @" -S .\SQLExpress -U sa -d mydatabasename -o C:\sqlout.txt -i """ + @fileName + @""" -P");

 info.UseShellExecute = false;

 info.CreateNoWindow = true;

 info.WindowStyle = ProcessWindowStyle.Hidden;

 info.RedirectStandardOutput = true;

 Process p = new Process();

 p.StartInfo = info;

 p.Start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM