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

配置Report Server数据库时执行脚本报错,寻求技术帮助

解决Report Server数据库创建时的排序规则依赖错误

问题核心

配置SSRS的Report Server数据库时,执行创建脚本失败,提示无法将ReportServer数据库的默认排序规则设为Latin1_General_100_CI_AS_KS_WS,原因是存在名为classified的对象绑定了当前数据库的排序规则,导致无法修改。

可行解决方案

1. 清理残留的SSRS数据库及相关对象

如果之前尝试创建过ReportServer库但中途失败,大概率残留了相关对象:

  • 打开SSMS连接目标SQL实例,执行以下脚本删除残留的ReportServer库(确保无活跃连接):
    USE master;
    -- 删除ReportServer库
    ALTER DATABASE ReportServer SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    DROP DATABASE ReportServer;
    -- 删除ReportServerTempDB库
    ALTER DATABASE ReportServerTempDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    DROP DATABASE ReportServerTempDB;
    
  • 定位classified对象,执行查询找到它的归属:
    SELECT name, type_desc, database_id FROM sys.objects WHERE name = 'classified';
    
    找到后确认是否为无用对象,是的话直接删除。

2. 手动创建数据库再配置SSRS

绕开配置管理器的自动创建流程,先手动建好符合要求的库:

  • 执行SQL脚本创建指定排序规则的数据库:
    CREATE DATABASE ReportServer
    COLLATE Latin1_General_100_CI_AS_KS_WS;
    
    CREATE DATABASE ReportServerTempDB
    COLLATE Latin1_General_100_CI_AS_KS_WS;
    
  • 回到Report Server Configuration Manager,选择「更改数据库」→「选择现有报表服务器数据库」,选中刚创建的ReportServer库,完成后续配置。

3. 排查跨数据库依赖

如果classified是系统数据库(比如master、msdb)里的对象,检查是否有自定义的跨库依赖:

  • 执行查询查看依赖关系:
    USE master;
    SELECT * FROM sys.sql_expression_dependencies WHERE referenced_entity_name = 'classified';
    
    找到引用该对象的视图、存储过程等,先删除这些依赖,再尝试创建ReportServer库。

4. 实例级排序规则检查(备选)

如果以上方法都无效,查看SQL实例的默认排序规则是否和目标规则冲突:

  • 执行查询获取实例排序规则:
    SELECT SERVERPROPERTY('Collation') AS InstanceCollation;
    
    如果实例排序规则和Latin1_General_100_CI_AS_KS_WS差异大,且必须用目标规则,只能考虑备份所有数据库后重新安装SQL Server并指定目标排序规则(此操作风险高,谨慎执行)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:20:21