症狀
假設你執行的是使用 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 用來說明軟體更新的術語。