CORRECÇÃO: Resultados incorretos com associação da coluna convertido para binário

Traduções deste artigo Traduções deste artigo
ID do artigo: 282243 - Exibir os produtos aos quais esse artigo se aplica.
Erro nº: 351225 (SHILOH_bugs)
BUG #: 100900 (SQLBUG_70)
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você usar um agrupamento não fazem distinção entre maiúsculas e minúsculas, se uma subconsulta correlacionada ou associação é executada em uma coluna baseada em caracteres que tenha sido convertida para binário ou varbinary e se o otimizador escolhe um plano que usa uma tabela spool ou hash correspondência com cache, podem retornar resultados incorretos. As linhas que são retornadas são as correspondências com base em uma comparação não diferencia maiúsculas de minúsculas da coluna, em vez de uma comparação binária.

Causa

Em um servidor sem distinção entre maiúsculas e minúsculas, as pesquisas do cache de spool ou hash de tabela são realizadas de maneira não fazem distinção entre maiúsculas e minúsculas em vez de uma pesquisa binária. Porque a coluna foi convertida em um tipo de binários , uma pesquisa binária deve ser executada.

Resolução

SQL Server 2000

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000

SQL Server 7.0

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 7.0. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
301511INF: Como obter o Service Pack mais recente do SQL Server 7.0
Observação : O seguinte hotfix foi criada antes do Microsoft SQL Server 7.0 Service Pack 4.

A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   Version      File name      Platform
   ----------------------------------------------------

   7.00.0919    s70919i.exe    x86        SP2-based fix
   7.00.0919    s70919a.exe    Alpha      SP2-based fix

   7.00.0970    s70970i.exe    x86        SP3-based fix
   7.00.0970    s70970a.exe    Alpha      SP3-based fix
				
Observação : devido a dependências do arquivo, o hotfix mais recente ou o recurso que contém os arquivos anteriores pode também conter arquivos adicionais.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

SQL Server 2000
Esse problema foi corrigido primeiro no SQL Server 2000 Service Pack 1.

SQL Server 7.0
Esse problema foi corrigido primeiro no Microsoft SQL Server 7.0 Service Pack 4.

Mais Informações

O script a seguir demonstra o problema. Antes de aplicar a correção, o script retorna duas linhas com um TestCode de 'a' em vez de uma linha com valor 'a' e um segundo com valor 'A'.
CREATE TABLE #tblIDs(TestID int, Code varchar(1))
CREATE TABLE #tblValues(Code varchar(1))

INSERT INTO #tblIDs(TestID, Code) VALUES(1,'a')
INSERT INTO #tblIDs(TestID, Code) VALUES(2,'A')

INSERT INTO #tblValues(Code) VALUES('a')
INSERT INTO #tblValues(Code) VALUES('A')

SELECT #tblValues.Code AS TestCode, 
   (SELECT #tblIDs.TestID FROM #tblIDs 
      WHERE CAST(#tblIDs.Code AS varbinary) = 
            CAST(#tblValues.Code AS varbinary)
    ) AS TestID 
FROM #tblValues

DROP TABLE #tblIDs
DROP TABLE #tblValues
GO
				

Propriedades

ID do artigo: 282243 - Última revisão: quarta-feira, 29 de outubro de 2003 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB282243 KbMtpt
Traduçã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: 282243

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com