Correzione: La prima esecuzione della stored procedure xp_cmdshell non verrà completata fino al completamento nel 2012 SQL Server l'ultima esecuzione

Traduzione articoli Traduzione articoli
Identificativo articolo: 2671318 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Microsoft distribuisce le correzioni Microsoft SQL Server 2012 in un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e gli aggiornamenti della protezione inclusi con il precedente 2012 SQL Server rilascio dell'aggiornamento.

Sintomi

Si supponga di eseguire molte procedure xp_cmdshell archiviati contemporaneamente più sessioni di Microsoft SQL Server 2012. In questa situazione, la prima esecuzione della xp_cmdshell stored procedure non viene completata fino al completamento dell'ultima esecuzione.

Cause

Questo problema si verifica perché un handle viene ereditato dai processi che vengono aperte quando si esegue xp_cmdshell stored procedure nello stesso momento.

API CreateProcess richiede handle ereditarietà per reindirizzare il messaggio di errore e di output standard. Se più esecuzioni di xp_cmdshell stored procedure eseguite contemporaneamente, appena aperto processi possono ereditare l'handle da processi esistenti. Tuttavia, xp_cmdshell stored procedura attende l'handle chiuso da tutti i processi aperti. Pertanto, quando più processi ereditano l'handle, tutte le esecuzioni xp_cmdshell devono attendere l'handle viene chiuso dal processo di esecuzione più lungo.

Risoluzione

Per risolvere questo problema, applicare l'aggiornamento cumulativo seguente. Questo aggiornamento aggiunge opzioni di STARTUPINFOEX API CreateProcess per impediscono l'ereditarietà di handle per Cross-processo.

Informazioni sull'aggiornamento cumulativo

SQL Server 2012

La correzione di questo problema è stata rilasciata prima nell'aggiornamento cumulativo 4. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2012, fare clic sul numero l'articolo della Microsoft Knowledge Base riportato di seguito:
2758687 Pacchetto di aggiornamento cumulativo 4 per SQL Server 2012
Nota Poiché le versioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutte le correzioni fornite con il 2012 SQL Server precedente correggere rilascio. Si consiglia di considerare l'applicazione alla versione più recente di correzione contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
2692828 Il 2012 SQL Server versioni rilasciate dopo il rilascio di SQL Server 2012

Status

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

Riferimenti

Per ulteriori informazioni sulla funzione CreateProcess, visitare il seguente sito Web MSDN:
Informazioni generali sulla funzione CreateProcess
Per ulteriori informazioni sulla stored procedure xp_cmdshell, visitare il seguente sito Web MSDN:
Informazioni generali per la stored procedure xp_cmdshell
Per ulteriori informazioni su un problema analogo, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
315939 PRB: Figlio eredita maniglie indesiderate durante la chiamata CreateProcess

Proprietà

Identificativo articolo: 2671318 - Ultima modifica: lunedì 15 ottobre 2012 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
Chiavi: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2671318 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: 2671318
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