我正在使用脚本重建索引,该脚本根据预定义的填充因子重新组织或重建索引。
它是在SQl 2000上。
我的脚本中有以下SET选项:
SET ANSI_WARNINGS OFF
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
我收到以下错误:
DBCC失败,因为以下SET选项的设置不正确:'ANSI_WARNINGS,ARITHABORT'
那么,是否告诉我应该关闭ANSI_WARNINGS并将其包含在ON?
我对此感到困惑。有什么建议吗?
答案 0 :(得分:2)
我想你想拥有:
SET ANSI_WARNINGS ON;
SET ARITHABORT ON;
您可以在此处查看有关此内容的更多详细信息:
http://support.microsoft.com/kb/301292
当您转到SQL Server 2005+时,您应该使用ALTER INDEX REBUILD / REORGANIZE而不是DBCC命令。此外,强烈建议您查看SQLFool和Ola的选项,它们可以使您的重建索引和重建工作变得更加容易:http://sqlfool.com/2009/06/index-defrag-script-v30/和http://ola.hallengren.com/我不记得其中任何一个是否适用于2000但值得检查进行。
答案 1 :(得分:1)
从SET ANSI_NULLS到SQL Server 2000(但同样适用于更高版本):
注意:
ANSI_NULLS
是七个SET中的一个 必须设置为必需的选项 处理索引时的值 计算列或索引视图。该 选项ANSI_PADDING
,ANSI_WARNINGS
,ARITHABORT
,QUOTED_IDENTIFIER
和。{CONCAT_NULL_YIELDS_NULL
也必须如此 设置为ON,而NUMERIC_ROUNDABORT
必须设置为OFF。
所以,两者都应该开启