none
log_shipping的copy任务报错 RRS feed

  • 问题

  • 在secondary server Instance上,查询表msdb.dbo.log_shipping_monitor_error_detail,看到copy任务的报错信息:“对路径“\\dsg-test\SQL_XLDR”的访问被拒绝。”而“\\dsg-test\SQL_XLDR”是 sp_add_log_shipping_secondary_primary 参数@backup_source_directory的值,我查了下手册,问题似乎是secondary instance的SQLAgent Account缺少对这个路径的访问权限,是这个原因么?如是,该怎么解决呢?

    另外,如果我在Studio中配置logshipping也是同样的问题,如下所示:

    标题: Microsoft SQL Server Management Studio
    ------------------------------

    SQL Server Management Studio 无法还原数据库“tgt”

    ------------------------------
    其他信息:

    执行 Transact-SQL 语句或批处理时发生了异常。 (SqlManagerUI)

    ------------------------------

    无法打开备份设备 '\\dsg-test\BackupShare\tgt.bak'。出现操作系统错误 5(拒绝访问。)。
    RESTORE FILELIST 正在异常终止。 (Microsoft SQL Server,错误: 3201)

    到底该怎么解决呢?拜托大家了。

    2010年9月1日 8:34

答案

  • What's sql agent service account on target server? Does it have permission to access \\dsg-test\SQL_XLDR share?
    • 已标记为答案 老笨猪 2010年9月4日 2:54
    2010年9月1日 13:08
  • 检查 sqlserveragent 服务的启动用户, agent 默认使用这个用户去访问os资源, 包括共享目录这种网络资源

    一般默认是使用 localsystem, 这个是没有权限访问网络资源的

    将 agent 的启动用户改成具有存放备份文件的共享目录的权限的用户即可(如果不是使用域用户, 则你需要在共享的服务器和agent 的服务器上建立同名同密码的用户来做为agent 服务的启动用户)

    • 已标记为答案 老笨猪 2010年9月2日 6:27
    2010年9月2日 4:42

全部回复

  • What's sql agent service account on target server? Does it have permission to access \\dsg-test\SQL_XLDR share?
    • 已标记为答案 老笨猪 2010年9月4日 2:54
    2010年9月1日 13:08
  • 检查 sqlserveragent 服务的启动用户, agent 默认使用这个用户去访问os资源, 包括共享目录这种网络资源

    一般默认是使用 localsystem, 这个是没有权限访问网络资源的

    将 agent 的启动用户改成具有存放备份文件的共享目录的权限的用户即可(如果不是使用域用户, 则你需要在共享的服务器和agent 的服务器上建立同名同密码的用户来做为agent 服务的启动用户)

    • 已标记为答案 老笨猪 2010年9月2日 6:27
    2010年9月2日 4:42