Você receberá uma mensagem de erro quando você tenta executar consultas distribuídas de um cliente SQL Server de 64 bits para um vinculado de SQL Server de 32 bits

Traduções deste artigo Traduções deste artigo
ID do artigo: 906954 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário: Definir um servidor vinculado para um 2000instance do Microsoft SQL Server de 32 bits ou aSQL Server 7.0instance como usando o sp_addlinkedserver armazenados procedimento ou uma ferramenta que chama esse procedimento. Em seguida, tentar executar consultas distribuídas através do servidor de SQL para that64 bits de 32-bit SQL Server 2000 ou SQL Server 7.0 servidor vinculado. Nesse cenário, você pode enfrentar um dos seguintes sintomas:
  • Se o servidor do SQL Server 2000 de 32 bits não foi upgradedto SQL Server 2000 Service Pack 3 (SP3) ou Service Pack 4(SP4) do SQL Server 2000, você recebe a seguinte mensagem de erro:
    O ODBCcatalog armazenado procedimentos instalados no servidor <LinkedServerName>areversion <OldVersionNumber>; versão <NewVersionNumber>ou posterior isrequired para garantir a operação correta. Entre em contato com o administrador do sistema.</NewVersionNumber> </OldVersionNumber> </LinkedServerName>
  • Você recebe uma mensagem de erro se o verdadeiro conditionsare seguintes:
    • SQL Server 2000 SP3 ou SQL Server 2000 SP4 é instalado no servidor do SQL Server 2000 de 32 bits ou usar o servidor vinculado do SQL Server 7.0.
    • As versões do sistema procedimentos armazenados no servidor do SQL Server 2000 de 32 bits ou no servidor do SQL Server 7.0 são diferentes da versão do service pack que está instalada no servidor.
    A mensagem de erro é semelhante à seguinte:
    O procedimento armazenado necessário para concluir esta operação foi notbe encontrado no servidor. Entre em contato com o administrador do sistema.
    Msg7311, nível 16, estado 2, linha 1
    Não é possível obter o conjunto de linhas do esquema "DBSCHEMA_TABLES_INFO" para o provedor do OLE DB "SQLNCLI" para o servidor vinculado "<LinkedServerName>". O provedor dá suporte à interface, mas retorna código de afailure quando ele é usado. </LinkedServerName>
Observação Se você usar o servidor vinculado do SQL Server 2000 e o servidor não foi atualizado para o SQL Server 2000 SP3 ou SQL Server 2000 SP4, você deve primeiro instalar SQL Server 2000 SP3 ou SQL Server 2000 SP4.

Causa

Esse problema ocorre porque o sistema armazenado proceduresare não atualizado como parte da instalação do service pack. Você deve atualizar manualmente os procedimentos armazenados do sistema após a instalação do SQL Server 2000 Service Pack (SP3) ou o SQL Server 2000 Service Pack 4 (SP4) executando Instcat.

Resolução

Para resolver esse problema, backup do banco de dados mestre, em seguida, executar manualmente o script Instcat SQL incluído no SQL Server 2000 SP3 ou SP4 no servidor do SQL Server 2000 de 32 bits ou na instância do SQL Server 7.0. Nenhuma reinicialização do SQL Server é necessária.

Exemplos de execução Instcat usando Osql.exe:

Usar o modo de autenticação do Windows

Para usar o modo de autenticação do Windows para atualizar o sistema procedimentos armazenados em uma instância de 32 bits do SQL Server 2000 ou no servidor do SQL Server 7.0, execute estas etapas:
  1. Faça logon no computador usando uma conta do Windows que é amember da função de servidor fixa sysadmin do SQL Server.
  2. Clique em Executar, tipocmd.exee, em seguida, clique em OK.
  3. No prompt de comando, digite um dos seguintes comandos e pressione ENTER:

    Para uma instância padrão
    osql -E -S <LinkedServerName> -i <Location>\instcat.sql
    Para uma instância nomeada
    osql -E -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql
    Observação<LinkedServerName></LinkedServerName>,<InstanceName></InstanceName>, e<Location></Location> representa o nome de servidor vinculado, o nome da instância e o caminho completo da pasta que contém o script theInstcat.sql. Por padrão, esta pasta é C:\Program Files\Microsoft SQLServer\MSSQL\Install.
Usar o modo de autenticação do SQL Server

Para usar o modo de autenticação do SQL Server para atualizar o sistema procedimentos armazenados em uma instância de 32 bits do SQL Server 2000 ou em um servidor do SQL Server 7.0, execute estas etapas:
  1. Faça logon no computador usando qualquer Windowsaccount.
  2. Clique em Executar, tipocmd.exee, em seguida, clique em OK.
  3. No prompt de comando, digite o seguinte comando e thenpress ENTER:

    Para uma instância padrão
    osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName> -i <Location>\instcat.sql
    Para uma instância nomeada
     
    osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql
    
    Observação<AdminLogin></AdminLogin> e<AdminPassword></AdminPassword> representam o Orchestratorque de usuário é um membro da função de servidor fixa sysadmin do SQL Server.
Observação Depois de executar o script Instcat SQL, várias mensagens são geradas. A última mensagem indica se o script foi executado com êxito.

Situação

A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplica-se a".

Propriedades

ID do artigo: 906954 - Última revisão: sábado, 21 de junho de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbsqlsetup kbsql2005connect kbprb kbmt KB906954 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 906954

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