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

SQL Server 2017合并复制发布属性无法打开的报错问题求助

SSMS 19.0.20196.0 连接SQL Server 2017编辑合并发布访问列表时资源缺失报错解决

问题描述

使用SSMS 19.0.20196.0在SQL Server 2017环境中配置合并复制,按官方文档操作创建发布后,无法打开发布属性编辑发布访问列表(PAL),触发以下报错:

SQL Server encountered one or more errors while retrieving information about publication 'C01_repl_01'.
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Microsoft.SqlServer.Management.UI.PublicationAccessListPage.resources" was correctly embedded or linked into assembly "CreatePubWizard" at compile time, or that all the satellite assemblies required are loadable and fully signed. (mscorlib)

程序调用栈:

at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName, CultureInfo culture)
at Microsoft.SqlServer.Management.UI.PublicationAccessListPage.InitializeComponent()
at Microsoft.SqlServer.Management.UI.PublicationAccessListPage..ctor(CDataContainer dataContainer)
at Microsoft.SqlServer.Management.UI.PubPropertiesSheet.Init()
at Microsoft.SqlServer.Management.UI.PubPropertiesSheet..ctor(ReplicationSqlConnection conn)
at Microsoft.SqlServer.Management.UI.LaunchPubPropSheet.PrepareToShow()

相同操作在SQL Server 2022环境中无异常,但需保留SQL Server 2017环境。

解决方案

1. 降级SSMS到适配SQL Server 2017的版本

SSMS 19系列主要针对SQL Server 2019及以上版本优化,对SQL Server 2017的兼容性存在局部问题。建议降级安装SSMS 18.x系列(如18.12.1),该版本对SQL Server 2017支持更完善,可避免UI层面的资源加载错误。

2. 使用T-SQL命令绕过图形界面管理发布访问列表

无需依赖SSMS的UI界面,直接通过T-SQL语句完成发布访问列表的管理:

  • 查看当前发布的访问列表:
    EXEC sp_help_publication_access 
        @publication = N'C01_repl_01';
    
  • 添加登录名到发布访问列表:
    EXEC sp_grant_publication_access 
        @publication = N'C01_repl_01', 
        @login = N'[目标登录名]';
    
  • 从发布访问列表移除登录名:
    EXEC sp_revoke_publication_access 
        @publication = N'C01_repl_01', 
        @login = N'[目标登录名]';
    

3. 修复SSMS 19安装(备选)

尝试修复当前SSMS 19的安装文件,确保本地化资源包完整:

  1. 打开控制面板 -> 程序和功能
  2. 找到Microsoft SQL Server Management Studio 19,右键选择「更改」
  3. 在安装向导中选择「修复」,完成后重新启动SSMS尝试操作

注:此方法仅针对资源文件缺失的场景,若为版本兼容性问题,修复后可能仍无法解决。

内容的提问来源于stack exchange,提问作者younes abdenacer aitemrar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 20:17:43