Síntomas
Imagine la siguiente situación:
-
Tiene una función CLR de SQL en SQL Server 2016 y 2017.
-
La función CLR invoca instrucciones Transact-SQLTransact-SQL mediante llamadas de suplantación, como mediante una llamada a la instrucción EXECUTE AS.
En este escenario, se produce un error en la ejecución y recibe el siguiente mensaje de error:
Msg 6522, Level 16, State 1, Procedure PrcedureName, Line 0 [Batch Start LineNumber]
Se produjo un error de .NET Framework durante la ejecución de la rutina definida por el usuario o agregado "ProcedureName":
System.Data.SqlClient.SqlException: la entidad de seguridad de servidor "NombreDeUsuario" no puede tener acceso a la base de datos "DatabaseName" en el contexto de seguridad actual.
Solución
Esta corrección se incluye en la actualización acumulativa 1 para SQL Server 2017.
Información del Service Pack para SQL Server 2016
Este problema se ha corregido en el siguiente Service Pack para SQL Server:
Acerca de las compilaciones de SQL Server 2017
Cada nueva compilación de SQL Server 2017 contiene todas las revisiones y correcciones de seguridad que se encontraban en la compilación anterior. Le recomendamos que instale la compilación más reciente para SQL Server 2017.
Los Service Pack son acumulativos. Cada nuevo Service Pack contiene todas las revisiones de Service Packs previos junto con revisiones nuevas. Nuestra recomendación es aplicar el Service Pack más reciente y la actualización acumulativa más reciente para ese Service Pack. No es necesario instalar un Service Pack anterior antes de instalar el Service Pack más reciente. Use la Tabla 1 del artículo siguiente para obtener más información sobre el Service Pack más reciente y la actualización acumulativa más reciente.
Cómo determinar el nivel de versión, edición y actualización de SQL Server y sus componentes
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtén información sobre la terminología que usa Microsoft para describir las actualizaciones de software.