应用对象
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows

症状

假设在 SQL Server 中具有筛选索引的表(用作远程服务器,并且用户没有"查看定义"权限)上运行包含聚合和联接的查询 (例如:COUNT WITH GROUP BY) 。 在此方案中,链接服务器将筛选的索引视为完整的唯一索引,并且查询返回不正确的结果。 

更多信息

运行远程查询时,链接的服务器进程使用索引元数据来优化查询。 如果对所查询的数据库没有 VIEW DEFINITION 权限,元数据不会指示索引是筛选索引,并且查询优化器会认为索引是完整的唯一索引。 当没有视图定义权限供查询优化器考虑时,此修补程序会更正已筛选索引的索引元数据。

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

解决方法

以下累积更新中修复了此问题SQL Server:

注意:此修补程序应应用于远程链接服务器。

关于累积更新SQL Server:

每个新的累积更新SQL Server包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看最新累积更新,了解SQL Server:

解决方法

若要解决此问题,请尝试以下方法之一:

  • 删除筛选的索引。

  • 向用户授予视图定义。 例如:向用户授予视图test_user;

参考

了解 Microsoft 用于描述软件更新的术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。