Síntomas
Supongamos que crea un procedimiento almacenado local que llama a un procedimiento almacenado remoto en un servidor vinculado a través de una instrucción EXECUTE en SQL Server 2019. Cuando uno de los valores del parámetro del procedimiento almacenado remoto es una variable del sistema (@@servername, @@servicename,...) como en el ejemplo siguiente:
Crear prueba de procedimiento
as
comenzar
execute [myLinkedServer]. [myDB].dbo.myproc @@Servername
fin
Puede producirse una infracción de acceso. Además, puede recibir un mensaje de error similar al siguiente:
Msj 596, Nivel 21, Estado 1, Número de línea
No se puede continuar la ejecución porque la sesión está en el estado de finalización.
Msj 0, Nivel 20, Estado 0, Número de línea
Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Resolución
Este problema se corrige en la siguiente actualización acumulativa para SQL Server:
Acerca de las actualizaciones acumulativas para SQL Server:
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.