Triệu chứng
Giả sử bạn chạy các tập lệnh R sử dụng ngữ cảnh điện toán RxLocalParallel hoặc gói DoParallel R. Khi bạn sử dụng sp_execute_external_script để chạy các tập lệnh được viết bằng R, bạn nhận thấy rằng truy vấn có thể treo trong khi chạy các hàm song song.
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".
Giải pháp
Sự cố này đã được khắc phục trong bản cập nhật tích lũy sau đây dành cho SQL Server:
Giới thiệu về các bản cập nhật tích lũy cho SQL Server:
Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:
Giải pháp thay thế
Để khắc phục sự cố mà không cần cập nhật, bạn có thể đưa vào một số mã R bổ sung ở phía trên cùng của tập lệnh trong sp_execute_external_script. Mã như sau:
parallel <- getNamespace("parallel")
unlockBinding("makePSOCKcluster", parallel)
internalMakePSOCKcluster <- parallel::makePSOCKcluster
wrapperMakePSOCKcluster = function(...) {
args <- list(...)
nếu (!(" outfile" %in% names(args)) || is.null(args[["tệp ngoài"]]))
{
args[["outfile"]] <- tempfile()
}
do.call(internalMakePSOCKcluster, args)
}
parallel$makePSOCKcluster <- wrapperMakePSOCKcluster
lockBinding("makePSOCKcluster", parallel)
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.