首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server备份到UNC

Server备份到UNC
EN

Stack Overflow用户
提问于 2008-10-19 07:11:58
回答 7查看 25.5K关注 0票数 13

我已经在我的server 2005服务器上创建了维护计划。备份应该写入另一台服务器。我用的是UNC的路径。运行SQL代理作业的用户可以完全访问另一台服务器。这是两个服务器上的管理员。

问题是该语句失败(当然服务器名正确):

执行master.dbo.xp_create_subdir N'\servername\c$\SqlServerBackup\Test‘

我得到的错误是: Msg 22048,级别16,状态1,第0行xp_create_subdir()返回错误123,“文件名、目录名或卷标签语法不正确。”

有人知道问题出在哪里吗?

EN

回答 7

Stack Overflow用户

发布于 2009-05-15 16:00:23

在我自己有了这个问题之后,由于上面的解决方案都不够清楚,我想我应该发布一个更清晰的答案。这个错误实际上与语法无关--它完全与权限有关。这里最重要的是尝试登录创建目录的是Server服务帐户,而不是Server代理帐户。您可以检查目标服务器上的事件查看器,并查看安全日志以查看另一台计算机上server帐户的失败登录(我的登录是以本地管理员身份运行的)。

要解决这个问题,请将您的Server服务帐户设置为允许写入远程共享的域用户。我本来希望Server代理能够使用自己的凭据来执行这些备份操作,但显然不是!

票数 23
EN

Stack Overflow用户

发布于 2009-11-17 04:02:03

SQL代理实际上不运行备份,它能够在执行备份的Server中执行命令。因此,Server服务帐户需要UNC共享的权限。

但是,我认为xp_create_subdir过程存在一个实际问题。我将停止使用维护计划,因为我每隔一段时间都会收到相同的错误。没有权限正在更改,而且它“通常”工作,但“通常”不会削减它。

票数 3
EN

Stack Overflow用户

发布于 2011-02-24 01:01:02

如果您以“LocalSystem”身份运行Server和/或Server代理服务,但拒绝将Server和Server代理帐户更改为域帐户,请尝试以下操作:

  1. 如果您使用Server代理代理帐户/凭据来执行部分任务,并使用share在共享和NTFS权限下的UNC备份目标上执行备份,则分别授予完全/修改权限,因为在建立连接的过程中,或者至少在我尝试过的SQL备份作业中(至少根据安全日志),它们确实会被使用。不幸的是,要么没有办法,要么我还没有找到通过使用代理帐户来执行某些server服务任务的方法(如User55852和ZaDDaZ在前面的文章中所指出的那样)。在共享和NTFS权限下的UNC备份目标服务器上的
  2. 分别向SQL服务器(源服务器)的计算机帐户授予完整/修改权限。

对于SQL服务以“LocalSystem”的形式运行但需要到达另一台服务器以删除备份的情况,这确实有效。

当然,最佳实践指出,对于每个SQL Service,它们都应该拥有自己的权限最小的域帐户,而不是添加服务器的计算机帐户,该帐户暴露了对共享的更多访问权限--本质上是以计算机帐户或“LocalSystem”的形式执行的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/216130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档