为索引“ClusteredColumnStoreIndex”创建失败。超时已过期

Mus*_*yed 11 sql-server columnstore sql-server-2014

我正在 SQL Server 2014 中创建聚集列存储索引。 在此处输入图片说明

我收到错误

“超时已过期。在操作完成之前超时时间已过,或者服务器没有响应。(Microsoft SQL Server)”。

我设置

EXEC sp_configure 'remote query timeout', 60000; reconfigure EXEC sp_configure

行数 = 304969603 数据空间 = 88,812.266 MB

wBo*_*Bob 20

在 Management Studio for SQL 2014 中,设计器的超时设置在工具 > 选项 > 设计器 > 表和数据库设计器中,默认值为 30 秒。

在此处输入图片说明

但是,由于创建聚集列存储的语法非常简单,正如已经建议的那样,您应该编写脚本而不是使用设计器,例如

CREATE CLUSTERED COLUMNSTORE INDEX IX_MyTable ON dbo.MyTable ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

此选项不会超时,但如果您没有足够的内存,可能会遇到困难。

为了充分利用压缩,您还可以考虑在表上创建一个聚集索引以对其进行预排序,然后在创建聚集列存储之前将其删除。天啊。


Kar*_*ick 10

如果您使用查询分析器 (QA),请转到工具 -> 选项 -> 连接。使用“重置为默认值”按钮重置所有值。默认情况下,QA 没有超时。

或者,在查询窗口中编写您的CREATE INDEXorALTER TABLE语句并运行它。

将 SQL Server 中的超时设置为 -1 将防止超时。您可能正在更改超时设置,但在执行 RECONFIGURE 之前它不会生效。

跑:

sp_configure 'show advanced options', 1;
Run Code Online (Sandbox Code Playgroud)

...并查看那里的超时设置。请注意超时设置是否在run_value列中处于活动状态。如果没有,那么你需要做一个...

RECONFIGURE;
Run Code Online (Sandbox Code Playgroud)

...激活更改的设置。


Mat*_*ius 10

这包括两个步骤。@wBob 上面描述了一个,但是您将无法通过 UI 创建它,它仍然会超时。

您需要做的是单击“脚本”图标,然后运行生成的脚本。

在此处输入图片说明

希望这可以为您节省一些时间。