tsql-设置选项

问题描述:

我正在使用脚本重建索引,该脚本根据预定义的填充因子重组或重建索引。tsql-设置选项

它是基于SQL 2000

我有我的剧本以下SET选项:

SET ANSI_WARNINGS OFF 
SET ANSI_NULLS ON 
SET QUOTED_IDENTIFIER ON 

我收到以下错误:

DBCC失败,因为以下的SET选项不正确的设置:'ANSI_WARNINGS,ARITHABORT'

那么,它是否告诉我,我应该关闭ANSI_WARNINGS并包括ARTHABORT?

我对此感到困惑。有什么建议?

我想你想有:

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年都能正常工作,但值得一试。

+0

是的,我使用米歇尔的(SQLFool)脚本。谢谢 – Manjot 2009-10-27 00:56:41

SET ANSI_NULLS为SQL Server 2000(然而,同样适用于更高版本):

Note: ANSI_NULLS is one of seven SET options that must be set to required values when dealing with indexes on computed columns or indexed views. The options ANSI_PADDING , ANSI_WARNINGS , ARITHABORT , QUOTED_IDENTIFIER , and CONCAT_NULL_YIELDS_NULL also must be set to ON, while NUMERIC_ROUNDABORT must be set to OFF.

所以,既要对

+0

非常感谢。这是否意味着我也应该包括其他人?像concat ....等 – Manjot 2009-10-27 00:57:35

+0

@manjot:他们应该是默认的。我从来没有设定他们这些天...... – gbn 2009-10-27 05:13:42