KB4563195 - DÜZELTME: sp_execute_external_script, SQL Server 2019'da RxLocalParallel işlem bağlamını veya doParallel R paketini kullanan R betiklerini çalıştıramayabilir

Uygulandığı Öğe
SQL Server 2019 on Windows

Belirtiler

RxLocalParallel işlem bağlamını veya doParallel R paketini kullanan R betiklerini çalıştırdığınızı varsayalım. R'de yazılmış betikleri çalıştırmak için sp_execute_external_script kullandığınızda, paralel işlevleri çalıştırırken sorgunun kilitlenebileceğini fark edersiniz.

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Çözüm

Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmede düzeltildi:

SQL Server toplu güncelleştirmeleri hakkında:

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:

Geçici çözüm

Güncelleştirme yapmadan sorunu geçici olarak çözmek için, sp_execute_external_script'de betiğinizin en üstüne bazı ek R kodları ekleyebilirsiniz. Kod aşağıdaki gibidir:

parallel <- getNamespace("paralel")

unlockBinding("makePSOCKcluster", paralel)

internalMakePSOCKcluster <- parallel::makePSOCKcluster

wrapperMakePSOCKcluster = function(...) {

args <- list(...)

if (!(" outfile" %in% names(args)) || is.null(args[["outfile"]]))

⁠{⁠

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

⁠}⁠

do.call(internalMakePSOCKcluster, args)

⁠}⁠

parallel$makePSOCKcluster <- wrapperMakePSOCKcluster

lockBinding("makePSOCKcluster", paralel)

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.