Oprava: Při setkat scénář zablokování při použití proměnné Tabulka v SQL Server 2005 nebo SQL Server 2008

Chyba č: 50003816 (SQL Hotfix)

Společnost Microsoft distribuuje Microsoft SQL Server 2005 nebo SQL Server 2008 opravuje jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každá nová verze tedy obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2005 nebo SQL Server 2008 release.

Příznaky

V Microsoft SQL Server 2005 nebo Microsoft SQL Server 2008 může dojít zablokování scénář při spuštění dotazu, který se podobá následující:
INSERT <table variable> EXEC <stored procedure>

Řešení

Informace o kumulativní aktualizaci

SQL Server 2005 Service Pack 2

Důležité: Pokud používáte SQL Server 2005 Service Pack 2 je třeba použít tuto opravu.


Oprava tohoto problému byla vydána nejprve v kumulativní aktualizace 11 pro SQL Server 2005 Service Pack 2. Další informace o tomto balíčku kumulativní aktualizace klepněte na následující číslo článku databáze Microsoft Knowledge Base:
958735 kumulativní aktualizace 11 pro SQL Server 2005 Service Pack 2
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a verzí oprav všech oprav zabezpečení, které byly součástí předchozích SQL Server 2005. Společnost Microsoft doporučuje zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
937137 SQL Server 2005 vytvoří, které byly vydány po vydání serveru SQL Server 2005 Service Pack 2
Opravy hotfix pro Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2005 Service Pack 2 musí použít k instalaci aplikace SQL Server 2005 Service Pack 2. Ve výchozím žádné opravy hotfix, která je poskytována v aktualizace service pack serveru SQL Server je součástí další aktualizaci service pack pro SQL Server.

SQL Server 2005 Service Pack 3

Důležité: Pokud používáte SQL Server 2005 Service Pack 3 je třeba použít tuto opravu.


Oprava tohoto problému byla vydána rovněž dále v kumulativní aktualizaci 1 pro SQL Server 2005 Service Pack 3. Další informace o tomto balíčku kumulativní aktualizace klepněte na následující číslo článku databáze Microsoft Knowledge Base:
959195 kumulativní aktualizace 1 pro SQL Server 2005 Service Pack 3
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a verzí oprav všech oprav zabezpečení, které byly součástí předchozích SQL Server 2005. Společnost Microsoft doporučuje zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
960598 SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 3
Opravy hotfix pro Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2005 Service Pack 3 musí použít k instalaci aplikace SQL Server 2005 Service Pack 3. Ve výchozím žádné opravy hotfix, která je poskytována v aktualizace service pack serveru SQL Server je součástí další aktualizaci service pack pro SQL Server.

SQL Server 2008

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 3. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
960484 kumulativní aktualizace 3 pro SQL Server 2008
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
956909 SQL Server 2008 sestavení, které byly vydány po vydání SQL Server 2008

Jak potíže obejít

Chcete-li tento problém vyřešit, použijte dočasné tabulky namísto proměnné typu tabulka.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Další informace

Když nastane tento problém, události podobné následující jsou zaznamenány v protokolu chyb serveru SQL Server:
<Date Time> spid4s      Deadlock encountered .... Printing deadlock information<Date Time> spid4s      Wait-for graph
<Date Time> spid4s
<Date Time> spid4s Node:1

