Sql server Columnstore索引创建失败,出现此错误;资源池中内存不足';默认值';要运行此查询,请执行以下操作;

Sql server Columnstore索引创建失败,出现此错误;资源池中内存不足';默认值';要运行此查询,请执行以下操作;,sql-server,indexing,columnstore,Sql Server,Indexing,Columnstore,当尝试执行此命令以创建列存储索引时,我遇到以下错误“资源池'default'中的内存不足,无法运行此查询” 服务器是SQL server 2016 Enterprise。5tb硬盘空间,128gb内存。最大内存设置为120gb,操作系统保留8gb。除此计算机上运行的SQL外,没有其他服务 我试图创建columnstore索引的表是36gb,20亿行,8列宽,主要是int和date 我假设120gb不够,对吗?虽然我尝试在55m行6gb表上运行columnstore,但也失败了 CREATE CL

当尝试执行此命令以创建列存储索引时,我遇到以下错误“资源池'default'中的内存不足,无法运行此查询”

服务器是SQL server 2016 Enterprise。5tb硬盘空间,128gb内存。最大内存设置为120gb,操作系统保留8gb。除此计算机上运行的SQL外,没有其他服务

我试图创建columnstore索引的表是36gb,20亿行,8列宽,主要是int和date

我假设120gb不够,对吗?虽然我尝试在55m行6gb表上运行columnstore,但也失败了

CREATE CLUSTERED COLUMNSTORE INDEX [CCI-BIG] ON [DBO].[BIG_DATA]
WITH (DROP_EXISTING = OFF, COMPRESSION_DELAY = 0) ON [PRIMARY]
GO

该错误意味着您没有足够的RAM来创建索引。您需要检查分配给SQL Server的RAM数量(至少在Process Manager中检查SQL Server的RAM利用率。它不必小于表的大小)

另外,尽量减少MAXDOP。例如,运行以下代码:

CREATE CLUSTERED COLUMNSTORE INDEX [CCI-BIG] ON [DBO].[BIG_DATA]
WITH (DROP_EXISTING = OFF, COMPRESSION_DELAY = 0, MAXDOP = 1) ON [PRIMARY]
GO

您可以尝试减少使用
MAXDOP
的并行性;这对需要多少内存有很大影响。您还可以通过更改资源池中的最大内存授予设置来调整请求的内存量——有关更多信息,请参阅。