复制数据库SQL Server 2012时"作业失败"

moh*_*san 19 database jobs copy agent sql-server-2012

我正在尝试复制数据库.通过复制数据库向导时,我收到执行SQL Server代理作业错误.错误说明

工作失败了.检查目标服务器上的事件日志以获取详细信息

执行操作

  • 添加包的日志(成功)

  • 添加传输数据库对象的任务(成功)

  • 创建包(成功)

  • 启动SQL Server代理作业(成功)

  • 执行SQL Server代理作业(错误)

错误:

工作失败了.检查目标服务器上的事件日志以获取详细信息.(复制数据库向导)

我似乎无法找到造成这个问题的原因.我使用正确的方法吗?我只需要复制这个数据库.提前致谢.

saf*_*afi 18

如果您尝试在同一台服务器上克隆数据库,请尝试以下操作:

  1. 创建要复制的数据库的备份
  2. 右键单击Databases并选择Restore Database
  3. From DatabaseSource for restore部分的下拉列表中选择要复制的数据库
  4. To database在该Destination for Restore部分的字段中 输入新数据库的名称- 这不能是现有数据库的名称.
  5. 单击确定

  • 为了完成这项工作,我还必须更改Restore As文件名并检查Overwrite选项,即使这些文件不存在. (2认同)

Sha*_*tin 9

检查Windows事件日志.

  1. 事件查看器
  2. Windows日志
  3. 应用
  4. 查找与以下任何内容关联的警告/错误消息:
    • 的SQLAgent
    • SQLISPackage
  5. 阅读错误.

这是一个例子.

SQLAgent相关错误

以下是我们遇到的一些错误和解决方案.

无法确定作业的所有者(...)是否具有服务器访问权限(原因:无法获取有关Windows NT组/用户'...'的信息,错误代码0x54b.[SQLSTATE 42000](错误15404) ).

我们需要确保在复制数据库向导期间,我们登录到目标服务器的帐户具有相应的权限,并且可以获得这些权限(我们最终使用了该sa帐户.)这解决了上述警告.

访问被拒绝

我们需要确保本地SQL Server代理在本地服务器上具有适当的权限.因此,我们将SQL Server代理登录为本地系统.这很有效,因为Local System是我们SQL Server实例中的系统管理员.

无法读取元数据,可能是由于访问权限不足.

我们需要为本地系统帐户提供更多权限.

  • 来自SSMS
  • 右键单击服务器名称,然后单击属性
  • 单击"权限"选项卡
  • 单击用户本地系统
  • 在明确的权限几乎在底部有"查看任何定义"授予.看看是否可行.

xp_regread()返回错误5,"访问被拒绝."

这阻碍了我们,我们问了另一个问题:xp_regread()返回错误5,'访问被拒绝.


Gre*_*olf 8

这通常是因为您的帐户(NT Service\SQLSERVERAGENT)没有数据文件夹(..Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA)的权限.将其设置为完全控制即可

上面的帐户是默认帐户,如果要查看正在运行代理的帐户,请转到services.msc.检查帐户登录