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

本文关键字:备份 文件 数据库 创建 | 更新日期: 2023-09-27 18:05:53

我有一个数据库文件。mdf,它是在安装应用程序时安装的。

所有数据库操作插入,更新,删除工作正常,但只有备份出现问题。

现在我想把附加的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();

上面的代码只有当我使用附加的数据库文件时才会出现以下错误。

但是给出错误

"数据库不存在"

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

您的数据库服务引擎帐户必须有权访问该物理文件。错误提示这是操作系统错误。因此,您需要对该文件夹或文件给予适当的权限。

见以下链接。

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

Write click on folder and goto security并给data folder适当的权限,以便SQL server用户可以访问该文件夹