Oprava: SQL Server 2005 není uvolňují místo na disku je přiděleno do dočasné tabulky, pokud je zastavena uložené procedury

ID článku: 931843 - Produkty, které se vztahují k tomuto článku.
Chyba č: 50000769 (SQL Hotfix)
Chyba č: 501162 (SQLBUDT)
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í.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje následující o tomto vydání opravy hotfix:
  • Problémy opravené balíčkem oprav hotfix
  • požadavky pro instalaci balíčku oprav hotfix,
  • zda je nutné restartování počítače po instalaci balíčku oprav hotfix,
  • nahrazení balíčku oprav hotfix jiným balíčkem oprav hotfix
  • zda je nutné provedení změn v registru,
  • soubory obsažené v balíčku oprav hotfix

Příznaky

Předpokládejme následující situaci:
  • V Microsoft SQL Server 2005 máte uloženou proceduru, která vytvoří dočasnou tabulku. Uložená procedura také vloží data do dočasné tabulky.
  • Explicitní transakce není spuštěn uložené procedury.
  • Při spuštění uložené procedury uložené procedury je zastaven pro jednu z následujících důvodů:
    • Vyvolá výjimku.
    • Proces serveru ID (SPID) zastaví proces spustí uloženou proceduru.
V tomto scénáři SQL Server 2005 není uvolňují místo na disku je přiděleno do dočasné tabulky. Může se také zobrazit některá z následujících chybových zpráv:
Chybová zpráva 1
Chyba 1101: Nelze přidělit nové stránky pro databáze 'tempdb kvůli nedostatku místa na disku v filegroup ' FilegroupName. Uvolněním objekty filegroup, přidáním další soubory filegroup nebo nastavení autogrowth na existující soubory filegroup vytvořit potřebné místo.
Chybová zpráva 2
Chyba 1105: Nelze přidělit místo pro objekt ' ObjectName v databázi 'tempdb protože filegroup ' FilegroupName je plný. Vytvořit místo na disku odstraněním nepotřebných souborů, uvolněním objekty filegroup, přidáním další soubory filegroup nebo nastavení autogrowth na existující soubory filegroup.

Řešení

Informace o kumulativní aktualizaci

Chcete-li tento problém vyřešit, získat balíček kumulativní aktualizace (sestavení 3161) pro SQL Server 2005 Service Pack 2. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
935356Balíček kumulativní aktualizace (sestavení 3161) pro SQL Server 2005 Service Pack 2 je k dispozici

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:
http://support.microsoft.com/contactus/?ws=support
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

Musíte mít nainstalován tuto opravu hotfix Microsoft SQL Server 2005 Service Pack 1 (SP1). Další informace o získání SQL Server 2005 Service Pack 1 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í

