Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ALTER INDEX failed... check ARITHABORT  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Доброго времени суток!
СУБД: Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

Второй день с ошибкой завершается джоб по ребилду индексов с ошибкой:

ALTER INDEX failed because the following SET options have incorrect settings: 'ARITHABORT'. 
Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or query notifications 
and/or xml data type methods.". 
Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, 
or connection not established correctly....  The package execution fa...  The step failed.


Проверил в свойствах БД опция
Arithmetic Abort Enabled option - False

Далее посмотрел в
Click Tools -->Options and expand Query Execution --> SQL Server --> Advanced - SET ARITHABOR - стоит галочка.

Посмотрел в логах ребилд индекса спотыкается на таблице, которая была создана в предыдущий день появления ошибки. Т.е. можно предположить что проблема в таблице...

Скрипт создания таблицы:

+
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[mCRPayScheduleForLoad](
	[ID] [bigint] IDENTITY(1,1) NOT NULL,
	[FileName] [varchar](500) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[IDDogovor] [dbo].[dt_IDENTIFIER] NULL,
	[PeriodNo] [smallint] NULL,
	[PeriodDateStart] [dbo].[dt_DAY] NULL,
	[PeriodDateEnd] [dbo].[dt_DAY] NULL,
	[PaymentSumm] [numeric](16, 2) NULL,
	[PercentRate] [numeric](16, 2) NULL,
	[PercentSumm] [numeric](16, 2) NULL,
	[DebtAmount] [numeric](16, 2) NULL,
	[DebtInSumm] [numeric](16, 2) NULL,
	[DebtOutSumm] [numeric](16, 2) NULL,
	[Moment] [datetime] NOT NULL DEFAULT (getdate()),
	[SsudAccount]  AS (substring(isnull([FileName],''),patindex('%\[1-9]%.xls',isnull([FileName],''))+(1),(20))) PERSISTED NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF


Кто знает почему при перестроении индексов вылетает ошибка?
25 апр 12, 10:53    [12467472]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
Glory
Member

Откуда:
Сообщений: 104751
andrew shalaev
Проверил в свойствах БД опция
Arithmetic Abort Enabled option - False

А коннекте, который создается при выполнении джоба ?
25 апр 12, 10:55    [12467487]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Glory,
Не совсем понял где посмотреть

Там где посмотрел нет такой опции

К сообщению приложен файл. Размер - 47Kb
25 апр 12, 11:02    [12467526]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
Glory
Member

Откуда:
Сообщений: 104751
andrew shalaev
Glory,
Не совсем понял где посмотреть

В своем коде

andrew shalaev
Там где посмотрел нет такой опции

Это опции коннекта по-умолчанию.
Ничто не мешает клиенту при создании конкретного коннекта поменять эти настройки
25 апр 12, 11:04    [12467542]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Glory,

Джоб выполняется 51 мин. затем доходит до этой таблицы и спотыкается, Вы думаете что при работе с этой таблицей меняются настройки подключения?
25 апр 12, 11:08    [12467573]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
Glory
Member

Откуда:
Сообщений: 104751
andrew shalaev
Джоб выполняется 51 мин. затем доходит до этой таблицы и спотыкается, Вы думаете что при работе с этой таблицей меняются настройки подключения?

Я думаю, что это первая таблица/представление, которой требуется эта настройка
Кроме того вы так и не знаете, какое значение у этой настройки в вашем конкретном коннекте
25 апр 12, 11:11    [12467589]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Glory,

Сам джоб построен через Maintance Plan. Если заскриптовать то получается так:

USE [DB]
GO
ALTER INDEX [IX_index_name] ON [dbo].[TempTable] REBUILD WITH ( FILLFACTOR = 20, PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF )
GO


Если глянуть в свойства шага, который выполняет этот план то видно следующие параметры при запуске

/SQL "Maintenance Plans\DB_ReIndex" /SERVER "XXX.XXX.XXX.XXX" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /SET "\Package\Subplan_1.Disable";false

Скрин Окна настройки плана по переиндексации

К сообщению приложен файл. Размер - 35Kb
25 апр 12, 11:21    [12467673]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
Glory
Member

Откуда:
Сообщений: 104751
andrew shalaev
Сам джоб построен через Maintance Plan.

Замечательные подробности как всегда начинают появляться к концу обсуждения
25 апр 12, 11:23    [12467681]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Кстати, если ручками через ssms перестроить индекс то все проходит нормально.
25 апр 12, 11:29    [12467726]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
Glory
Member

Откуда:
Сообщений: 104751
BOL - sqlmaint

-RebldIdx free_space
Specifies that indexes on tables in the target database should be rebuilt by using the free_space percent value as the inverse of the fill factor. For example, if free_space percentage is 30, then the fill factor used is 70. If a free_space percentage value of 100 is specified, then the indexes are rebuilt with the original fill factor value.

If the indexes are on computed columns, you must also specify the -SupportComputedColumn argument when you use -RebldIdx.
25 апр 12, 11:37    [12467794]     Ответить | Цитировать Сообщить модератору
 Re: ALTER INDEX failed... check ARITHABORT  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Glory,

Спасибо!
25 апр 12, 11:42    [12467833]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить