在SQL Server 2016中调整查询的缓冲区大小

时间:2019-04-12 12:46:19

标签: sql-server buffer ssms sql-server-2016

我有一个包含一百万个条目的JSON文件(最初是MongoDB文档),将使用SQL Server中的OPENROWSET BULK()命令将其导入到SQL Server表中。该查询对于较小的JSON文件而言效果很好,但对于较大的文件,则显示以下错误:

JSON文本格式不正确。在位置0处发现意外字符。

对于不同的JSON文件,意外字符的值变得不同。我的JSON文件中的数据以JSON数组的形式存储。文件大小约为300 MB。

我认为,在执行查询过程中,只会将文件的部分内容加载到缓冲区中,因此会遇到此问题,因此,JSON文本似乎无法正确格式化到SQL Server。

因此,我现在关心的是调整查询执行的缓冲区大小,以便将文件的全部内容立即加载到缓冲存储器中。

1 个答案:

答案 0 :(得分:0)

我怀疑问题与缓冲区大小有关。需要使用格式文件来导入带有OPENROWSET(BULK)的超过8000个字符的列。如果仍然有问题,请将SQL语句添加到您的问题中。