我有一个BizTalk Server,它是根据BizTalk日志传送实现的BizTalk灾难恢复说明配置的。
在备份SQL Server上,将其称为SQL02,“获取备份历史记录”作业不断失败,并出现以下错误:
以用户身份执行:DOMAIN \ User。 SQL 服务器网络接口:错误 从中获取启用的协议列表 注册表[xFFFFFFFF]。 [SQLSTATE 42000] (错误65535)OLE DB提供程序 “SQLNCLI10”用于链接服务器“SQL01” 返回消息“登录超时 已过期“。[SQLSTATE 01000](错误 7412)OLE DB提供程序“SQLNCLI10” 链接服务器“SQL01”返回消息 “网络相关或 发生了特定于实例的错误 同时建立与SQL的连接 服务器。找不到服务器 无障碍。检查实例名称是否为 正确,如果是SQL Server 配置为允许远程 连接。有关更多信息,请参阅 SQL Server联机丛书。“。[SQLSTATE 01000](错误7412)。步骤失败了。
此作业执行本地存储过程,该过程基本上在链接服务器上执行另一个存储过程,称为SQL01。
当我在SQL02的查询窗口中执行此存储过程时:
EXEC [SQL01].[BizTalkMgmtDb_Prod].[dbo].[sp_GetBackupHistory]
它执行没有任何错误。
当SQL代理作业尝试执行相同的查询时,它会因上述错误而失败。
为什么我可以手动执行该过程而sql代理作业不能?
答案 0 :(得分:2)
我遇到了同样的问题并通过确保作业针对作业所有者可以访问的数据库运行来解决它。
答案 1 :(得分:0)
检查sql代理和sql实例用户是否应该拥有权限,并且用户应该对每个实例都是通用的,或者必须具有所有必需的权限。
在查询中,您通过具有权限但sql代理用户没有权限的用户进行连接(根据我的理解)。
检查你的sql server配置管理器,检查用户是否有sql server服务。