O utilitário OSQL.exe não FIX: executar Uma Transact - script SQL completamente se você iniciar o programa de um remoto sessão usando um serviço segundo plano e clique log a sessão do console

Traduções deste artigo Traduções deste artigo
ID do artigo: 843282 - Exibir os produtos aos quais esse artigo se aplica.
(SQL Server 8.0) 471423 BUG #:
Microsoft distribui hotfixes Microsoft SQL Server 2000 como um descarregável arquivo. Que porque os hotfixes são cumulativas, cada novo versão contém todos os hotfixes e todos os a segurança corrige que foram incluídos com o versão hotfix SQL Server 2000 anterior.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Depois que você iniciar o utilitário OSQL (Osql.exe) usando um serviço segundo plano como o SQL Server Agent ou o Microsoft Windows Task Scheduler, se um usuário efetua logoff da sessão do console sobre o computador, você pode aviso que o utilitário OSQL pára e faz não completamente executar o Transact - script SQL que é passado para o utilitário OSQL. Mesmo que o utilitário OSQL interrompe sem completamente execução o Transact - script SQL, o serviço segundo plano indica que o trabalho foi bem-sucedido. Para exemplo, o agente SQL Server exibe o status como êxito .

Causa

Quando um usuário efetua logoff da sessão do console do computador, o sistema operacional envia a mensagem CTRL_LOGOFF_EVENT para o utilitário OSQL. O utilitário OSQL processa esta mensagem como se o utilitário OSQL é executar interativamente na sessão do console do computador. Portanto, o processo pára.

Resolução

Informações pacote de serviço

Para resolver esse problema, obtenha o service pack mais recente do Microsoft SQL Server 2000.. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft::
290211 Como obter o pacote serviço SQL Server 2000 mais recente

Informações de hotfix

