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.