我有一個C#winforms應用程序(.net 2框架)。 我需要從我的應用程序備份數據庫。 我想通過異步執行一個SqlCommand來做到這一點。 的代碼並且無例外執行,但我沒有得到我的目的地.bak文件...SqlCommand備份數據庫
這是代碼:
#region backup DB using T-SQL command
string connString = "Data Source=" + ConfigurationManager.AppSettings.Get("localhost_SQLEXPRESS") + ";Initial Catalog=" + db + ";UserID=" + ConfigurationManager.AppSettings.Get("user") + ";Password=" + ConfigurationManager.AppSettings.Get("password");
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connString);
builder.AsynchronousProcessing = true;
using (SqlConnection sqlConnection1 = new SqlConnection(builder.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("BACKUP DATABASE " + db + " TO DISK=" + location + "\\" + ConfigurationManager.AppSettings.Get("DataBaseBackupsFolderName") + "\\" + db + ".bak'", sqlConnection1))
{
sqlConnection1.Open();
IAsyncResult result = cmd.BeginExecuteNonQuery();
while (!result.IsCompleted)
{
Thread.Sleep(100);
}
}
}
#endregion
你能穿上sqlConnection1.Open(斷點),並檢查cmd.CommandText的值(在特別是文件名路徑) – Steve
只是爲了確保...備份存儲在服務器上,而不是在發出該命令的計算機上(除非兩者是同一臺計算機)。 –
備份在計算機上... –