Po instalaci této opravy hotfix není třeba počítač restartovat.

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.
Verze SQL Server 2005 32 bitů
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Databasemailengine.dll9.0.2218.075,12031. 1. 200716: 48X86
Logread.exe2005.90.2218.0400,75231. 1. 200716: 48X86
Microsoft.analysisservices.adomdclient.dll9.0.2218.0546,16031. 1. 200716: 48X86
Microsoft.analysisservices.deploymentengine.dll9.0.2218.0140,65631. 1. 200716: 48X86
Microsoft.analysisservices.dll9.0.2218.01,217,90431. 1. 200716: 48X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2218.078,19231. 1. 200716: 48X86
Microsoft.SQLServer.sqlenum.dll9.0.2218.0910,70431. 1. 200716: 48X86
Msasxpress.dll9.0.2218.024,94431. 1. 200716: 48X86
Msgprox.dll2005.90.2218.0200,56031. 1. 200716: 48X86
Msmdlocal.dll9.0.2218.015,645,55231. 1. 200716: 48X86
Msmdredir.dll9.0.2218.03,993,96831. 1. 200716: 48X86
Mssqlsystemresource.ldfNelze použít524,28830. 1. 200718: 10Nelze použít
Mssqlsystemresource.mdfNelze použít40,108,03230. 1. 200718: 10Nelze použít
Qrdrsvc.exe2005.90.2218.0369,52031. 1. 200716: 48X86
Rdistcom.dll2005.90.2218.0643,44031. 1. 200716: 48X86
Repldp.dll2005.90.2218.0187,24831. 1. 200716: 48X86
Replmerg.exe2005.90.2218.0320,88031. 1. 200716: 49X86
Replprov.dll2005.90.2218.0550,25631. 1. 200716: 49X86
Replrec.dll2005.90.2218.0784,75231. 1. 200716: 49X86
Replsub.dll2005.90.2218.0407,40831. 1. 200716: 49X86
Spresolv.dll2005.90.2218.0177,00831. 1. 200716: 49X86
Sqlaccess.dll2005.90.2218.0350,57631. 1. 200716: 49X86
Sqlagent90.exe2005.90.2218.0321,39231. 1. 200716: 49X86
Sqlservr.exe2005.90.2218.028,977,06431. 1. 200716: 49X86
Sysdbupg.SQLNelze použít218,48629. Prosince 200613: 53Nelze použít
Xmlsub.dll2005.90.2218.0195,44031. 1. 200716: 49X86
Xpstar90.dll2005.90.2218.0295,28031. 1. 200716: 49X86
Xpstar90.rll2005.90.2218.0155,50431. 1. 200716: 49X86
SQL Server 2005 x 64 verze
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Databasemailengine.dll9.0.2218.075,12031. 1. 200700: 17X86
Logread.exe2005.90.2218.0525,16831. 1. 200700: 18X64
Microsoft.analysisservices.adomdclient.dll9.0.2218.0546,16031. 1. 200716: 48X86
Microsoft.analysisservices.adomdclient.dll9.0.2218.0546,16031. 1. 200700: 18X86
Microsoft.analysisservices.deploymentengine.dll9.0.2218.0140,65631. 1. 200716: 48X86
Microsoft.analysisservices.dll9.0.2218.01,217,90431. 1. 200716: 48X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2218.078,19231. 1. 200716: 48X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2218.094,06431. 1. 200700: 18X64
Microsoft.SQLServer.sqlenum.dll9.0.2218.0877,93631. 1. 200700: 18X86
Msasxpress.dll9.0.2218.024,94431. 1. 200716: 48X86
Msasxpress.dll9.0.2218.030,06431. 1. 200700: 18X64
Msgprox.dll2005.90.2218.0262,00031. 1. 200700: 18X64
Msmdlocal.dll9.0.2218.015,645,55231. 1. 200716: 48X86
Msmdredir.dll9.0.2218.03,993,96831. 1. 200716: 48X86
Mssqlsystemresource.ldfNelze použít524,28830. 1. 200718: 10Nelze použít
Mssqlsystemresource.mdfNelze použít40,108,03230. 1. 200718: 10Nelze použít
Qrdrsvc.exe2005.90.2218.0434,03231. 1. 200700: 18X64
Rdistcom.dll2005.90.2218.0836,46431. 1. 200700: 18X64
Repldp.dll2005.90.2218.0187,24831. 1. 200716: 48X86
Repldp.dll2005.90.2218.0237,93631. 1. 200700: 18X64
Replmerg.exe2005.90.2218.0417,64831. 1. 200700: 18X64
Replprov.dll2005.90.2218.0747,88831. 1. 200700: 18X64
Replrec.dll2005.90.2218.01,011,05631. 1. 200700: 18X64
Replsub.dll2005.90.2218.0528,24031. 1. 200700: 18X64
Spresolv.dll2005.90.2218.0225,64831. 1. 200700: 18X64
Sqlaccess.dll2005.90.2218.0357,74431. 1. 200700: 18X86
Sqlagent90.exe2005.90.2218.0392,56031. 1. 200700: 18X64
Sqlservr.exe2005.90.2218.039,406,96031. 1. 200700: 18X64
Sysdbupg.SQLNelze použít218,48629. Prosince 200613: 53Nelze použít
Xmlsub.dll2005.90.2218.0319,85631. 1. 200700: 18X64
Xpstar90.dll2005.90.2218.0543,60031. 1. 200700: 18X64
Xpstar90.rll2005.90.2218.0156,01631. 1. 200700: 18X64
Architektura verze SQL Server 2005 Itanium
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Databasemailengine.dll9.0.2218.075,12031. 1. 200700: 20X86
Logread.exe2005.90.2218.01,098,09631. 1. 200700: 20IA-64
Microsoft.analysisservices.adomdclient.dll9.0.2218.0546,16031. 1. 200716: 48X86
Microsoft.analysisservices.adomdclient.dll9.0.2218.0546,16031. 1. 200700: 20X86
Microsoft.analysisservices.deploymentengine.dll9.0.2218.0140,65631. 1. 200716: 48X86
Microsoft.analysisservices.dll9.0.2218.01,217,90431. 1. 200716: 48X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2218.078,19231. 1. 200716: 48X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2218.0165,74431. 1. 200700: 20IA-64
Microsoft.SQLServer.sqlenum.dll9.0.2218.0877,93631. 1. 200700: 20X86
Msasxpress.dll9.0.2218.024,94431. 1. 200716: 48X86
Msasxpress.dll9.0.2218.057,71231. 1. 200700: 20IA-64
Msgprox.dll2005.90.2218.0545,13631. 1. 200700: 20IA-64
Msmdlocal.dll9.0.2218.048,717,16831. 1. 200700: 20IA-64
Msmdredir.dll9.0.2218.06,249,32831. 1. 200700: 20IA-64
Mssqlsystemresource.ldfNelze použít524,28830. 1. 200718: 10Nelze použít
Mssqlsystemresource.mdfNelze použít40,108,03230. 1. 200718: 10Nelze použít
Qrdrsvc.exe2005.90.2218.0943,98431. 1. 200700: 20IA-64
Rdistcom.dll2005.90.2218.01,884,01631. 1. 200700: 20IA-64
Repldp.dll2005.90.2218.0187,24831. 1. 200716: 48X86
Repldp.dll2005.90.2218.0511,34431. 1. 200700: 20IA-64
Replmerg.exe2005.90.2218.0957,29631. 1. 200700: 20IA-64
Replprov.dll2005.90.2218.01,619,82431. 1. 200700: 20IA-64
Replrec.dll2005.90.2218.02,144,11231. 1. 200700: 20IA-64
Replsub.dll2005.90.2218.01,159,53631. 1. 200700: 20IA-64
Spresolv.dll2005.90.2218.0498,03231. 1. 200700: 20IA-64
Sqlaccess.dll2005.90.2218.0352,11231. 1. 200700: 20X86
Sqlagent90.exe2005.90.2218.01,143,66431. 1. 200700: 20IA-64
Sqlservr.exe2005.90.2218.072,436,59231. 1. 200700: 20IA-64
Sysdbupg.SQLNelze použít218,48629. Prosince 200613: 53Nelze použít
Xmlsub.dll2005.90.2218.0593,26431. 1. 200700: 20IA-64
Xpstar90.dll2005.90.2218.0953,71231. 1. 200700: 20IA-64
Xpstar90.rll2005.90.2218.0154,99231. 1. 200700: 20IA-64