A versão em inglês desse hotfix apresenta os atributos de arquivo (ou atributos de arquivos posteriores) listados na tabela a seguir.. Datas e horários para esses arquivos são listados na Coordinated Universal Time (UTC). Quando você visualiza as informações sobre o arquivo, elas são convertidas para a hora local.. Para localizar a diferença entre UTC e local tempo, use a guia Fuso horário na ferramenta Data e hora em Control Panel.
   Date         Time   Version        Size       File name
   ------------------------------------------------------------------
   19-Jun-2004  02:44  2000.80.954.0    664,128  Autoplt.dll      
   19-Jun-2004  02:44  2000.80.954.0     78,400  Console.exe      
   19-Jun-2004  02:44  2000.80.954.0    315,968  Custtask.dll     
   19-Jun-2004  02:44  2000.80.954.0     33,340  Dbmslpcn.dll     
   08-Apr-2004  21:42                   786,432  Distmdl.ldf
   08-Apr-2004  21:42                 2,359,296  Distmdl.mdf
   10-Oct-2003  18:48                       180  Drop_repl_hotfix.sql
   19-Jun-2004  02:44  2000.80.954.0  1,905,216  Dtspkg.dll       
   19-Jun-2004  02:44  2000.80.954.0    528,960  Dtspump.dll      
   19-Jun-2004  02:44  2000.80.954.0  1,557,052  Dtsui.dll        
   19-Jun-2004  02:44  2000.80.954.0    639,552  Dtswiz.dll       
   10-Oct-2003  18:48                   747,927  Instdist.sql
   10-Oct-2003  18:48                     1,581  Inst_repl_hotfix.sql
   19-Jun-2004  02:44  2000.80.954.0    352,828  Isqlw.exe        
   19-Jun-2004  02:44  2000.80.954.0     82,492  Itwiz.exe        
   19-Jun-2004  02:44  2000.80.954.0     90,692  Msgprox.dll      
   19-May-2004  23:43  8.11.40209.0     209,408  Mssdi98.dll      
   19-Jun-2004  02:44  2000.80.954.0     62,024  Odsole70.dll     
   19-Jun-2004  02:45  2000.80.954.0     25,144  Opends60.dll     
   19-Jun-2004  02:44  2000.80.954.0     57,904  Osql.exe         
   19-Jun-2004  02:44  2000.80.954.0    279,104  Pfutil80.dll     
   10-Oct-2003  18:37                   550,780  Procsyst.sql
   08-Apr-2004  21:42                    12,305  Qfe469315.sql
   08-Apr-2004  21:42                    19,195  Qfe469571.sql
   17-Jun-2004  15:12                 1,105,167  Replmerg.sql
   19-Jun-2004  02:44  2000.80.954.0    221,768  Replprov.dll     
   19-Jun-2004  02:44  2000.80.954.0    307,784  Replrec.dll      
   17-Jun-2004  02:37  2000.80.954.0    159,813  Replres.rll
   10-Oct-2003  18:48                 1,087,150  Replsys.sql
   10-Oct-2003  18:48                   986,603  Repltran.sql
   19-Jun-2004  02:44  2000.80.954.0    287,304  Rinitcom.dll     
   19-Jun-2004  02:44  2000.80.954.0     78,416  Sdiclnt.dll      
   19-Jun-2004  02:44  2000.80.954.0     66,112  Semmap.dll       
   19-Jun-2004  02:44  2000.80.954.0     57,916  Semnt.dll        
   19-Jun-2004  02:44  2000.80.954.0    492,096  Semobj.dll       
   17-Jun-2004  03:14  2000.80.954.0    172,032  Semobj.rll
   19-Jun-2004  02:44  2000.80.954.0     53,832  Snapshot.exe     
   12-Mar-2004  03:10                   117,834  Sp3_serv_uni.sql
   19-Jun-2004  02:43  2000.80.954.0     28,672  Sqlagent.dll     
   19-Jun-2004  02:44  2000.80.954.0    311,872  Sqlagent.exe     
   19-Jun-2004  02:43  2000.80.954.0    168,001  Sqlakw32.dll     
   19-Jun-2004  02:44  2000.80.954.0     33,344  Sqlctr80.dll     
   19-Jun-2004  02:44  2000.80.954.0  4,215,360  Sqldmo.dll       
   19-Jun-2004  02:44                    25,172  Sqldumper.exe    
   17-Jun-2004  02:24  2000.80.954.0     28,672  Sqlevn70.rll
   19-Jun-2004  02:44  2000.80.954.0    180,792  Sqlmap70.dll     
   19-Jun-2004  02:44  2000.80.954.0    188,992  Sqlmmc.dll       
   17-Jun-2004  03:22  2000.80.954.0    479,232  Sqlmmc.rll
   19-Jun-2004  02:44  2000.80.954.0    401,984  Sqlqry.dll       
   19-Jun-2004  02:44  2000.80.954.0     57,920  Sqlrepss.dll     
   19-Jun-2004  02:44  2000.80.954.0  7,581,777  Sqlservr.exe     
   19-Jun-2004  02:44  2000.80.954.0    590,396  Sqlsort.dll      
   19-Jun-2004  02:44  2000.80.954.0     45,644  Sqlvdi.dll       
   19-Jun-2004  02:44  2000.80.954.0    106,588  Sqsrvres.dll     
   19-Jun-2004  02:44  2000.80.954.0     33,340  Ssmslpcn.dll     
   19-Jun-2004  02:44  2000.80.954.0     82,492  Ssnetlib.dll     
   19-Jun-2004  02:44  2000.80.954.0     25,148  Ssnmpn70.dll     
   19-Jun-2004  02:44  2000.80.954.0    123,456  Stardds.dll      
   19-Jun-2004  02:44  2000.80.954.0    158,240  Svrnetcn.dll     
   19-Jun-2004  02:44  2000.80.954.0     76,416  Svrnetcn.exe     
   19-Jun-2004  02:44  2000.80.954.0     49,228  Ums.dll          
   19-Jun-2004  02:44  2000.80.954.0     98,872  Xpweb70.dll      
				
Observação devido às dependências arquivo, o hotfix mais recente que contém esses arquivos também pode conter arquivos adicionais.

Situação

A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplica-se a".. Este problema primeiro foi corrigido no Microsoft SQL Server 2000 Service Pack 4.

Mais Informações

