我有数据库文件.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;
答案 0 :(得分:0)
您的数据库服务引擎帐户必须有权访问该物理文件。由于错误表明它是操作系统错误。所以你需要对该文件夹或文件给予适当的许可。
请参阅以下链接。
单击文件夹并转到安全性并为数据文件夹授予适当权限,以便SQL Server用户可以访问该文件夹。