无法打开备份设备' D:\ Working Projects \ FullBackUp.BAK'。操作系统错误3(系统找不到指定的路径。)

时间:2015-10-28 05:06:58

标签: c# asp.net sql-server console

Stackoverflow中已经多次回答了这个问题,但我没有为我的项目找到合适的解决方案。

让我先告诉你我的代码:

namespace ConsoleDBManagement
{
    class Program
    {
        static void Main(string[] args)
        {
            //Metioned here your database name
            string dbname = "newDb";
            SqlConnection sqlcon = new SqlConnection();
            SqlCommand sqlcmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter();
            DataTable dt = new DataTable();

            sqlcon.ConnectionString = @"Server=ABC-PC\SQLEXPRESS;database=" + dbname + ";uid=dran;pwd=sri;";

            //Enter destination directory where backup file stored
            string destdir = "D:\\Working Projects";

            //Check that directory already there otherwise create 
            if (!System.IO.Directory.Exists(destdir))
            {
               System.IO.Directory.CreateDirectory("D:\\Working Projects");
            }
            try
            {
                //Open connection
                sqlcon.Open();
                //query to take backup database
                //System.IO.File.Create("D:\\Working Projects\\FullBackUp.BAK");

                sqlcmd = new SqlCommand("backup database newDb to disk='" + destdir + "\\FullBackUp.BAK'", sqlcon);
                sqlcmd.ExecuteNonQuery();
                //Close connection
                sqlcon.Close();
                //Response.Write("Backup database successfully");
            }
            catch (Exception ex)
            {
                //Response.Write("Error During backup database!");
            }
        }
    }
}

我在执行查询时遇到异常。

  

无法打开备份设备&D:\ Working Projects \ FullBackUp.BAK'。操作系统错误3(系统找不到指定的路径。)。

     

BACKUP DATABASE正在异常终止。

请给我你的建议。

1 个答案:

答案 0 :(得分:1)

在使用SQL身份验证登录时运行备份和/或其他外部文件相关命令时,Windows安全上下文是SQL Service的安全上下文。

您的问题与Backup Permissions重复。授予SQL服务帐户/组权限,或使用具有该路径权限的Windows身份验证登录名运行备份。