Oprava: Chybová zpráva při použití funkce tabulky hodnotou (TVF) spolu s operátorem CROSS použít v dotazu v SQL Server 2005: „ je dispozici dostatek paměti ke spuštění tohoto dotazu „

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

924954
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Chyba č: 50000224 (SQL Hotfix)
Společnost Microsoft distribuuje opravy Microsoft SQL Server 2005 jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každé nové vydání obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání.
Souhrn
Tento článek popisuje následující o tomto vydání opravy hotfix:
  • Problémy opravené balíčkem oprav hotfix
  • Požadavky pro použití balíčku opravy hotfix
  • Zda třeba restartovat počítač po instalaci balíčku opravy hotfix
  • nahrazení balíčku oprav hotfix jiným balíčkem oprav hotfix
  • Zda je nutné provést libovolné změny registru po instalaci balíčku opravy hotfix
  • soubory obsažené v balíčku oprav hotfix
Příznaky
Předpokládejme následující situaci. Microsoft SQL Server 2005 pomocí funkce tabulky hodnotou (TVF) spolu s operátorem CROSS použít v dotazu. Použít TVF Transact-SQL nebo společného jazykového modulu runtime (CLR) TVF. V tomto případě se může zobrazit následující chybová zpráva:
Msg 701, úroveň 17 Stav 123, řádek 2
Je nedostatek systémové paměti ke spuštění tohoto dotazu.
Tento problém se obvykle dojít pokud tabulce na levé straně dotazu vytváří mnoho řádků.
Příčina
K tomuto problému dochází, protože paměti používané pro parametry TVF není uvolněna, dokud dotaz byl ukončen. Při použití TVF spolu s operátorem CROSS použít TVF může být volána mnohokrát i při spuštění dotazu jednou. Když TVF nazývá mnohokrát, velké množství paměti je spotřebována.
Řešení

Informace o opravě hotfix

K dispozici je podporovaná oprava hotfix od společnosti Microsoft. Tato oprava hotfix je však určena pouze k opravě problému popsanému v tomto článku. Použijte tuto opravu hotfix pouze u systémů, kde dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Pokud Vás tento problém závažně nepostihuje, doporučujeme počkat na další aktualizaci softwaru, která bude tuto opravu hotfix obsahovat.

Pokud je oprava hotfix k dispozici ke stažení, v horní části tohoto článku je sekce "Hotfix stažení k dispozici". Pokud tento oddíl nevidíte, obraťte se na Technickou podpora společnosti Microsoft pro získání opravy hotfix.

Poznámka: Pokud vyskytnout další problémy nebo jakékoli řešení potíží je vyžadován, pravděpodobně budete muset vytvořit zvláštní požadavek na službu. Výdaje na technickou podporu se týkají dalších otázek a problémů, které nelze vyřešit pomocí této opravy konkrétní opravy hotfix. Navštivte následující web společnosti Microsoft pro získání telefonního čísla na Zákaznické centrum, nebo pokud chcete vytvořit samostatnou žádost o podporu: Poznámka: Zobrazí formulář "Hotfix stažení k dispozici" jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, oprava hotfix není k dispozici pro daný jazyk.

Požadavky

  • Microsoft SQL Server 2005 Service Pack 1 (SP1)

    Informace o získání SQL Server 2005 SP1 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
    913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005

Informace o restartování

Nemáte po instalaci opravy hotfix restartovat počítač.

Informace o registru

Nemáte změna registru.

Informace o souboru opravy hotfix

