FIX: Stored procedure CLR restituisce NULL dopo di esso viene ricompilata in SQL Server 2008 R2 o in SQL Server 2008

Traduzione articoli Traduzione articoli
Identificativo articolo: 2536225 - Visualizza i prodotti a cui si riferisce l?articolo.
Microsoft distribuisce Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 risolve i problemi come un unico file scaricabile. 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 SQL Server 2008 R2 o SQL Server 2008.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri il seguente scenario:
  • È possibile creare una routine di runtime (CLR) memorizzato linguaggio comune per una Microsoft SQL Server 2008 R2 o in un database di Microsoft SQL Server 2008.
  • La stored procedure CLR viene implementata come un metodo statico pubblico che restituisce un valore integer in Microsoft.NET Framework.
  • Si esegue un'applicazione che chiama la stored procedure CLR. La stored procedure CLR restituisce un valore corretto.
  • Per eseguire alcune operazioni di ricompilare il piano di esecuzione per la stored procedure CLR.

    Nota Per ulteriori informazioni su come sia possibile ricompilare il piano di esecuzione della stored procedure, vedere la sezione "Ulteriori informazioni".
  • Si esegue nuovamente l'applicazione.
In questo scenario, la stored procedure CLR restituisce erroneamente un valore NULL. Inoltre, è necessario riavviare il servizio di SQL Server per risolvere questo problema.

Risoluzione

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 Service Pack 3

Innanzitutto, la correzione di questo problema è stata rilasciata nell'aggiornamento cumulativo, 2 per SQL Server 2008 Service Pack 3. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2633143 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2008 Service Pack 3
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 2008 SQL Server. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2629969 Il 2008 SQL Server generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 Service Pack 3
Gli aggiornamenti rapidi Microsoft SQL Server 2008 vengono creati per service Pack specifici di SQL Server. È necessario applicare un aggiornamento rapido SQL Server 2008 Service Pack 3 per un'installazione di SQL Server 2008 Service Pack 3. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack SQL Server è incluso nel prossimo service pack di SQL Server.

SQL Server 2008 R2 Service Pack 1

Innanzitutto, la correzione di questo problema è stata rilasciata nell'aggiornamento cumulativo, 2 per SQL Server 2008 R2 Service Pack 1. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2567714 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2008 R2 Service Pack 1
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 SQL Server 2008 R2. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2567616 Il SQL Server 2008 R2 generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

La correzione di questo problema è stata rilasciata prima 8 aggiornamento cumulativo. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2534352 Pacchetto di aggiornamento cumulativo 8 per SQL Server 2008 R2
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 SQL Server 2008 R2. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
981356 Il SQL Server 2008 R2 generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 R2

Informazioni

Per ricompilare il piano di esecuzione della stored procedure, eseguire una delle seguenti operazioni:
  • Eseguire il DBCCFREEPROCCACHE istruzione.
  • Su una tabella o vista, eseguire una delle seguenti istruzioni:
    • MODIFICA TABELLA
    • ISTRUZIONE ALTER VIEW
  • Eseguire un piano di esecuzione che cambia o Elimina gli indici.
  • Eseguire un Aggiornamento operazione di statistiche che vengono utilizzati per il piano di esecuzione.

    Nota È possibile eseguire un'istruzione per eseguire il Aggiornamento l'operazione, o il Aggiornamento operazione può essere eseguita automaticamente.
  • Eseguire il sp_recompile istruzione.
  • Apportare modifiche alle chiavi.

    Ad esempio, utilizzare un account utente che aggiorna una tabella in cui viene fatto riferimento da un'istruzione per eseguire il INSERISCI o ELIMINA istruzione.
  • Inserire o eliminare il numero di righe da una tabella che contiene i trigger.
  • Utilizzare il CON LA RICOMPILAZIONE opzione per eseguire una stored procedure.

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Riferimenti

Per ulteriori informazioni sulla stored procedure CLR, visitare il seguente sito Web MSDN:
Informazioni generali su CLR stored procedure

Per ulteriori informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
935897Un modello di manutenzione incrementale è disponibile dal team di SQL Server per offrire gli hotfix per i problemi segnalati
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:
822499Nuovo 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 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

Identificativo articolo: 2536225 - Ultima modifica: martedì 22 novembre 2011 - Revisione: 3.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Chiavi: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2536225 KbMtit
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.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2536225
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