代码之家  ›  专栏  ›  技术社区  ›  Keith Maurino

SQL Server数据库备份:网络服务文件访问

  •  1
  • Keith Maurino  · 技术社区  · 14 年前

    尝试从我的代码运行以下数据库备份命令时,出现“操作系统错误5(访问被拒绝。)”错误。这是因为SQL Server Windows服务的登录帐户是“网络服务”,并且无权访问此文件夹。

    BACKUP DATABASE [AE3DB] TO DISK = 'c:\AE3\backup\AE3DB.bak'
    

    我的问题是,从我的代码中,我将如何着手找出C驱动器上允许“网络服务”将备份右移到哪里?

    注意:这是一个分布式应用程序,因此我无法轻松地将SQL Server Windows服务的登录更改为可以访问该文件夹的“本地系统”帐户。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Remus Rusanu    14 年前

    您不必在C:\上随机搜索SQL Server服务帐户具有写访问权限的位置…

    您可以选择:

    • 将备份放在SQL Server备份位置。这是在安装过程中指定的,并且已正确设置ACL,以便服务帐户具有所有必要的权限。请参阅中的“备份目录” http://msdn.microsoft.com/en-us/library/cc281941.aspx
    • 将备份放在 广为人知 地点 创建和 用于获取SQL Server服务帐户的适当权限的ACLIT。不应将权限授予服务帐户本身(本例中为网络服务),而应将权限授予SQL Server管理服务组: SQLServerMSSQLUser$ComputerName$MSSQLSERVER . 见 http://msdn.microsoft.com/en-us/library/ms143504.aspx
        2
  •  0
  •   Hogan    14 年前

    网络服务帐户的全部目的是不拥有本地磁盘的权限。这可以防止基于网络的安全漏洞。

    我猜是您的服务器被锁定了,这意味着您必须在本地登录才能执行备份,或者使用管理帐户远程执行备份。