KORRIGERA: Den första körningen av xp_cmdshell lagrade proceduren slutförs inte förrän den senaste körningen är klar i SQL Server 2012

Artikelöversättning Artikelöversättning
Artikel-id: 2671318
Visa alla | Dölj alla

På den här sidan

Microsoft distribuerar Microsoft SQL Server 2012 korrigeringar i en nedladdningsbar fil. Korrigeringar är kumulativa och innehåller alla snabbkorrigeringar för varje ny utgåva och alla uppdateringar som ingår i föregående SQL Server 2012 uppdatera versionen.

Symptom

Anta att du kör många xp_cmdshell lagrade procedurer samtidigt på flera sessioner i Microsoft SQL Server 2012. Den första körningen av xp_cmdshell lagrade proceduren slutförs inte i den här situationen tills den senaste körningen är klar.

Orsak

Det här problemet beror på ett handtag ärvs av de processer som öppnas när du kör xp_cmdshell lagrade procedurer samtidigt.

CreateProcess API kräver arv handtaget för att omdirigera utdata och fel standardmeddelandet. Om flera körningar av xp_cmdshell lagrade proceduren körs samtidigt, kan nyligen öppnade processer ärva handtaget från befintliga processer. Xp_cmdshell lagras emellertid förfarande väntar på handtaget som ska stängas av öppna processer. Därför när flera processer ärver handtaget, måste alla xp_cmdshell körningar vänta tills handtaget stängs av processen längsta körs.

Lösning

Lös det här problemet gäller följande kumulativa uppdateringen. Denna uppdatering lägger till alternativ för CreateProcess API-STARTUPINFOEX som förhindrar arv handtag för gränsöverskridande processen.

Kumulativ uppdateringsinformation

Kumulativt uppdateringspaket 1 för SQL Server 2012 Service Pack 1

Korrigeringsfil för problemet gavs först ut i kumulativ uppdatering 1. Mer information om hur du hämtar paketet kumulativ uppdatering för SQL Server 2012 Service Pack 1 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2765331 Kumulativt uppdateringspaket 1 för SQL Server 2012 Service Pack 1
Obs! Eftersom byggen är kumulativa, varje ny version av korrigeringsfilen innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2012. Vi rekommenderar att du använder den senaste utgåvan, korrigering, som innehåller den här snabbkorrigeringen. Mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2772858 SQL Server 2012 bygger som har getts ut efter SQL Server 2012 Service Pack 1

SQLServer 2012

Korrigeringsfil för problemet gavs först ut i den kumulativa uppdateringen 4. Mer information om hur du hämtar paketet kumulativ uppdatering för SQL Server 2012 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2758687 Kumulativt uppdateringspaket 4 för SQL Server 2012
Obs! Eftersom byggen är kumulativa, varje ny version av korrigeringsfilen innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2012. Vi rekommenderar att du använder den senaste utgåvan, korrigering, som innehåller den här snabbkorrigeringen. Mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2692828 SQL Server 2012 bygger som har getts ut efter SQL Server 2012

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Referenser

Mer information om funktionen CreateProcess finns på följande MSDN-webbplats:
Allmän information om funktionen CreateProcess
Mer information om xp_cmdshell lagrade procedur finns på följande MSDN-webbplats:
Allmän information om xp_cmdshell lagrad procedur
Mer information om liknande problem klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
315939 PRB: Underordnade ärver oavsiktliga handtag under CreateProcess-anrop

Egenskaper

Artikel-id: 2671318 - Senaste granskning: den 20 november 2012 - Revision: 2.0
Nyckelord: 
kbtshoot kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2671318 KbMtsv
Maskinöversatt
VIKTIGT: Denna artikel är översatt av Microsofts automatiska översättningsprogram och inte av en mänsklig översättare. För att Du skall ha åtkomst till alla artiklar i Knowledge Base på Ditt föredragna språk så är en del artiklar översatta av människor och en del artiklar av översättningsprogram. Tänk på att en artikel som är översatt av ett översättningsprogram inte alltid är perfekt. Artikeln kan innehålla fel ord, grammatik eller meningsbyggnad, ungefär som en utländsk talare kan göra misstag när han eller hon pratar med Dig på Ditt språk. Microsoft ansvarar inte för eventuella felaktigheter i översättningen, fel eller skador som orsakats av någon felöversättning av innehållet eller våra kunders användande av det översatta innehållet. Microsoft uppdaterar kontinuerligt mjukvaran för översättningsprogrammet.
Den engelska versionen av artikeln är följande: 2671318

Ge feedback

 

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