数据库备份错误

时间:2012-08-30 17:33:36

标签: c# winforms visual-studio-2010 sql-server-2008

我有这段代码片段可以创建db:

的备份
try
{
  string connStr = "<valid connection string>";

  using (SqlConnection conn = new SqlConnection(connStr))
  {
    conn.Open();

    string sqlStmt = String.Format("BACKUP DATABASE InventoryDB TO DISK='{0}'", 
                                      DBBackupSaveFileDialog.FileName);

    using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn))
    {
      bu2.ExecuteNonQuery();
    }
...

问题是它在开发者电脑上工作正常但是当我尝试使用不同的机器时会出现此错误

  

无法打开备份设备'C:\ User \ Saleh \ Documents \ 12.bak'。操作系统错误5(无法恢复此错误的文本。原因:15105)。

1 个答案:

答案 0 :(得分:2)

您需要确保SQL Server服务帐户具有C:\Users\Saleh\

的写入权限

首先,查看SQL Server正在运行的帐户。控制面板&gt;管理工具&gt;单击“服务”,右键单击相关的SQL Server服务,单击“属性”,然后查看“登录”选项卡上列出的帐户。现在转到Windows资源管理器,右键单击该文件夹,单击“属性”,然后在“安全”选项卡上,可以将此用户帐户添加到列表中,并确保它们具有写入权限。如果您对此有进一步的问题,您的问题可能应该是superuser.com,因为它正在成为Windows /权限问题,而不是编程问题。

更好的是,停止运行备份到用户文件夹 - 使用SQL Server的备份文件夹,SQL Server已有权写入该文件夹。如果您以后需要移动它,请单独执行此操作。