Você está offline; aguardando reconexão

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

CORRECÇÃO: Mensagens de erro ao executar uma consulta em um servidor vinculado que você criar no SQL Server 2005: "não foi possível preparar Statement(s)" e "O prefixo de coluna '<column_prefix_name>' não coincide com um nome de tabela ou nome de alias usado na consulta"

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: 936223
Bug nº: 50001186 (Hotfix do SQL)
Sintomas
Considere o cenário a seguir. No Microsoft SQL Server 2005, você cria um servidor vinculado usando o provedor OLE DB do SQL Native Client (SQLNCLI). O servidor vinculado está vinculado a um servidor com o Microsoft SQL Server 2000. Nesse cenário, você recebe as seguintes mensagens de erro ao executar uma consulta contra o servidor vinculado:
Mensagem de erro 1
Msg 8180, nível 16, estado 1, linha 1
Não foi possível preparar o comando (s).
Mensagem de erro 2
Msg 107, nível 16, estado 2, linha 1
O prefixo da coluna ' <column_prefix_name> ' não coincide com um nome de tabela ou nome de alias usado na consulta.


Observação: Esse problema também ocorre no SQL Server 2008. Se você enfrentar esse problema ao se conectar a um servidor do SQL Server 2000 no SQL Server 2008, você deve ativar o sinalizador de traço 4112 para resolver esse problema. Para obter mais informações, consulte a seção "Mais informação".
Causa
Esse problema ocorre porque o SQL Server 2005 gera um plano de execução que tenha uma consulta remota. O SQL Server 2005 deve executar a consulta remota no SQL Server 2000 para recuperar os dados necessários. SQL Server 2000 não pode processar a consulta remota. Portanto, ocorrerá erro 107 no SQL Server 2000. Em seguida, erro 107 é propagado para o SQL Server 2005. Portanto, ocorre erro 107 no SQL Server 2005, e ocorrerá erro 8180 no SQL Server 2005.
Resolução

Informações da atualização cumulativa

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 2. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2005 Service Pack 2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
936305Pacote de atualizações cumulativas 2 para SQL Server 2005 Service Pack 2
Observação: Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2005 anteriores corrigir lançamento. A Microsoft recomenda que você considere a aplicação a versão mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
937137Compilações do SQL Server 2005 que foram lançadas lançamento após o lançamento do SQL Server 2005 Service Pack 2
Os hotfixes do Microsoft SQL Server 2005 são criados para service packs do SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2005 Service Pack 2 para uma instalação do SQL Server 2005 Service Pack 2. Por padrão, qualquer hotfix fornecidas em um service pack do SQL Server está incluído no próximo service pack do SQL Server.
Como Contornar
Para contornar esse problema, use o Microsoft OLE DB Provider para ODBC para criar o servidor vinculado no SQL Server 2000.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais Informações
O pacote de atualização cumulativo (compilação 3175) para o SQL Server 2005 SP2 e o SQL Server 2008 ambos apresentar 4112 sinalizador de rastreamento. Depois de aplicar o pacote de atualização cumulativo (compilação 3175) para SQL Server 2005 SP2, você deve ativar o sinalizador de traço 4112 para resolver esse problema. Para obter informações sobre como habilitar um sinalizador de rastreamento do SQL Server 2005, consulte a seção "Comentários" do site do MSDN (Microsoft Developer Network):

Etapas para reproduzir o problema

  1. Inicie o SQL Server Management Studio e conecte-se a uma instância do SQL Server 2005.
  2. Criar uma nova consulta e execute as instruções a seguir.
    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_IDFROM   [<LinkedServerName>].[<DatabaseName>].DBO.DISCOUNTS JWHERE  J.DISCOUNTTYPE = @supervisorID       AND J.DISCOUNT = (SELECT MAX(B.DISCOUNT)                         FROM   [<LinkedServerName>].<DatabaseName>.DBO.DISCOUNTS B                         WHERE  B.DISCOUNTTYPE = J.DISCOUNTTYPE)GO
    Anotações
    • <LinkedServerName>é um espaço reservado para o nome do servidor vinculado.
    • <InstanceName>é um espaço reservado para o nome de instância para o servidor vinculado.
    • <DatabaseName>é um espaço reservado para o nome do banco de dados.
Depois de executar essas instruções, você recebe as mensagens de erro mencionadas na seção "Sintomas".

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 936223 - Última Revisão: 02/02/2010 02:29:51 - Revisão: 2.0

  • 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
  • kbmt kbsql2005engine kbexpertiseadvanced kbfix kbpubtypekc kbqfe KB936223 KbMtpt
Comentários
id=1&t=">?DI=4050&did=1&t=">ementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> om/ms.js'><\/script>"); pixel.aspx">