【发布时间】:2026-01-17 17:55:02
【问题描述】:
我有一个方法可以让我开始备份数据库。我想知道的是我是否应该在这种情况下使用 ExecuteNonQuery() 或者是否有更好的使用方法。这是我目前的代码:
public static void RunBackup(string dbName, string filePath, string backupName, string connString)
{
using(SqlConnection objConnection = new SqlConnection(connString))
{
string commmandText = "BACKUP DATABASE @DBName TO DISK = @FilePath WITH NOFORMAT, NOINIT, NAME = @BackUpName, SKIP, NOREWIND, NOUNLOAD, STATS = 10";
SqlCommand objCommand = new SqlCommand(commmandText,objConnection);
objCommand.Parameters.AddWithValue("@dbName", dbName);
objCommand.Parameters.AddWithValue("@FilePath", filePath);
objCommand.Parameters.AddWithValue("@BackUpName", backupName);
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
}
}
我担心的一件事是能够验证备份是否完整且成功,同时处理需要和延长时间才能完成的备份的超时问题。
【问题讨论】: