KB4570433 - 修复:在 SQL Server 2019 中运行 PolyBase 查询时出现“区域性不受支持”错误或错误结果

应用对象
SQL Server 2019 on Windows

症状

在 SQL Server 2019 中,运行的 PolyBase 查询满足以下条件:

  • 结果集有一个 VARCHAR (MAX) 列。
  • 该查询具有特定的执行计划形状特征。 例如,它具有全局聚合。

在这种情况下,会遇到以下问题:

  • 如果列包含的字符数据无法使用 PolyBase 引擎进程的当前区域设置进行编码,或者使用当前区域设置的编码结果与列排序规则中指定的编码不同,则会看到该字符数据的转换不正确。 具体而言,无法翻译的字符将被问号 (?) 替换。
  • 如果 PolyBase 引擎进程以用户身份运行,并且具有自定义区域设置,则会收到以下错误消息:

System.Globalization.CultureNotFoundException:不支持区域性。

参数名称: culture

3072 (0x0c00) 是无效的区域性标识符。

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

解决方法

此问题已在 SQL Server 的累积更新中进行了修复:

关于 SQL Server 的累积更新:

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

参考资料

了解 Microsoft 用于描述软件更新的术语。