Etapas para reproduzir o comportamento

  1. Abrir uma sessão Terminal Server Client de um computador.
  2. Inicie o Bloco de notas..
  3. Em Bloco de Notas, escrever uma Transact - script SQL executada para um tempo longo. Para exemplo, use o seguinte Transact - script SQL que tenha um executar um loop infinito:
    declare @variable int
    set @variable= 2
    while (@variable > 1)
    begin
    print @variable
    set @variable= @variable + 1
    end
  4. Salve o script como \Test.sql InstallationDrive .

    Observação InstallationDrive é um espaço reservado para a unidade de instalação usar como padrão sobre o computador.
  5. Na sessão Terminal Server Client, iniciar o utilitário OSQL, usando um do seguinte métodos:
    • Usar o Agendador de tarefas Windows
      1. Tarefas agendadas no Painel de controle aberto.
      2. O menu Arquivo , apontar para Novo , e depois clique em Tarefa agendada .
      3. Clique duas vezes Nova Tarefa para aberto a caixa diálogo New Task .
      4. Na caixa Executar , a tipo o seguinte comando:
        "InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive:\Test.sql
        Observação InstallationDrive é um espaço reservado para a unidade de instalação usar como padrão sobre o computador.
      5. Na caixa Iniciar em , tipo InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn.
      6. Na guia Agendamento alteração intervalos cronograma, e depois clique OK .
      7. Na caixa diálogo Set Account Information tipo, a conta usuário e a senha da conta logon, e depois clique OK .
      8. Clique com o botão direito do mouse o trabalho que você criou, em seguida, clique e Executar .
      9. Enquanto a tarefa agendada é execução, log on to sessão console, e log logoff da sessão do console no computador.
    • Utilizar o agente SQL Server
      1. Inicie o SQL Server Enterprise Manager..
      2. Expanda a instância de um SQL Server registrada.
      3. No nome do servidor, expansão de gerenciamento , e clique expansão SQL Server Agent .
      4. Em agente SQL Server , clique com o botão direito do mouse Trabalhos , e seguida, clique Novo trabalho .
      5. Na guia Geral , tipo um nome para o trabalho na caixa a Nome .
      6. Na guia Etapas clique Novo .
      7. Na guia Geral , tipo um nome para a etapa na caixa a Etapa nome .
      8. A lista type , clique em Comando Brazilian OS (cmdExec) .
      9. Na caixa de comando , tipo "InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive:\Test.sql -o InstallationDrive:\Test.txt e depois clique OK .

        Observação InstallationDrive é um espaço reservado para a unidade de instalação usar como padrão sobre o computador.
      10. Na Novas propriedades do trabalho - SQLServerName caixa diálogo, clique OK .
      11. Clique com o botão direito do mouse em seguida, clique e o trabalho que você criou, Iniciar trabalho .
      12. Enquanto o trabalho está execução, log on to sessão console, e log logoff da sessão do console no computador.
    Você aviso que a tarefa agendada ou o trabalho SQL Server Agent é interrompido quando você log a sessão do console do computador. Você também aviso que a tarefa agendada ou o SQL Server Agent relata um sucesso para o status do trabalho.

Referências

Para obter mais informações, visite o seguinte Microsoft Developer Network (MSDN) sites da Web:
Executando Transact arquivos script SQL usando OSQL-
http://msdn2.microsoft.com/en-us/library/aa213087(SQL.80).aspx

SetConsoleCtrlHandler
http://msdn2.microsoft.com/en-us/library/ms686016.aspx

HandlerRoutine
http://msdn2.microsoft.com/en-us/library/ms683242.aspx

Propriedades

ID do artigo: 843282 - Última revisão: sexta-feira, 2 de novembro de 2007 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Palavras-chave: 
kbbug kbfix kbkern32dll kbqfe kbsqlserv2000presp4fix kbhotfixserver KB843282 KbMtpt kbmt
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). Caso tenha encontrado erros neste artigo e queira colaborar no processo de aperfeiçoamento desta ferramenta, por favor preencha o formulário existente na parte inferior desta página. Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 843282

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