Oprava: Chybové zprávy při spuštění dotazu proti propojeného serveru, vytvoříte v serveru SQL Server 2005: "připravit Statement(s)" a "sloupci předponu"<column_prefix_name>"se neshoduje s název tabulky nebo alias v dotazu použit"

Překlady článku Překlady článku
ID článku: 936223 - Produkty, které se vztahují k tomuto článku.
Bug #: 50001186 (SQL opravy Hotfix)
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Předpokládejme následující situaci. V roce 2005 Microsoft SQL Server vytvoříte propojený server pomocí nativní klient zprostředkovatele SQL OLE DB (SQLNCLI). Propojený server spojen server s Microsoft SQL Server 2000 nainstalována. V této situaci zobrazí následující chybové zprávy při spuštění dotazu proti propojený server:
Chybová zpráva 1
Msg 8180, úroveň 16 stavu 1, řádek 1
Příkazů není připravovat.
Chybová zpráva 2
Msg 107, úroveň 16 státu 2, řádek 1
Předpona sloupce "<column_prefix_name> "se neshoduje s názvem tabulky nebo alias název používaný v dotazu.


Poznámka: K tomuto problému dochází také v serveru SQL Server 2008. Je-li tomuto problému dochází, když se připojíte k serveru SQL Server 2000, SQL Server 2008, je třeba povolit příznak trasování 4112, chcete-li tento problém vyřešit. Další informace naleznete v části Další informace.

Příčina

K tomuto problému dochází, protože SQL Server 2005 vytvoří plán provádění s vzdáleného dotazu. SQL Server 2005 musí provést vzdálený dotaz serveru SQL Server 2000 k načtení požadovaných dat. SQL Server 2000 nemůže zpracovat vzdáleného dotazu. Proto 107 v dojde k chybě serveru SQL Server 2000. Chyba 107 potom šíří zpět k serveru SQL Server 2005. Proto dojde k chybě 107 v serveru SQL Server 2005 a dojde k chybě 8180 na serveru SQL Server 2005.

Řešení

Informace o kumulativní aktualizaci

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 2. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2005 Service Pack 2 naleznete následující článku znalostní báze Microsoft Knowledge Base:
936305Balíček kumulativní aktualizace 2 pro SQL Server 2005 Service Pack 2
Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí serveru SQL Server 2005, opravte uvolnění. Společnost Microsoft doporučuje zvážit použití nejnovější vydání opravy, které tato oprava hotfix. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
937137Vytvoří serveru SQL Server 2005, které byly vydány po vydání serveru SQL Server 2005 Service Pack 2
Opravy hotfix Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2005 Service Pack 2 je třeba použít k instalaci serveru SQL Server 2005 Service Pack 2. Ve výchozím nastavení žádné opravy hotfix, která je poskytována v aktualizace service pack pro SQL Server je součástí příští aktualizace service pack pro SQL Server.

Jak potíže obejít

Pracovat tento problém vyřešit, vytvořte propojený server proti serveru SQL Server 2000 pomocí zprostředkovatele Microsoft OLE DB Provider for ODBC.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

Balíček kumulativní aktualizace (sestavení. 3175) pro SQL Server 2005 SP2 a SQL Server 2008, obě zavést příznak trasování 4112. Po instalaci balíčku kumulativní aktualizace (sestavení. 3175) pro SQL Server 2005 SP2, je nutné povolit příznak trasování 4112, chcete-li tento problém vyřešit. Informace o tom, jak povolit příznak trasování serveru SQL Server 2005 naleznete v tématu v části "Poznámky" následující web společnosti Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms188396.aspx

Postup reprodukce problému

  1. Spustit SQL Server Management Studio a připojte se k instanci serveru SQL Server 2005.
  2. Vytvořte nový dotaz a potom spusťte následující příkazy.
    EXEC sp_addlinkedserver
    @server = '<LinkedServerName>', 
    @provider = 'SQLNCLI', 
    @srvproduct = '', 
    @datasrc = '<InstanceName>', 
    @catalog = '<DatabaseName>' 
    
    exec sp_serveroption
    @server = '<LinkedServerName>' 
    ,@optname = 'RPC' 
    ,@optvalue = 'TRUE'
    exec sp_serveroption
    @server = '<LinkedServerName>' 
    ,@optname = 'RPC OUT' 
    ,@optvalue = 'TRUE'
    
    
    DECLARE @supervisorID varchar(40)
    set @supervisorID = 'Volume Discount'
    
    SELECT DISTINCT J.STOR_ID
    FROM   [<LinkedServerName>].[<DatabaseName>].DBO.DISCOUNTS J
    WHERE  J.DISCOUNTTYPE = @supervisorID
           AND J.DISCOUNT = (SELECT MAX(B.DISCOUNT)
                             FROM   [<LinkedServerName>].<DatabaseName>.DBO.DISCOUNTS B
                             WHERE  B.DISCOUNTTYPE = J.DISCOUNTTYPE)
    
    GO
    
    Poznámky
    • <LinkedServerName>je zástupným symbolem pro název propojeného serveru.
    • <InstanceName>je zástupným symbolem pro název instance pro propojený server.
    • <DatabaseName>je zástupným symbolem pro název databáze.
Po spuštění těchto příkazů můžete zobrazit chybové zprávy uvedené v části "Příznaky".

Vlastnosti

ID článku: 936223 - Poslední aktualizace: 2. února 2010 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Klíčová slova: 
kbmt kbsql2005engine kbexpertiseadvanced kbfix kbpubtypekc kbqfe KB936223 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:936223

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