KB4563195 CORRECCIÓN: es posible que sp_execute_external_script no puedan ejecutar scripts de R que usen el contexto de proceso RxLocalParallel o el paquete doParallel R en SQL Server 2019

Se aplica a
SQL Server 2019 on Windows

Síntomas

Supongamos que ejecuta scripts de R que usan el contexto de proceso RxLocalParallel o el paquete de R doParallel. Cuando utiliza sp_execute_external_script para ejecutar scripts escritos en R, observa que la consulta puede colgarse mientras se ejecutan las funciones paralelas.

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:

Solución alternativa

Para solucionar el problema sin actualizar, puede incluir código R adicional en la parte superior del script en sp_execute_external_script. El código es el siguiente:

parallel <- getNamespace("parallel")

unlockBinding("makePSOCKcluster", parallel)

internalMakePSOCKcluster <- parallel::makePSOCKcluster

wrapperMakePSOCKcluster = function(...) {

ARGS - List(...)<

if (!(" archivo" %en% nombres(args)) || is.null(args[["outfile"]]))

⁠{⁠

args[["outfile"]] <- tempfile()

⁠}⁠

do.call(internalMakePSOCKcluster, args)

⁠}⁠

parallel$makePSOCKcluster <- wrapperMakePSOCKcluster

lockBinding("makePSOCKcluster", parallel)

Referencias

Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.