簡體   English   中英

SQL Server 2008 R2數據庫備份和還原功能,通過C#Windows應用程序

[英]Sql Server 2008 R2 Database backup and restore functionality by C# Windows Application

我為一家小商店開發了Windows應用程序以生成發票。 現在,我想為用戶提供一個功能,使用戶可以通過單擊Windows應用程序中的按鈕來備份每天的數據庫。 他還應該能夠從這些備份中還原數據庫。

請幫助我,我搜索了很多主題,但是沒有用。 謝謝..

您必須使用using Microsoft.SqlServer.Management.Smo命名空間,並使用提供的BackUp方法。 它具有各種備份選項。 請看這個鏈接

using Microsoft.SqlServer; using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.Data.SqlClient; using System.Configuration; public void BackupDatabase(string BackUpLocation, string BackUpFileName, string DatabaseName, string ServerName) { DatabaseName = "[" + DatabaseName + "]"; string fileUNQ = DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + "_" + DateTime.Now.Year.ToString() +"_"+ DateTime.Now.Hour.ToString()+ DateTime.Now .Minute .ToString () + "_" + DateTime .Now .Second .ToString () ; BackUpFileName = BackUpFileName + fileUNQ + ".bak"; string SQLBackUp = @"BACKUP DATABASE " + DatabaseName + " TO DISK = '" + BackUpLocation + @"\" + BackUpFileName + @"'"; string svr = "Server=" + ServerName + ";Database=" + DatabaseName + ";Integrated Security=True"; SqlConnection cnBk = new SqlConnection(svr); SqlCommand cmdBkUp = new SqlCommand(SQLBackUp, cnBk); try { cnBk.Open(); cmdBkUp.ExecuteNonQuery(); //MessageBox.Show("Done"); MessageBox.Show(SQLBackUp + " ######## Server name " + ServerName + " Database " + DatabaseName + " successfully backed up to " + BackUpLocation + @"\" + BackUpFileName + "\n\nBackUp Date : " + DateTime.Now.ToString()); } catch (Exception ex) { MessageBox.Show(ex.ToString()); //MessageBox.Show(SQLBackUp + " ######## Server name " + ServerName + " Database " + DatabaseName + " successfully backed up to " + BackUpLocation + @"\" + BackUpFileName + "\n Back Up Date : " + DateTime.Now.ToString()); } finally { if (cnBk.State == ConnectionState.Open) { cnBk .Close(); } } }

暫無
暫無

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

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