DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 955695 - Ultima modifica: giovedì 16 giugno 2011 - Revisione: 1.0

 
Importante In questo articolo contiene informazioni su come modificare il Registro di sistema. Assicurarsi di eseguire il backup del Registro di sistema prima di modificarlo. Assicurarsi di sapere come ripristinarlo in caso di problemi. Per ulteriori informazioni su come eseguire il backup, ripristinare e modificare il Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
articolo 322756  (http://support.microsoft.com/kb/322756/ ) Come eseguire il backup e ripristinare il Registro di sistema in Windows
Microsoft distribuisce le correzioni di Microsoft SQL Server 2005 come file scaricabili. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente di SQL Server 2005.

In questa pagina

Sintomi

Si consideri il seguente scenario.
  • In Microsoft SQL Server 2005 o SQL Server 2008, è possibile eseguire uno script Transact-SQL in un passaggio in un processo di Agente SQL Server.
  • Nel passaggio, la prima istruzione restituisce un messaggio di errore.
  • Le istruzioni successive anche restituiscono uno o più messaggi di errore.
In questo scenario, quando si esegue il processo di Agente SQL Server, è probabile che le istruzioni successive non vengono elaborate e il passaggio restituisce erroneamente lo stato di successo. I risultati delle istruzioni successive vengono troncati.

Cause

Agente SQL Server 2005 utilizza il driver di SQL Native Client (SQLNCLI. dll) per connettersi a un'istanza di SQL Server 2005. Agente SQL Server 2000 utilizza il driver ODBC di SQL Server (Sqlsrv32. dll) per connettersi a Microsoft SQL Server 2000. Una modifica nel token di dati tabulari flusso (TDS) errore restituito da SQL Server a SQL Server Agent genera una differenza di comportamento tra i due driver. Di conseguenza, la differenza di comportamento tra le due versioni di SQL Server Agent.

Risoluzione

SQL Server 2005

La correzione di questo problema è stata rilasciata prima volta nell'aggiornamento cumulativo 9. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2005 Service Pack 2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
953752  (http://support.microsoft.com/kb/953752/LN/ ) Pacchetto di aggiornamento cumulativo 9 per SQL Server 2005 Service Pack 2
Nota Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente di SQL Server 2005. Si consiglia di prendere in considerazione l'applicazione la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
937137  (http://support.microsoft.com/kb/937137/LN/ ) Versioni di SQL Server 2005 rilasciate dopo il rilascio di SQL Server 2005 Service Pack 2
Gli hotfix di Microsoft SQL Server 2005 vengono creati per SQL Server service pack specifici. È necessario applicare un hotfix di SQL Server 2005 Service Pack 2 per un'installazione di SQL Server 2005 Service Pack 2. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

SQL Server 2008

La correzione di questo problema è incorporata in versiom la versione RTM di SQL Server 2008. Tuttavia, per attivare l'hotfix, si può ancora apportare le modifiche del Registro di sistema descritti nella sezione "Ulteriori informazioni".

Workaround

Per risolvere questo problema, aggiungere un'istruzione SELECT fittizia come prima istruzione del passaggio.

Status

Microsoft ha confermato che questo è un problema con i prodotti elencati nella sezione "Si applica a".

Informazioni

Messaggio di avviso Se si modifica il Registro di sistema in modo non corretto utilizzando l'Editor del Registro di sistema o un altro metodo, può causare seri problemi. Questi problemi potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non garantisce che questi problemi possano essere risolti. Modificare il Registro di sistema a proprio rischio.
Per attivare questo hotfix, è necessario creare la seguente voce del Registro di sistema e impostare questa voce del Registro di sistema su 0:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<mssql.x>\SQLServerAgent\TruncateJobResultOnError<b00></b00></mssql.x>

Nota In questa voce del Registro di sistema <mssql.x></mssql.x>rappresenta l'ID dell'istanza di SQL Server. È necessario modificarla per il valore corretto per l'istanza.

Se si desidera disattivare l'aggiornamento rapido, impostare la voce del Registro di sistema TruncateJobResultOnError su 1.

Procedura per riprodurre il problema

  1. Creare una stored procedure estesa. Ad esempio, creare il campione extended stored procedure denominata xp_hello.
  2. Creare un processo di Agente SQL Server e quindi aggiungere le istruzioni che seguono in un passaggio di processo dell'agente SQL Server:
    declare @txt int
    exec xp_hello @txt OUTPUT
    RAISERROR('One or more operations failed to complete.', 16, 1)
    
  3. Eseguire il processo di Agente SQL Server.
Quando il xp_hello extended stored procedure restituisce un errore del livello di gravità 1 e la voce di registro TruncateJobResultOnError è impostata su 0, il passaggio di processo viene contrassegnato come non riuscito. I risultati di xp_hello extended stored procedure e l'istruzione RAISERROR vengono acquisiti nella cronologia del processo. Quando si esamina la cronologia del processo, si riscontra che il livello di gravità dei passaggi è 16.

Quando il xp_hello extended stored procedure restituisce un errore del livello di gravità 1 e la voce di registro TruncateJobResultOnError è impostata su 1, il passaggio di processo è contrassegnato come un successo. Solo il risultato della xp_hello stored procedure estesa viene acquisito nella storia del processo. Il risultato dell'istruzione RAISERROR viene troncato. Quando si esamina la cronologia del processo, si riscontra che il livello di gravità dei passaggi è 1.

Quando il xp_hello extended stored procedure restituisce un errore del livello di gravità 11 e la voce di registro TruncateJobResultOnError è impostata su 0, il passaggio di processo viene contrassegnato come non riuscito. I risultati di xp_hello la stored procedure estesa e l'istruzione RAISERROR sono presenti nella cronologia del processo. Quando si esamina la cronologia del processo, si riscontra che il livello di gravità dei passaggi è 16.

Quando il xp_hello extended stored procedure restituisce un errore del livello di gravità 11 e la voce di registro TruncateJobResultOnError è impostata su 1, il passaggio di processo viene contrassegnato come non riuscito. Solo il risultato della xp_hello stored procedure estesa viene acquisito nella cronologia del processo. Il risultato dell'istruzione RAISERROR viene troncato. Quando si esamina la cronologia del processo, si riscontra che il livello di gravità dei passaggi è 11.

Per ulteriori informazioni sulla differenza tra livello di gravità dei messaggi di errore, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
309802  (http://support.microsoft.com/kb/309802/ ) FIX: Una chiamata a un'istruzione RAISERROR in un batch Transact-SQL può causare un processo SQLAgent esito negativo e perdita di output in SQL Server
903086  (http://support.microsoft.com/kb/903086/ ) CORREZIONE: Il processo batch esecuzione verrà interrotta e il processo è troncato quando si esegue uno script Transact-SQL come un processo di SQL Server Agent in SQL Server 2000
Per ulteriori informazioni su quali file vengono modificati e per informazioni su eventuali prerequisiti per applicare il pacchetto di aggiornamento cumulativo che include l'aggiornamento rapido descritto in questo articolo della Microsoft Knowledge Base, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
953752  (http://support.microsoft.com/kb/953752/LN/ ) Pacchetto di aggiornamento cumulativo 9 per SQL Server 2005 Service Pack 2

Riferimenti

Per ulteriori informazioni sull'elenco delle generazioni che sono disponibili dopo SQL Server Service Pack 2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
937137  (http://support.microsoft.com/kb/937137/LN/ ) Versioni di SQL Server 2005 rilasciate dopo il rilascio di SQL Server 2005 Service Pack 2
Per ulteriori informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
935897  (http://support.microsoft.com/kb/935897/LN/ ) Modello di manutenzione incrementale è disponibile dal team di SQL Server per offrire gli hotfix per i problemi segnalati
Per ulteriori informazioni su come ottenere SQL Server 2005 Service Pack 2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
913089  (http://support.microsoft.com/kb/913089/LN/ ) Come ottenere il service pack più recente per SQL Server 2005
Per ulteriori informazioni sulle nuove funzionalità e i miglioramenti apportati a SQL Server 2005 Service Pack 2, visitare il seguente sito Web Microsoft:
all'indirizzo http://go.microsoft.com/fwlink/?LinkId = 71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
Per ulteriori informazioni sullo schema di denominazione per gli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
822499  (http://support.microsoft.com/kb/822499/LN/ ) Nuovo schema di denominazione per i pacchetti di aggiornamento del software Microsoft SQL Server
Per ulteriori informazioni sulla terminologia degli aggiornamenti software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
824684  (http://support.microsoft.com/kb/824684/ ) Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
Chiavi: 
kbsql2005tool kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbmt KB955695 KbMtit
Traduzione automatica articoliTraduzione 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.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 955695  (http://support.microsoft.com/kb/955695/en-us/ )
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.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store