sexta-feira, 29 de janeiro de 2010

INSERT failed because the following SET options have incorrect settings: 'ARITHABORT'

Hoje ao criar ima VIEW indexada para ajustar um relatório com problemas de performance, um outro processo que referenciava uma das tabelas incluídas na VIEW, apresentou as seguintes mensagens de erro:

“Msg 1934, Level 16, State 1, Line 1

INSERT 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.”

Depois de pesquisar um pouco, descobri uma referência a este tipo de problema através do seguinte link.

Basicamente, para inserir uma linha com êxito em uma tabela que é referenciada em um modo de exibição indexado, a configuração ARITHABORT SQL deve ser definida como ON. Além disso, a instrução que se aplica essa configuração deve ser executada em seu próprio lote, ou seja, junto com o comando de criação da view. Como os procedimentos contêm apenas um lote, adicionando a instrução para o procedimento não funciona.

Resolvi o problema, executando um ALTER VIEW nas views indexadas, com os seguintes comandos:

SET ARITHABORT ON

 

SET CONCAT_NULL_YIELDS_NULL ON

SET QUOTED_IDENTIFIER ON

SET ANSI_NULLS ON

SET ANSI_PADDING ON

SET ANSI_WARNINGS ON

SET NUMERIC_ROUNDABORT OFF

 

GO

 

alter view dbo.vw_folha_ramo

with schemabinding

as

.

.

Mais um usuário feliz!

Bom final de semana a todos!

 

 

Nenhum comentário:

Postar um comentário

Leave your comment here!