Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言备份sqlserver数据库#_C#_Sql Server_Backup - Fatal编程技术网

C# 用C语言备份sqlserver数据库#

C# 用C语言备份sqlserver数据库#,c#,sql-server,backup,C#,Sql Server,Backup,我正在尝试使用以下代码备份SQL Server数据库: SaveFileDialog saveFileDialog1 = new SaveFileDialog(); string database = con.Database.ToString(); try { saveFileDialog1.Filter = "SQL Server database backup files|*.bak"; saveFileDialog1.Title = "Database Backup";

我正在尝试使用以下代码备份SQL Server数据库:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
string database = con.Database.ToString();

try
{
    saveFileDialog1.Filter = "SQL Server database backup files|*.bak";
    saveFileDialog1.Title = "Database Backup";
    saveFileDialog1.FileName = "GestionStock.bak";

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        string sqlStmt = string.Format("USE MASTER BACKUP DATABASE [" + database +"] TO DISK='{0}'", saveFileDialog1.FileName);

        using (SqlCommand bu2 = new SqlCommand(sqlStmt, con))
        {
            if (con.State != ConnectionState.Open)
            {
                con.Open();
            }

            bu2.ExecuteNonQuery();
            con.Close();

            MessageBox.Show("Base de données sauvegardée avec success");
        }
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}
此代码可以工作并创建备份文件,但当我尝试重新备份数据库时,收到以下错误消息:


如何修复它?

在不使用
USE MASTER
的情况下尝试它。我尝试过,但出现了相同的错误。您是否确定字符串
数据库
的实际值与
字符串的值不同。空的
?是的,我确定它有一个value@user4340666,检查正在执行的备份命令。我敢打赌这不是您所期望的(即空数据库名)。也,请注意,备份文件路径来自SQL Server计算机,而不是客户端,因此除非对话框构造了SQL Server和客户端都可以访问的UNC路径,否则此应用程序无法远程运行。请在不使用
USE MASTER
的情况下尝试。我尝试过,但出现了相同的错误。是否确实要确保字符串
数据库
具有与字符串不同的值。为空?是的,我确信它具有value@user4340666,检查正在执行的备份命令。我敢打赌这不是您所期望的(即空数据库名)。另外,请注意,备份文件路径来自SQL Server计算机而不是客户端,因此除非对话框构造SQL Server和客户端都可以访问的UNC路径,否则此应用程序无法远程运行。