FIX: L'utilitÓ Osql.exe non esegue completamente uno script Transact-SQL se si avvia il programma da una sessione remota utilizzando un servizio nel background e se quindi si disconnette la sessione di console

Traduzione articoli Traduzione articoli
Identificativo articolo: 843282 - Visualizza i prodotti a cui si riferisce l?articolo.
Che BUG #: 471.423 (SQL Server 8,0)
Microsoft distribuisce l'aggiornamento rapido di Microsoft SQL Server 2000 come un file scaricabili. PerchÚ gli aggiornamenti rapidi sono cumulativi, ogni nuovo rilascio contiene tutti gli aggiornamenti rapidi e tutta la protezione risolve, la versione precedenti di aggiornamento rapido di SQL Server 2000 quelli ha incluso.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Dopo aver avviato l'utilitÓ (Osql.exe) osql se un utente si disconnette dalla sessione di console nel computer utilizzando un servizio l'Agente SQL Server o il Microsoft Windows Task Scheduler quale nel background, Ŕ possibile notare che l'utilitÓ osql interrompe e che non esegue completamente lo script Transact-SQL passato per l'utilitÓ osql. Pur l'utilitÓ osql viene arrestata senza eseguire completamente lo script Transact-SQL, il servizio nel background indica che il processo era riuscito. Ad esempio, l'Agente SQL Server visualizza lo stato come Succeeded.

Cause

Quando un utente si disconnette dalla sessione di console del computer, il sistema operativo invia il messaggio CTRL LOGOFF EVENT all'utilitÓ osql. L'utilitÓ osql elabora questo messaggio come se l'utilitÓ osql si esegue nella sessione di console del computer nel modo interattivo. Pertanto si arresta il processo.

Risoluzione

Informazioni Service Pack

Per risolvere questo problema, ottenere il service pack pi¨ recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo del Microsoft Knowledge Base:
290211 Come ottenere il service pack di SQL Server 2000 pi¨ recente

Informazioni di correzione

La versione inglese di questa correzione ha gli attributi di file (o gli attributi successivi di file) quelli sono elencati nella seguente tabella. Le date e le volte per questi file sono visualizzate nel formato UTC nell'elenco. Quando si visualizzano le informazioni sul file, viene convertito nella base all'ora locale. Per cercare la differenza fra UTC e fra l'ora locale, utilizzare la scheda disponibile Fuso orario nello strumento Data e ora in Pannello di controllo.
   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: A causa delle dipendenze fra i file, anche la correzione pi¨ recente che contiene questi file pu˛ contenere i file aggiuntivi.

Status

Microsoft ha confermato che ci˛ Ŕ un problema nei prodotti Microsoft elencati nella sezione da "Applicare a". Questo problema veniva corretto per la prima volta in Service Pack 4 Server 2000 di Microsoft SQL.

Informazioni

Procedure per riprodurre il problema

  1. Aprire una sessione client di Terminal Server di un computer.
  2. Avviare il Blocco note.
  3. In Blocco note, scrivere uno script Transact-SQL eseguito per un periodo di tempo prolungato. Ad esempio, utilizzare il seguente script Transact-SQL che ha un ciclo infinito:
    declare @variable int
    set @variable= 2
    while (@variable > 1)
    begin
    print @variable
    set @variable= @variable + 1
    end
  4. Salvare lo script come \Test.sql InstallationDrive.

    InstallationDrive Nota Ŕ un segnaposto per l'unitÓ predefinita di installazione del computer.
  5. Nella sessione client di Terminal Server, avviare l'utilitÓ osql utilizzando uno dei seguenti metodi:
    • UtilitÓ di pianificazione Usa Windows
      1. In Pannello di controllo, aprire Operazioni pianificate.
      2. Dal menu File, scegliere Nuovo e quindi scegliere l' operazione pianificata.
      3. Fare doppio clic su Nuova attivitÓ per aprire la finestra di dialogo Nuova attivitÓ.
      4. Nella casella Esegui, digitare il seguente comando:
        "InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive:\Test.sql
        InstallationDrive Nota Ŕ un segnaposto per l'unitÓ predefinita di installazione del computer.
      5. Nella casella Partenza, digitare InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn.
      6. Nella scheda Pianificazione, modificare gli intervalli di pianificazione e quindi scegliere OK.
      7. Nella casella di dialogo Impostazione informazioni sull' account, digitare l'account utente e la password dell'account di accesso e quindi scegliere OK.
      8. Fare clic con il pulsante destro del processo che si Ŕ creato e quindi scegliere Esegui.
      9. Mentre si esegue l'operazione pianificata, accedere alla sessione di console e quindi si disconnettere dalla sessione di console nel computer.
    • Utilizzare Agente SQL Server
      1. Avviare SQL Server Enterprise Manager.
      2. Espandere l'istanza registrata di uno SQL Server.
      3. Con il nome di server, espandere Gestione e quindi Agente SQL Server espandere.
      4. Agente SQL Server, fare clic con il pulsante destro di Jobs e quindi scegliere Nuovo processo.
      5. Nella scheda Generale, digitare un nome per il processo nella casella Nome.
      6. Nella scheda Steps, scegliere il pulsante Nuovo.
      7. Nella scheda Generale, digitare un nome per il passaggio nella casella Step name.
      8. Nell'elenco Tipo, selezionare Operating System Command (CmdExec).
      9. Nella casella Comando, digitare "InstallationDrive:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql.exe" -E -i InstallationDrive:\Test.sql -o InstallationDrive:\Test.txt , e quindi sceglie OK.

        InstallationDrive Nota Ŕ un segnaposto per l'unitÓ predefinita di installazione del computer.
      10. In ProprietÓ nuovo processo SQLServerName Finestra di dialogo la casella, scegliere OK.
      11. Fare clic con il pulsante destro del processo che si Ŕ creato e quindi scegliere Avvia.
      12. Mentre si esegue il processo, accedere alla sessione di console e quindi si disconnettere dalla sessione di console nel computer.
    Si nota che l'operazione pianificata o il processo di SQL Server Agent interrompe quando si disconnette dalla sessione di console del computer. Si nota inoltre che l'operazione pianificata o l'Agente SQL Server segnala un successo dello stato del processo.

Riferimenti

Per ulteriori informazioni, visitare il seguente sito Web Network (MSDN) Microsoft Developer:
Eseguire l'osql Utilizzare File di script Transact-SQL
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

ProprietÓ

Identificativo articolo: 843282 - Ultima modifica: venerdý 2 novembre 2007 - Revisione: 3.2
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbbug kbfix kbkern32dll kbqfe kbsqlserv2000presp4fix kbhotfixserver KB843282 KbMtit kbmt
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Nel caso in cui si riscontrino degli errori e si desideri inviare dei suggerimenti, Ŕ possibile completare il questionario riportato alla fine del presente articolo.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 843282
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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