Oprava: Nesprávné výsledky s spojení z převedené binární sloupec

Překlady článku Překlady článku
ID článku: 282243 - Produkty, které se vztahují k tomuto článku.
Chyba #: 351225 (SHILOH_bugs)
CHYBA Č: 100900 (SQLBUG_70)
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Kdy použít nerozlišuje malá a velká písmena řazení Pokud korelační poddotaz nebo provést spojení na sloupec založené na znak, který byl převeden na binární nebo varbinary a Optimalizátor vybere plán, který používá tabulku zařazování nebo hash shoda s mezipaměti, mohou být vráceny nesprávné výsledky. Řádky jsou vráceny jsou shod na základě porovnání nerozlišuje malá a velká písmena sloupce, nikoli binární porovnání.

Příčina

Na serveru nerozlišuje malá a velká písmena jsou prováděny vyhledávání z mezipaměti zařazování nebo hash tabulky namísto binární vyhledávání nerozlišuje malá a velká písmena způsobem. Protože byl sloupec přetypovat na typ binární, je třeba provést binární vyhledávání.

Řešení

SQL Server 2000

Tento problém vyřešíte získat nejnovější aktualizaci service pack pro 2000 Microsoft SQL Server. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
290211INF: Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2000

SQL Server 7.0

Tento problém vyřešíte získat nejnovější aktualizaci service pack pro Microsoft SQL Server 7.0. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
301511INF: Jak získat nejnovější aktualizaci Service Pack pro SQL Server 7.0
Poznámka: Tato oprava hotfix následující vytvořeného před instalací Microsoft SQL Server 7.0 Service Pack 4.

Anglická verze této opravy má následující atributy souborů nebo novější:
   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
				
Poznámka: Vzhledem k závislostem souborů nejnovější opravy hotfix nebo funkce, která obsahuje předchozí soubory může také obsahovat další soubory.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

SQL Server 2000
Tento problém byl poprvé opraven v SQL Server 2000 Service Pack 1.

SQL Server 7.0
Tento problém byl poprvé opraven v Microsoft SQL Server 7.0 Service Pack 4.

Další informace

Následující skript dokumentuje problém. Před použití opravy skript vrátí dvou řádků s TestCode 'a' a nikoli jeden řádek s hodnotou 'a' a druhé s hodnotou '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
				

Vlastnosti

ID článku: 282243 - Poslední aktualizace: 29. října 2003 - Revize: 3.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Klíčová slova: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB282243 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:282243

Dejte nám zpětnou vazbu

 

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