KB4563195 - 修正:sp_execute_external_script 2019 SQL Server 可能無法執行使用 RxLocalParallel 計算上下文或 doParallel R 套件的 R 腳本

套用到
SQL Server 2019 on Windows

症狀

假設你執行的是使用 RxLocalParallel 計算上下文 或 doParallel R 套件的 R 腳本。 當你用 sp_execute_external_script 執行用 R 寫的腳本時,你會注意到在執行平行函式時查詢可能會當機。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

解決方式

此問題已在以下 SQL Server 累積更新中修正:

關於 SQL Server 的累積更新:

每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:

因應措施

為了避免更新問題,你可以在 sp_execute_external_script 的腳本頂端加入一些額外的 R 程式碼。 代碼如下:

parallel <- getNamespace (「parallel」)

unlockBinding (“makePSOCKcluster”,平行)

internalMakePSOCKcluster <- 平行::makePSOCKcluster

wrapperMakePSOCKcluster = function (...) {

ARGS <- 列表 (...)

如果 (! (「outfile」%in% 名稱 (args) ) ||is.null (args[[“outfile”]]) )

⁠{⁠

ARGS[[「outfile“]] <- 臨時檔案 ()

⁠}⁠

do.call (internalMakePSOCKcluster, args)

⁠}⁠

parallel$makePSOCKcluster <- wrapperMakePSOCKcluster

lockBinding (“makePSOCKcluster”,平行)

參考資料

了解 Microsoft 用來說明軟體更新的術語