Oprava: Nástroj The Osql.exe Transact-SQL skriptu zcela Pokud nespustí spusťte program ze vzdálené relace pomocí služby pozadí a odhlaste se od relace konzoly

Překlady článku Překlady článku
ID článku: 843282 - Produkty, které se vztahují k tomuto článku.
Chyba #: 471423 (SQL Server 8.0)
Společnost Microsoft distribuuje opravy hotfix Microsoft SQL Server 2000 jako jeden soubor ke stažení. Protože jsou kumulativní opravy hotfix, každé nové vydání obsahuje všechny opravy hotfix a opravy všech zabezpečení, které byly součástí předchozí vydání opravy hotfix SQL Server 2000.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Po spuštění nástroje osql (Osql.exe) pomocí služby pozadí jako SQL Server Agent nebo Plánovač úloh Microsoft Windows, pokud odhlášení uživatele z relace konzoly v počítači, můžete si všimnout, že nástroj osql zastaví a zcela nespustí Transact-SQL skriptu je předán do nástroje osql. Přestože nástroj osql přestane bez zcela spuštění skriptů Transact-SQL, služba pozadí označuje úspěšné úlohy. Například SQL Server Agent zobrazí stav jako úspěšné.

Příčina

Při odhlášení uživatele z relace konzoly počítače operační systém odešle zprávu CTRL_LOGOFF_EVENT nástroje osql. Nástroje osql zpracuje tuto zprávu, pokud jako interaktivní spuštění nástroje osql v relaci konzoly počítače. Proto zastaví proces.

Řešení

Informace o aktualizaci Service Pack

Tento problém vyřešíte získat nejnovější aktualizaci service pack pro 2000 Microsoft SQL Server. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
290211Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2000

Informace o opravě hotfix

Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v ovládacím panelu Datum a čas.
   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      
				
Poznámka: Vzhledem k závislostem souborů může nejnovější oprava hotfix, která obsahuje tyto soubory obsahovat také další soubory.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt. Tento problém byl poprvé opraven v Microsoft SQL Server 2000 Service Pack 4.

Další informace

Kroky pro reprodukci tohoto chování

  1. Otevřít relaci klienta terminálového serveru počítače.
  2. Spusťte program Poznámkový blok.
  3. V poznámkovém bloku napsat skript Transact-SQL, který spouští dlouhou dobu. Například použít následující skript Transact-SQL, který má nekonečnou smyčku:
    declare @variable int
    set @variable= 2
    while (@variable > 1)
    begin
    print @variable
    set @variable= @variable + 1
    end
  4. Skript uložte jako InstallationDrive \Test.sql.

    Poznámka:InstallationDrive je zástupný symbol pro výchozí jednotka instalace v počítači.
  5. V relaci klienta terminálového serveru spustit nástroje osql pomocí jednu z následujících metod:
    • Použití Windows Plánovač úloh
      1. V Ovládacích panelech otevřete naplánované úlohy.
      2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz Naplánovaná úloha.
      3. Poklepejte na Nový úkol otevřete dialogové okno Nová úloha.
      4. Do pole Spustit zadejte následující příkaz:
        "InstallationDrive: \Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive: \Test.sql
        Poznámka:InstallationDrive je zástupný symbol pro výchozí jednotka instalace v počítači.
      5. Zadejte do pole PočátečníInstallationDrive: \Program Files\Microsoft SQL Server\80\Tools\Binn.
      6. Na kartě plán Změna plánu časování a klepněte na tlačítko OK.
      7. Nastavit účet informační dialogové okno, zadejte uživatelský účet a heslo přihlašovací účet a potom klepněte na tlačítko OK.
      8. Klepněte pravým tlačítkem myši na úlohu, kterou jste vytvořili a potom klepněte na příkaz Spustit.
      9. Je spuštěn naplánovanou úlohu, přihlaste se k relaci konzoly a odhlášení z relace konzoly v počítači.
    • Použití SQL Server Agent
      1. Spustit SQL Server Enterprise Manager.
      2. Rozbalte registrované instance SQL Server.
      3. Ve skupinovém rámečku název serveru rozbalte položku Správa a poté rozbalte položku SQL Server Agent.
      4. Ve skupinovém rámečku SQL Server Agentúlohy klepněte pravým tlačítkem myši a klepněte na tlačítko Nová úloha.
      5. Na kartě Obecné v poli název zadejte název úlohy.
      6. Na kartě kroky klepněte na tlačítko Nový.
      7. Na kartě Obecné zadejte název pro krok v poli Název kroku.
      8. V seznamu Typ klepněte na tlačítko Příkaz operačního systému (CmdExec).
      9. V poli příkaz zadejte "InstallationDrive: \Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive: \Test.sql -o InstallationDrive: \Test.txt a potom klepněte na tlačítko OK.

        Poznámka:InstallationDrive je zástupný symbol pro výchozí jednotka instalace v počítači.
      10. V dialogu Vlastnosti nového projektu - SQLServerName klepněte na tlačítko OK.
      11. Klepněte pravým tlačítkem myši na úlohu, kterou jste vytvořili a klepněte na možnost Spustit úlohu.
      12. Je spuštěna úloha přihlášení k relaci konzoly a odhlášení z relace konzoly v počítači.
    Všimněte si, které naplánovanou úlohu nebo úlohu je zastaven při odhlášení relace konzoly počítače SQL Server Agent. Také všimnout naplánované úlohy nebo SQL Server Agent ohlásí úspěch stav úlohy.

Odkazy

Další informace navštivte následující webové servery Microsoft Developer Network (MSDN):
Použití souborů skriptů Transact-SQL osql systémem
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

Vlastnosti

ID článku: 843282 - Poslední aktualizace: 2. listopadu 2007 - Revize: 3.3
Informace v tomto článku jsou určeny pro produkt:
  • 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 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Klíčová slova: 
kbmt kbkern32dll kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB843282 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:843282

Dejte nám zpětnou vazbu

 

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