Síntomas
Suponga que ejecuta una consulta con agregados y combinaciones (por ejemplo: CONTAR CON GROUP BY) en una tabla con índice filtrado en SQL Server que se usa como servidor remoto y que el usuario no tiene el permiso VER DEFINICIÓN. En este escenario, el servidor vinculado considera el índice filtrado como un índice único completo y la consulta devuelve resultados incorrectos.
Más información
Al ejecutar una consulta remota, el proceso del servidor vinculado usa metadatos de índice para optimizar la consulta. Si no tiene permisos VER DEFINICIÓN para la base de datos que se está consultando, los metadatos no indican que el índice es un índice filtrado y el optimizador de consultas considera que el índice es un índice único completo. Esta corrección corrige los metadatos del índice de un índice filtrado cuando no tiene permiso VER DEFINICIÓN para su consideración por el optimizador de consultas.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Resolución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
-
Actualización acumulativa 22 para SQL Server 2017https://support.microsoft.com/help/4577467
-
Actualización acumulativa 15 para SQL Server 2016 SP2https://support.microsoft.com/help/4577775
Nota :Esta corrección se debe aplicar al servidor remoto vinculado.
Acerca de las actualizaciones acumulativas para SQL Server:
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para evitar este problema, intente cualquiera de los siguientes métodos:
-
Quite el índice filtrado.
-
Conceder definición de vista al usuario. Por ejemplo: CONCEDER DEFINICIÓN DE VISTA test_user;
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.