CORRECÇÃO: O utilitário Osql.exe não é executado um script Transact-SQL completamente se iniciar o programa a partir de uma sessão remota utilizando um serviço de fundo e em seguida, terminar a sessão a sessão da consola

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Pedíamos-lhe o favor de preencher o formulário existente no fundo desta página caso tenha encontrado erros neste artigo e tenha possibilidade de colaborar no processo de aperfeiçoamento desta ferramenta. Obrigado.

843282
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Erro n.º: 471423 (SQL Server 8.0)
Microsoft distribui as correcções do Microsoft SQL Server 2000 como um ficheiro que podem ser transferido. Porque as correcções são cumulativas, cada nova versão contém todos os as correcções e todos os a segurança corrige incluídas com versão da correcção anterior do SQL Server 2000.
Sintomas
Depois de iniciar o utilitário osql (Osql.exe) utilizando um serviço de fundo como o SQL Server Agent ou o Microsoft Windows o Programador de tarefas, que um utilizador inicie desactivar a partir da sessão da consola no computador, poderá notar que o utilitário osql pára e não completamente executar o script Transact-SQL que é transmitido para o utilitário osql. Mesmo que o utilitário osql pára sem executar completamente o script Transact-SQL, o serviço de fundo indica que a tarefa teve êxito. Por exemplo, SQL Server Agent apresenta o estado como .
Causa
Quando um utilizador termina a sessão a partir da sessão da consola do computador, o sistema operativo envia a mensagem para o utilitário osql. O utilitário osql processa esta mensagem tal como se o utilitário osql for executado de forma interactiva na sessão da consola do computador. Assim, o processo pára.
Resolução

As informações de serviço pack

Para resolver este problema, obtenha o Service Pack mais recente do Microsoft SQL Server 2000.. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base)::
290211 Como obter o Service Pack mais recente do SQL Server 2000

Informações sobre a correcção

A versão inglesa desta correcção tem os atributos de ficheiro listados na tabela que se segue (ou atributos de ficheiro posteriores).. A datas e horas para estes ficheiros encontram-se listadas no tempo universal coordenado (UTC). Ao visualizar as informações dos ficheiros, estas serão convertidas na hora local.. Para determinar a diferença entre a hora UTC e a hora local, utilize o separador na ferramenta Data e Hora no Painel de controlo.
   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      				
NOTA devido às dependências de ficheiros, a correcção mais recente que contém estes ficheiros também poderá conter ficheiros adicionais.
Ponto Da Situação
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".. Este problema foi primeiro corrigido no Microsoft SQL Server 2000 Service Pack 4.
Mais Informação

Passos para reproduzir o comportamento

  1. Abrir uma sessão de um computador cliente do Servidor de terminais.
  2. Iniciar o Bloco de notas.
  3. No Bloco de notas, escrever um script Transact-SQL para ser executada por um longo período de tempo. Por exemplo, utilize o seguinte script Transact-SQL que tenha um ciclo infinito:
    declare @variable intset @variable= 2while (@variable > 1)beginprint @variableset @variable= @variable + 1end
  4. Guarde o script como \Test.SQL .

    NOTA InstallationDrive é um marcador de posição para a unidade de instalação predefinida no computador.
  5. Na sessão do cliente de servidor de terminal, iniciar o utilitário osql, utilizando um dos seguintes métodos:
    • Utilizar o Programador de tarefas do Windows
      1. No Painel de controlo, abra Tarefas agendadas (Scheduled Tasks.
      2. No menu , aponte para , e em seguida, clique em .
      3. Faça duplo clique para abrir a caixa de diálogo .
      4. Na caixa , escreva o seguinte comando:
        "InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive:\Test.sql
        NOTA InstallationDrive é um marcador de posição para a unidade de instalação predefinida no computador.
      5. Na caixa , escreva InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn.
      6. No separador , altere as temporizações da agenda, e em seguida, clique em .
      7. Na caixa de diálogo , escreva a conta de utilizador e a palavra-passe da conta de início de sessão, e em seguida, clique em .
      8. Clique com o botão direito do rato na tarefa que tenha criado, e em seguida, clique em .
      9. Durante a execução da tarefa agendada, inicie sessão para uma sessão da consola, e em seguida, terminar a sessão a partir da sessão da consola no computador.
    • Utilizar SQL Server Agent
      1. Inicie SQL Server Enterprise Manager.
      2. Expanda a instância registada num servidor SQL.
      3. Sob o nome do servidor, expanda , e em seguida, expanda .
      4. Em , , clique com o botão direito do rato e clique em .
      5. No separador , escreva um nome para a tarefa na caixa .
      6. No separador , clique em .
      7. No separador , escreva um nome para o passo na caixa .
      8. Na lista , faça clique sobre .
      9. Na caixa , escreva "InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive:\Test.sql -o InstallationDrive:\Test.txt e em seguida, clique em .

        NOTA InstallationDrive é um marcador de posição para a unidade de instalação predefinida no computador.
      10. Na chave Novas propriedades da tarefa- diálogo caixa, clique em .
      11. Clique com o botão direito do rato na tarefa que tenha criado, e em seguida, clique em .
      12. Enquanto a tarefa está ser executado, inicie sessão para uma sessão da consola, e em seguida, terminar a sessão a partir da sessão da consola no computador.
    Reparar que a tarefa agendada ou o trabalho SQL Server Agent está parado quando termina a sessão sessão da consola do computador. É também repare que a tarefa agendada ou SQL Server Agent comunica um sucesso para o estado da tarefa.
Referências
Para mais informações, visite os Web sites que se segue Microsoft Developer Network (MSDN):

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 843282 - Última Revisão: 12/08/2015 07:32:08 - Revisão: 3.2

  • 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
  • kbnosurvey kbarchive kbbug kbfix kbkern32dll kbqfe kbsqlserv2000presp4fix kbhotfixserver KB843282 KbMtpt kbmt
Esta informação foi útil?