Tato oprava hotfix obsahuje pouze soubory, které jsou nutné k opravě problémů uvedených v tomto článku. Oprava hotfix nemusí obsahovat všechny soubory nutné k plné aktualizaci produktu na nejnovější verzi.

Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v položce Datum a čas v ovládacím.
SQL 2005, 32bitové verze
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Logread.exe2005.90.2192.0398,11219. Září 200615: 10X86
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019. Září 200615: 11X86
Microsoft.analysisservices.deploymentengine.dll9.0.2192.0138,01619. Září 200615: 09X86
Microsoft.analysisservices.dll9.0.2192.01,215,26419. Září 200615: 10X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.075,55219. Září 200615: 08X86
Microsoft.SQLServer.sqlenum.dll9.0.2192.0908,06419. Září 200615: 10X86
Msgprox.dll2005.90.2192.0197,92019. Září 200615: 09X86
Msmdlocal.dll9.0.2192.015,609,63219. Září 200615: 11X86
Msmdredir.dll9.0.2192.03,990,30419. Září 200615: 11X86
Replprov.dll2005.90.2192.0547,61619. Září 200615: 11X86
Replrec.dll2005.90.2192.0782,11219. Září 200615: 10X86
Sqlaccess.dll2005.90.2192.0347,93619. Září 200615: 10X86
Sqlagent90.exe2005.90.2192.0319,26419. Září 200615: 10X86
Sqlservr.exe2005.90.2192.028,962,13619. Září 200615: 12X86
Xpstar90.dll2005.90.2192.0292,64019. Září 200614: 02X86
Xpstar90.rll2005.90.2192.0152,86419. Září 200615: 10X86
SQL Server 2005 x 64 verze
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Logread.exe2005.90.2192.0522,52819. Září 200614: 23X64
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019. Září 200614: 23X86
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019. Září 200615: 11X86
Microsoft.analysisservices.deploymentengine.dll9.0.2192.0138,01619. Září 200615: 09X86
Microsoft.analysisservices.dll9.0.2192.01,215,26419. Září 200615: 10X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.091,42419. Září 200614: 21X64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.075,55219. Září 200615: 08X86
Microsoft.SQLServer.sqlenum.dll9.0.2192.0875,29619. Září 200614: 20X86
Msgprox.dll2005.90.2192.0259,36019. Září 200614: 22X64
Msmdlocal.dll9.0.2192.015,609,63219. Září 200615: 11X86
Msmdredir.dll9.0.2192.03,990,30419. Září 200615: 11X86
Replprov.dll2005.90.2192.0745,24819. Září 200614: 20X64
Replrec.dll2005.90.2192.01,008,41619. Září 200614: 21X64
Sqlaccess.dll2005.90.2192.0355,10419. Září 200614: 23X86
Sqlagent90.exe2005.90.2192.0390,94419. Září 200614: 23X64
Sqlservr.exe2005.90.2192.039,350,04819. Září 200614: 21X64
Xpstar90.dll2005.90.2192.0540,96019. Září 200614: 23X64
Xpstar90.rll2005.90.2192.0153,37619. Září 200614: 21X64
SQL 2005, verze na architektuře Itanium
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Logread.exe2005.90.2192.01,095,45619. Září 200613: 52IA-64
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019. Září 200613: 51X86
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019. Září 200615: 11X86
Microsoft.analysisservices.deploymentengine.dll9.0.2192.0138,01619. Září 200615: 09X86
Microsoft.analysisservices.dll9.0.2192.01,215,26419. Září 200615: 10X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.0163,10419. Září 200613: 50IA-64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.075,55219. Září 200615: 08X86
Microsoft.SQLServer.sqlenum.dll9.0.2192.0875,29619. Září 200613: 52X86
Msgprox.dll2005.90.2192.0542,49619. Září 200613: 51IA-64
Msmdlocal.dll9.0.2192.048,585,50419. Září 200613: 53IA-64
Msmdredir.dll9.0.2192.06,237,47219. Září 200613: 53IA-64
Replprov.dll2005.90.2192.01,617,18419. Září 200613: 52IA-64
Replrec.dll2005.90.2192.02,141,47219. Září 200613: 52IA-64
Sqlaccess.dll2005.90.2192.0349,47219. Září 200613: 51X86
Sqlagent90.exe2005.90.2192.01,143,58419. Září 200613: 52IA-64
Sqlservr.exe2005.90.2192.072,233,76019. Září 200613: 53IA-64
Xpstar90.dll2005.90.2192.0951,07219. Září 200613: 51IA-64
Xpstar90.rll2005.90.2192.0152,35219. Září 200613: 50IA-64
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Další informace
Při spuštění dotazu Transact-SQL si následující položky zvýšit postupně dokud dojde k chybě 701:
  • Účetní CACHESTORE_SQLCP paměti z sys.dm_os_memory_clerks zobrazení správy operačního systému serveru SQL
  • Objekt MEMOBJ_XSTMT paměti z sys.dm_os_memory_objects zobrazení správy operačního systému serveru SQL
Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Postup reprodukce problému

  1. Rychlejší problém reprodukovat, konfigurovat SQL Server 2005 použijte malé množství paměti. Chcete-li to provést, spusťte následující skript SQL Server 2005.
    -- Enable advanced optionsUSE masterEXEC sp_configure 'show advanced options', 1goRECONFIGURE WITH OVERRIDEgo-- Set the maximum amount of memory to 300 MBexec sp_configure 'max server memory', 300goreconfigure with overridegodbcc freeproccachego
  2. Zastavit a restartovat službu SQL Server, spusťte následující příkazy příkazového řádku:
    net stop mssqlserver
    net start mssqlserver
  3. V SQL Server 2005 spusťte následující příkazy Transact-SQL.
    drop table tgocreate table t (c1 int, c2 int, c3 int, c4 int, c5 int, c6 int, c7 int, c8 int, c9 int, c10 int)godrop function fn_testgocreate function fn_test (@p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int)returns @t table (c1 nvarchar(4) )with schemabindingasbegininsert into @t values (N'abcd')returnendgodrop function fn_scalargocreate function fn_scalar (@p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int)returns nvarchar(4) with schemabindingasbegindeclare @s nvarchar (4)set @s = N'abcd' return @sendgodrop function fn_test2gocreate function fn_test2 ()returns @t table (c1 nvarchar(4) )with schemabindingasbegininsert into @t values (N'abcd')returnendgoset nocount ongodeclare @i intset @i = 0while @i < 5000000begininsert into t values (@i, @i, @i, @i, @i, @i, @i, @i, @i, @i)set @i = @i + 1endgo-- The following select query returns the 701 error if you restrict max server memory to 300 MBselect count(*) from t cross apply dbo.fn_test(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10)
Poznámka: Tyto kroky použijte TVF Transact-SQL. K tomuto problému také dochází při použití TVF CLR.

Upozornění: Tento článek byl přeložen automaticky

Vlastnosti

ID článku: 924954 - Poslední kontrola: 01/17/2015 16:08:31 - Revize: 1.6

  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
  • kbnosurvey kbarchive kbmt kbautohotfix kbfix kbsql2005tsql kbexpertiseadvanced kbhotfixserver kbqfe kbpubtypekc KB924954 KbMtcs
Váš názor