<Date Time> spid4s OBJECT: 2:416629173:0 CleanCnt:3 Mode:Sch-S Flags: 0x0
<Date Time> spid4s Grant List 1:
<Date Time> spid4s Owner:0x05617D00 Mode: Sch-S Flg:0x0 Ref:1 Life:00000000 SPID:56 ECID:0 XactLockInfo: 0x158308D4
<Date Time> spid4s SPID: 56 ECID: 0 Statement Type: INSERT Line #: 64
<Date Time> spid4s Input Buf: RPC Event: Proc [Database Id = 28 Object Id = 160719625]
<Date Time> spid4s Requested By:
<Date Time> spid4s ResType:LockOwner Stype:'OR'Xdes:0x1B907648 Mode: Sch-M SPID:56 BatchID:0 ECID:0 TaskProxy:(0x4B938364) Value:0x561f060 Cost:(N/A)
<Date Time> spid4s Deadlock monitor failed to resolve this deadlock.
Server may require restart to recover from this condition
<Date Time> spid4s Using 'dbghelp.dll' version '4.0.5'
<Date Time> spid14s deadlock-list
<Date Time> spid14s deadlock victim=process0
<Date Time> spid14s process-list
<Date Time> spid14s process id=process9285c8 waitresource=OBJECT: 2:416629173:0 waittime=12593 ownerId=1746104 transactionname=droptemp lasttranstarted=<Date Time> XDES=0x1b907648 lockMode=Sch-M schedulerid=2 kpid=8652 status=suspended spid=56 sbid=0 ecid=0 priority=0 transcount=1 lastbatchstarted=<Date Time> lastbatchcompleted=<Date Time> clientapp=WstClient hostname=PTONEBOX02 hostpid=21660 loginname=NT AUTHORITY\NETWORK SERVICE isolationlevel=read committed (2) xactid=1745726 currentdb=28 lockTimeout=4294967295 clientoption1=673316896 clientoption2=128056
<Date Time> spid14s executionStack
<Date Time> spid14s frame procname=Group.dbo.psp_GroupEntityChangesGet line=64 stmtstart=4052 stmtend=4830 sqlhandle=0x03001c0009639409d6a1a100289b00000100000000000000
<Date Time> spid14s INSERT @t_Rowset
<Date Time> spid14s EXEC @i_ReturnCode = @vc_ProcName
<Date Time> spid14s @i_ReleaseVersion = @i_ReleaseVersion
<Date Time> spid14s ,@bi_ScopeID = @bi_ScopeID
<Date Time> spid14s ,@dt_StartDatetime = @dt_StartDatetime
<Date Time> spid14s ,@dt_EndDatetime = @dt_EndDatetime
<Date Time> spid14s ,@f_ReturnAll = @f_ReturnAll
<Date Time> spid14s ,@i_MaxRows = @i_MaxRows
<Date Time> spid14s ,@f_MoreRows = @f_MoreRows OUTPUT
<Date Time> spid14s inputbuf
<Date Time> spid14s Proc [Database Id = 28 Object Id = 160719625]
<Date Time> spid14s resource-list
<Date Time> spid14s objectlock lockPartition=0 objid=416629173 subresource=FULL dbid=2 objectname=tempdb.dbo.#18D541B5 id=lock13849a80 mode=Sch-S associatedObjectId=416629173
<Date Time> spid14s owner-list
<Date Time> spid14s owner id=process9285c8 mode=Sch-S
<Date Time> spid14s waiter-list
<Date Time> spid14s waiter id=process9285c8 mode=Sch-M requestType=wait
<Date Time> spid4s **Dump thread - spid = 4, PSS = 0x059DA7D8, EC = 0x059DA7E0
<Date Time> spid4s ***Stack Dump being sent to <drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\<dumpname>.txt
<Date Time> spid4s * *******************************************************************************
<Date Time> spid4s *
<Date Time> spid4s * BEGIN STACK DUMP:
<Date Time> spid4s * <Date Time> spid 4
<Date Time> spid4s *
<Date Time> spid4s * Unresolved deadlock
<Date Time> spid4s *
<Date Time> spid4s *
<Date Time> spid4s * *******************************************************************************

SQL Server 2005

Další informace o jaké soubory byly změněny a informace o všechny požadavky nutné pro instalaci balíčku kumulativní aktualizace obsahující opravy hotfix popsané v tomto článku znalostní báze Microsoft Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
958735 kumulativní aktualizace 11 pro SQL Server 2005 Service Pack 2

SQL Server 2008

Další informace o jaké soubory byly změněny a informace o všechny požadavky nutné pro instalaci balíčku kumulativní aktualizace obsahující opravy hotfix popsané v tomto článku znalostní báze Microsoft Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
960484 kumulativní aktualizace 3 pro SQL Server 2008

Odkazy

Další informace o seznamu sestavení, které jsou k dispozici po SQL Server Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
937137 SQL Server 2005 vytvoří, které byly vydány po vydání serveru SQL Server 2005 Service Pack 2
Další informace o přírůstkové Model servis pro SQL Server získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
935897 dílčí Model obsluhy je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže
Další informace o možnostech získání aktualizace SQL Server 2005 Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
913089 jak získat nejnovější aktualizaci service pack pro SQL Server 2005
Další informace o nových funkcích a vylepšeních v aktualizaci SQL Server 2005 Service Pack 2 naleznete na následujícím webu společnosti Microsoft:Další informace o schéma názvů pro aktualizace serveru SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
822499 nové schéma přidělování názvů pro Microsoft SQL Server software balíčky aktualizací.
Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Vlastnosti

ID článku: 960283 - Poslední kontrola: 14. 1. 2017 - Revize: 1

Váš názor