You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Web复制访问replisapi.dll?diag报WebSyncDiagAccess权限被拒

SQL Server Web复制访问replisapi.dll诊断页报WebSyncDiagAccess权限拒绝的排查方案

问题场景

  • 环境配置
    • 已部署开启合并发布的SQL Server服务器
    • 同局域网、同域内的IIS Web服务器已安装replisapi.dll组件,用于支持复制Web同步
  • 异常表现
    访问诊断地址https://MYWEBSERVER/SQLReplication/replisapi.dll?diag时,系统先弹出凭据验证窗口,输入合法域凭据完成校验后,返回如下错误:

    Access Denied because of no WebSyncDiagAccess(因无WebSyncDiagAccess权限导致访问被拒)

排查修复步骤

  • 检查IIS基础运行权限
    1. 定位SQLReplication虚拟目录对应的应用程序池,将运行账号修改为有域访问权限的域账号,避免使用本地虚拟账号(如ApplicationPoolIdentity)
    2. 给应用程序池运行账号授予replisapi.dll所在物理目录的读取、执行权限
    3. 确认IIS处理程序映射中已正确添加replisapi.dll的ISAPI扩展映射,同时在「ISAPI和CGI限制」列表中,将该扩展设置为允许运行
  • 配置WebSyncDiagAccess专属权限(核心修复点)
    该权限是SQL Server Web同步专门用来控制诊断页访问的独立权限,不会自动为所有域账号开放,需要手动配置:
    方法一(官方推荐):
    登录SQL Server发布服务器,打开SSMS连接到发布实例,展开「复制」节点,右键对应合并发布选择「配置Web同步」,按向导走到虚拟目录访问权限配置页,将IIS应用程序池运行账号、访问诊断页使用的域账号全部添加到允许列表,完成向导后重启IIS即可。
    方法二(直接修改配置):
    登录IIS服务器打开注册表编辑器,定位到对应SQL版本的复制配置节点(不同版本路径版本号不同:SQL Server 2008R2为100、2012为110、2016/2017/2019为140、2022为160),完整路径示例:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<版本号>\COM\Replication
    找到名为WebSyncDiagAccess的字符串值,将需要授权的账号按域名\用户名格式填写,多个账号用分号分隔,修改完成后执行iisreset命令重启IIS生效。
  • 校验身份验证配置
    打开SQLReplication虚拟目录的身份验证设置,确认已启用Windows身份验证、禁用匿名身份验证;检查Windows身份验证的提供程序优先级,将NTLM或协商调整到首位,排除域控对该IIS服务器的账号登录限制策略影响。
  • 复查SQL Server端发布权限
    确认访问诊断页使用的域账号已加入对应合并发布的发布访问列表(PAL),账号在发布数据库中拥有复制元数据读取权限;如果配置了快照共享,还要给该账号授予快照共享的读取权限。

内容的提问来源于stack exchange,提问作者Pierantonio Bonato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 10:27:48