Mensagem de erro quando você executa uma consulta de servidor vinculado no SQL Server: "Tempo limite expirou"

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

Neste artigo

Sintomas

Você pode ver uma das seguintes mensagens de erro quando você executa uma consulta de servidor vinculado:
Servidor: Mensagem 7399, nível 16, estado 1, linha 1 provedor do OLE DB 'SQLOLEDB' relatou um erro. [O provedor OLE/DB retornou de que tempo limite expirou]
- ou -
Servidor: Mensagem 7399, nível 16, estado 1, linha 1 provedor do OLE DB 'SQLOLEDB' relatou um erro. Execução finalizada pelo provedor de porque o limite de um recurso foi atingido. [Provedor OLE/DB retornado mensagem: tempo limite expirou]
Erro 7399 é uma mensagem de erro genérico que o provedor retorna, que indica que há algum tipo de problema. Você deve usar o sinalizador de rastreamento 7300 para receber uma mensagem de erro mais detalhadas e úteis do provedor. A saída do sinalizador de rastreamento 7300 pode ajudar a determinar se este artigo aborda a mensagem de 7399 erro específico que você recebe.

Se você executar um DBCC TRACEON (7300, 3604) instrução e em seguida, executar a consulta, você pode ver informações adicionais na mensagem de erro; Entretanto, se você ver a obter mais informações dependem do provedor ou não, usar. Por exemplo:

Servidor: Mensagem 7399, nível 16, estado 1, linha 1 provedor do OLE DB 'SQLOLEDB' relatou um erro. [Provedor OLE/DB retornado mensagem: tempo limite expirou] Rastreamento de erro de OLE [provedor OLE/DB 'SQLOLEDB' IDBInitialize::Initialize retornou 0 x 80004005:].
- ou -
Servidor: Mensagem 7399, nível 16, estado 1, linha 1 provedor do OLE DB 'SQLOLEDB' relatou um erro. Execução finalizada pelo provedor de porque o limite de um recurso foi atingido. [Provedor OLE/DB retornado mensagem: tempo limite expirou] Rastreamento de erro de OLE [provedor OLE/DB 'SQLOLEDB' ICommandText::Execute retornado 0x80040e31: execução finalizada pelo provedor de porque o limite de um recurso foi atingido.].

Causa

Há duas opções de tempo limite configurável que afetam a execução de consultas remotas. As mensagens de erro ocorrem quando uma consulta excede os valores de opção de tempo limite. Consulte a seção "Mais informações" deste artigo para obter mais detalhes sobre as opções de tempo limite.

Como Contornar

Para contornar isso, você pode reconfigurar a configuração de tempo limite.

Com base em qual tipo de erro que você encontrar, você pode reconfigurar o tempo limite definindo da seguinte forma:
  • Definir o tempo limite de logon remoto para 30 segundos, utilizando este código:
    sp_configure 'remote login timeout', 30
    go 
    reconfigure with override 
    go 
    					
  • Defina o tempo de consulta remota limite para 0 (espera infinita), utilizando este código:
    sp_configure 'remote query timeout', 0 
    go 
    reconfigure with override 
    go 
    					

REFERÊNCIAS

Para obter mais informações sobre a configuração de tempo limite do logon remoto e onde IDBInitialize::Initialize é chamado, consulte o tópico "Conectar-se para um provedor OLE DB" no MSDN ou no Microsoft SQL Server 7.0 Resource Guide no BackOffice Resource Kit.

Você também pode consultar os seguintes tópicos no MSDN para obter uma descrição de como o processador de consultas interage com um provedor OLE DB para permitir consultas distribuídas e heterogêneas:
  • Microsoft SQL Server 2000 distribuídos consultas: Conectividade de banco de dados de OLE
  • Básico OLE DB

Mais Informações

A primeira mensagem de erro se refere ao método IDBInitialize:Initialize .

Quando a consulta tenta estabelecer uma conexão com o servidor remoto, a primeira mensagem de erro ocorre se o tempo de consulta para estabelecer uma conexão excede o valor de opção tempo limite do logon remoto .

A segunda mensagem de erro se refere ao método ICommandText::Execute .

Este mensagens indica que a consulta demorou mais tempo para processar que o tempo que está especificado na configuração de tempo limite de consulta remota .

Por padrão, no Microsoft SQL Server 7.0, a configuração de tempo limite é zero (0 - espera infinito). Por padrão, no SQL Server 2000 e no SQL Server 2005, a configuração de tempo limite é 600 (10 minutos).

Propriedades

ID do artigo: 314530 - Última revisão: quinta-feira, 29 de dezembro de 2005 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palavras-chave: 
kbmt kbprb KB314530 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: 314530

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