Jak potíže obejít

Pro řešení tohoto problému, použijte jednu z následujících metod.

Metoda 1

V uložené proceduře použít proměnnou tabulky namísto dočasné tabulky.

Například máte následující prohlášení v uložené proceduře.
CREATE TABLE #tab (id INT, a CHAR(80))
Místo toho použijte následující příkaz.
DECLARE @tab TABLE (id INT, a CHAR(80))

Metoda 2

Spustit uloženou proceduru v explicitní transakce.

Například máte MySP uložené procedury. Použijte následující příkazy spustit proceduru MySP uloženy.
BEGIN TRANS
EXEC MySP
COMMIT

Metoda 3

V uložené proceduře provádět operace na dočasné tabulky explicitní transakce.

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

Pokud znáte důvod zastavena uložené procedury, můžete uloženou proceduru zabránit zastavení pomocí příkazu SET. SQL Server 2005 reclaims tedy místo na disku je přiděleno do dočasné tabulky.

Uloženou proceduru můžete například zabránit pomocí jedné z následujících tvrzení SET zastavení:
  • SET OFF XACT_ABORT
  • SET OFF ARITHABORT
Spustit následující příkaz získat počet stránek, které jsou přiděleny dočasných objektů v databázi tempdb v SQL Server 2005.
SELECT Name=so.name, TotalPages=total_pages
FROM tempdb.sys.objects so (NOLOCK)
JOIN tempdb.sys.partitions pa (nolock) ON so.object_id = pa.object_id
	LEFT JOIN tempdb.sys.allocation_units al (NOLOCK)
	ON (al.type in (1, 3) AND pa.hobt_id = al.container_id)
	OR (al.type = 2 AND pa.partition_id = al.container_id)
WHERE name LIKE '#%'
ORDER BY Name
in tento příkaz vrátí výsledek může mít mnoho objektů ve sloupci název hodnota je větší než 0 ve sloupci TotalPages. V tomto případě docházet k tomuto problému.

Poznámka: Objekt má ve sloupci TotalPages 0, je objekt v mezipaměti objektů. Objekt v mezipaměti je zkrácen namísto odstraněny. Toto chování má následující výhody:
  • Mezipaměti metadat v mezipaměti objektů.
  • Sníženo riziko konflikty v databázi tempdb.

Odkazy

Další informace o plánování kapacity databáze tempdb na webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms345368.aspx
Další informace o pojmenování schématu aktualizace SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů pro balíčky aktualizací softwaru Microsoft SQL Server
Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 931843 - Poslední aktualizace: 20. listopadu 2007 - Revize: 1.5
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Klíčová slova: 
kbmt kbautohotfix kbhotfixserver kbfix kbexpertiseadvanced kbqfe kbpubtypekc KB931843 KbMtcs
Strojově přeložený článek
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.
Projděte si také anglickou verzi článku:931843

Dejte nám zpětnou vazbu