SQL Server 2012(SP2)合并复制代理计划对话框无法打开求助
解决SQL Server 2012(SP2)合并复制订阅代理计划对话框无法显示的问题
我之前在配置SQL Server 2012 SP2的合并复制时,也碰到过一模一样的问题——点击"Define schedule..."时弹出"SQL Server could not display the Schedule dialog box"的错误。给你几个我亲测有效的解决思路,按顺序试试:
先确认SQL Server Agent服务状态
别小看这个基础检查!发布服务器和订阅服务器上的SQL Server Agent服务必须都处于运行状态,而且最好用有足够权限的账户启动(比如域管理员账户或者专门的代理服务账户)。可以通过services.msc打开服务控制台,找到SQL Server Agent,检查状态,必要时重启服务试试。验证代理账户的权限配置
SQL Server Agent的运行账户需要具备这些权限:- 对发布库、订阅库有读写权限
- 能访问msdb数据库(SQL Server Agent的系统库)
- 如果是跨服务器的复制,账户在两台服务器上都要有对应的权限配置
权限不足经常会导致这类UI加载失败的问题,你可以检查下账户的权限设置,必要时临时提升权限测试。
绕开向导,先手动创建计划再关联
既然向导里的调度对话框打不开,咱们换个思路:先在SQL Server Agent里手动建好计划,再回到订阅向导里直接选择它:- 打开SSMS,展开SQL Server Agent → Jobs → Schedules
- 右键点击Schedules,新建一个符合你需求的调度计划(比如每天同步一次)
- 回到新建订阅向导的代理计划步骤,直接下拉选择你刚创建好的计划就行,不用再点"Define schedule..."
安装SQL Server 2012的累积更新
SQL Server 2012 SP2本身存在一些UI相关的已知bug,后续的累积更新(比如CU10及以后的版本)修复了不少这类问题。如果你的服务器还没装最新的累积更新,建议先安装试试,这可能从根源上解决这个对话框无法加载的问题。用T-SQL脚本直接创建订阅
如果以上方法都不行,那就彻底绕开图形界面,用脚本创建订阅并指定代理计划。给你一个示例脚本,记得替换成你的实际信息:-- 创建合并推送订阅(如果是拉订阅请调整参数) EXEC sp_addmergesubscription @publication = N'你的发布名称', @subscriber = N'订阅服务器名称', @subscriber_db = N'订阅数据库名称', @subscription_type = N'Push', @sync_type = N'Automatic', @subscriber_type = N'Local', @subscription_priority = 0.0; -- 为订阅代理指定已创建的计划 EXEC sp_addmergepushsubscription_agent @publication = N'你的发布名称', @subscriber = N'订阅服务器名称', @subscriber_db = N'订阅数据库名称', @job_login = N'代理账户(比如Domain\AgentAccount)', @job_password = N'代理账户密码', @schedule_name = N'你之前手动创建的计划名称';
内容的提问来源于stack exchange,提问作者Dominic
相关产品推荐
相关产品推荐

