创建附加数据库文件的备份

时间:2014-05-29 07:11:07

标签: c# sql-server

我有数据库文件.mdf,它随安装应用程序的安装程序一起安装。

所有数据库操作Insert,Update delete工作正常,但备份中只出现问题。

现在我想在单击备份按钮时将附加的mdf文件备份到应用程序安装的路径。

以下是我的连接字符串。

<add name="MyConstring" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Database=Database;Integrated Security=True;User Instance=True;Connect Timeout=30" providerName="System.Data.SqlClient" />

创建备份的代码。

        string serverName = "";
        SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
        builder.ConnectionString = ConfigurationManager.ConnectionStrings["MyConString"].ToString();
        string server = builder.DataSource;
        string attachDBFilename = builder.AttachDBFilename;
        string DatabaseName = "[" + builder.InitialCatalog + "]";

        string SQLBackUp = @"BACKUP DATABASE " + DatabaseName + " TO DISK = N'" + @"d:\Data\" + "Aa.bak" + @"'";
        string svr = "Server=" + server + ";Database=master;Integrated Security=True";
        SqlConnection cnBk = new SqlConnection(svr);
        SqlCommand cmdBkUp = new SqlCommand(SQLBackUp, cnBk);

            cnBk.Open();
            cmdBkUp.ExecuteNonQuery();

以上代码仅在我使用附加数据库文件时才会出现以下错误。

但是给出了错误

  

&#34;数据库不存在&#34;

1 个答案:

答案 0 :(得分:0)

您的数据库服务引擎帐户必须有权访问该物理文件。由于错误表明它是操作系统错误。所以你需要对该文件夹或文件给予适当的许可。

请参阅以下链接。

http://dbamohsin.wordpress.com/2009/06/03/attaching-database-unable-to-open-physical-file-access-is-denied/

单击文件夹并转到安全性并为数据文件夹授予适当权限,以便SQL Server用户可以访问该文件夹。