DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 294942 - Última revisão: quinta-feira, 16 de outubro de 2003 - Revisão: 3.2

 

Sintomas

Se um procedimento armazenado contém a instrução SET CONCAT_NULL_YIELDS_NULL e a instrução altera a configuração atual da CONCAT_NULL_YIELDS_NULL, o procedimento ser recompilado cada vez que ele é executado. Isso pode levar a problemas de desempenho.

Causa

Recompilação é necessária porque a alteração da configuração de CONCAT_NULL_YIELDS_NULL altera o resultado e o modo como os que comandos são interpretados. No SQL Server 7.0 e SQL Server 2000, CONCAT_NULL_YIELDS_NULL está definido como ON por padrão, de acordo com padrões ANSI.

Configuração CONCAT_NULL_YIELDS_NULL como desativado no banco de dados de nível não produz o resultado desejado porque ODBC e OLE DB definido essa propriedade como ativado quando se conectarem. (Como isso é especificado por um pouco no pacote de conexão, SQL Profiler não mostra que essa propriedade está sendo definida.)

Como Contornar

Não defina CONCAT_NULL_YIELDS_NULL dentro do procedimento armazenado. A solução recomendada é usar a função ISNULL ao concatenar cadeias de caracteres.

Por exemplo, uma consulta deve ser escrita da seguinte maneira:
SELECT * FROM mytable WHERE name LIKE 'Xavier ' + ISNULL(@lastname,'') + '%'
				
em vez de assim:
SELECT * FROM mytable WHERE name LIKE 'Xavier ' + @lastname + '%'
				
Embora não recomendada, uma solução alternativa seria emitir a instrução SET CONCAT_NULL_YIELDS_NULL antes de executar o procedimento armazenado.

Mais Informações

Este artigo endereços somente um dos motivos que procedimentos armazenados podem ser recompilado; para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
243586  (http://support.microsoft.com/kb/243586/EN-US/ ) INF: Troubleshooting recompilação do procedimento armazenado

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbmt kbprb KB294942 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 294942  (http://support.microsoft.com/kb/294942/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store