C# 不能用c语言备份sql数据库

C# 不能用c语言备份sql数据库,c#,sql,.net,database-backups,mdf,C#,Sql,.net,Database Backups,Mdf,我尝试了这个代码示例 SqlCommand cmd = new SqlCommand(); SqlConnection con2 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\schoolmate.mdf;Integrated Security=True;User Instance=True"); string sql = "BACKUP Database '" +Applicati

我尝试了这个代码示例

SqlCommand cmd = new SqlCommand();
SqlConnection con2 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\schoolmate.mdf;Integrated Security=True;User Instance=True");
string sql = "BACKUP Database '" +Application.StartupPath+@"\schoolmate.mdf'" +" TO DISK ='D:\\schoolmate-" + DateTime.Now.Ticks.ToString() + ".bak'";
con2.Open();
cmd = new SqlCommand(sql, con2);
cmd.ExecuteNonQuery();
它给出了一个不正确的语法错误

也试过了

string sql = "BACKUP Database 'schoolmate.mdf' TO DISK ='D:\\schoolmate-" + DateTime.Now.Ticks.ToString() + ".bak'";

在cmd.ExecuteNonQuery上出现数据库未找到错误

试试这个:

string sql = "BACKUP Database [schoolmate] TO DISK ='D:\\schoolmate-" + DateTime.Now.Ticks.ToString() + ".bak'";

在con2上添加断点。打开;并检查sql的值。尝试在SSM上运行它。你可能会发现什么地方出了问题。参考这个。在执行调试器之前,您的sql在调试器中是什么样子的?将数据库“D:\\works\\windows\\Schoolmate V2.0\\bin\\Debug\\Schoolmate.mdf”备份到DISK='D:\\Schoolmate-635616793105894858.bak'这是该文件夹中文件路径为Schoolmate.mdf的sql?
string sql = "BACKUP Database [schoolmate] TO DISK ='D:\\schoolmate-" + DateTime.Now.Ticks.ToString() + ".bak'";