Vylepšení souběžnosti databáze tempdb

Překlady článku Překlady článku
ID článku: 328551 - Produkty, které se vztahují k tomuto článku.
BUG #: 362099 (SHILOH_BUGS)
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Když databáze tempdb databáze je zatížen, serveru SQL Server mohou nastat konflikty Když se pokusí přidělit stránek.

Od sysprocesses výstupní tabulky systému, waitresource, pravděpodobně zobrazí jako "2: 1: 1" (PFS Stránky) nebo "2: 1: 3" (stránka SGAM). V závislosti na stupni sporu může to rovněž vést k zobrazování odpovídat serveru SQL Server pro krátké období.


Tyto operace silně použít. databáze tempdb:
  • Opakované vytvoření a přetažení dočasných tabulek (místní nebo globální).
  • Proměnné tabulka používající databáze tempdb pro účely skladování.
  • Práce spojené s KURZORŮ tabulky.
  • Pracovní tabulky související s klauzulí ORDER BY.
  • Práce spojené s klauzulí seskupit podle tabulky.
  • Práce spojené s plány HASH souborů.
Těžká a významné použití těchto činností může vést k konflikty problémy.

Příčina

Při vytváření objektu musí být přidělena dvou (2) stránek z kombinovaným rozsahu a přiřazen nový objekt. Jedna stránka je pro Index Mapa rozdělení (IAM) a druhý je pro první stránku pro objekt. SQL Server sleduje smíšené rozsahy pomocí sdílené globální přidělení mapy (SGAM) stránka. Každá stránka SGAM sleduje 4 gigabajty dat.

Jako součást přidělení stránky z rozsahu smíšené, SQL Server musí skenování zdarma pro stránku Stránka místa (PFS) zjistit smíšené stránku, která je zdarma, má být přidělen. PFS stránky vede záznamy o volné místo na každé stránky a každá stránka PFS sleduje asi 8000 stran. Příslušná udržován tak, aby změny na stránkách PFS a SGAM; a, mohou ostatní modifikátory pro krátké kabiny období.

Při vyhledávání serveru SQL Server smíšené stránku, kterou chcete přidělit, ji vždy spustí vyhledávání na stránce SGAM a stejný soubor. Výsledkem intenzivní konflikty na stránce SGAM při přidělení několika smíšené stránky který může způsobit potíže v této části "Příznaky" článek.

Poznámka: De-Allocation činnosti rovněž nutné upravit stránky, které můžete přispět k zvýšení tvrzení.

Další informace týkající Zobrazit přidělení různých mechanismů, které používá SQL Server (SGAM, GAM, PFS, IAM) oddíl "Odkazy" tohoto článku.

Řešení

Konflikty prostředků přidělení pro snížení databáze tempdb Máte silný, postupujte takto:
  1. U serverů se systémem SQL Server 2000 Service Pack 3 (SP3) použít opravu hotfix 8.00.0765 nebo nejnovější aktualizace zabezpečení, oprava 8.00.0818. Pro servery se systémem SQL Server SP2 nainstalujte opravu hotfix 8.00.0702.

    Tyto opravy jsou k dispozici v následujících umístěních:

    8.00.0765
    814916 Oprava: Sloučení Agent filtrované publikace nemusí zdařit.
    8.00.0818
    http://www.microsoft.com/technet/security/bulletin/MS03-031.mspx
    8.00.0702
    328551 Oprava: Vylepšení souběžnosti databáze tempdb
  2. Provádění příznak trasování -T1118.

    Poznámka: Příznak trasování -T1118 je také k dispozici a je podporován v Microsoft SQL Server 2005 a SQL Server 2008. Používáte SQL Server 2005 nebo SQL Server 2008, není však nutné použít žádné opravy hotfix.
  3. Zvýšení počtu databáze tempdb datové soubory se alespoň rovná počtu procesorů. Také můžete vytvořte soubory se rovná velikosti. Další informace naleznete v části "Další informace".
Poznámka: Tyto kroky se vztahují i na Microsoft SQL Server 7.0. Pouze výjimkou je, že neexistuje žádné opravy hotfix pro server SQL Server 7.0; proto nemá krok 1 nelze použít.

S ohledem na krok 2 Použití trasování příznak - T1118 pro Před použitím příznaku trasování 7.0 Microsoft SQL Server naleznete v následujících článek znalostní báze Microsoft Knowledge Base:
813492 Oprava: Vytvořte index selhání na serveru SQL Server 7.0 a je-li povolen příznak trasování 1118

Informace o aktualizaci Service pack

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro 2000 Microsoft SQL Server. Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
290211 Jak získat nejnovější aktualizaci service pack pro SQL Server 2000

Informace o opravě hotfix

Opravy hotfix 8.00.0702

Anglická verze této opravy hotfix má atributy souborů (nebo novější), jsou uvedeny v následující tabulce. Data a časy jednotlivých souborů jsou uvedeny v koordinovaný světový čas (UTC). Při zobrazení informací o souboru, je převeden na místní čas. Pomocí vyhledat rozdíl mezi místním časem a časem UTC naleznete Časové pásmo karty v Datum a čas Chcete-li zobrazit položky v Ovládacích panelech.
   Date         Time   Version         Size       File name
   ----------------------------------------------------------------
   30-Aug-2002  21:08                    786,432  Distmdl.ldf
   30-Aug-2002  21:08                  2,359,296  Distmdl.mdf
   09-Oct-2002  00:54                        544  Drop_repl_hotfix.sql
   02-Jul-2002  15:35  2000.80.650.0     107,088  Impprov.dll      
   19-Jul-2002  16:56                    774,516  Instdist.sql
   08-Oct-2002  23:56                     12,615  Inst_repl_hotfix.sql
   20-Aug-2002  16:24  2000.80.679.0     111,172  Logread.exe      
   07-Apr-2002  02:08  2000.80.606.0      62,024  Odsole70.dll     
   03-Jan-2002  01:59                     18,185  Qfe356326.sql
   20-Aug-2002  16:47  2000.80.679.0     135,748  Qrdrsvc.exe      
   26-Aug-2002  22:49  2000.80.679.0     406,088  Rdistcom.dll     
   04-Oct-2001  01:36                    437,302  Replcom.sql
   20-Aug-2002  16:33  2000.80.679.0     152,136  Replmerg.exe     
   19-Nov-2001  20:36                    993,945  Replmerg.sql
   05-Nov-2002  23:48  2000.80.700.0     221,768  Replprov.dll     
   04-Oct-2001  01:36                    986,906  Replsys.sql
   04-Oct-2001  01:36                    881,228  Repltran.sql
   26-Aug-2002  22:49  2000.80.679.0     283,208  Rinitcom.dll     
   16-Sep-2002  22:31                    390,045  Securityhotfix.sql
   26-Aug-2002  22:49  2000.80.679.0      28,672  Sqlagent.dll     
   26-Aug-2002  18:39  2000.80.679.0     311,872  Sqlagent.exe     
   28-Aug-2002  16:32  2000.80.679.0      49,152  Sqlagent.rll
   26-Aug-2002  22:49  2000.80.679.0      53,824  Sqlcmdss.dll     
   28-Aug-2002  16:40  2000.80.679.0      12,288  Sqlcmdss.rll
   24-Oct-2002  17:37  2000.80.695.0     176,696  Sqlmap70.dll     
   11-Nov-2002  09:52  2000.80.702.0   7,471,185  Sqlservr.exe     
   11-Nov-2002  09:51                 12,633,088  Sqlservr.pdb
   01-Nov-2002  18:56  2000.80.698.0      45,644  Sqlvdi.dll       
   01-Nov-2002  18:00  2000.80.697.0      82,492  Ssnetlib.dll     
   07-Apr-2002  02:08  2000.80.606.0      70,208  Xplog70.dll      
   07-Apr-2002  02:08  2000.80.606.0      53,828  Xpqueue.dll      
   07-Apr-2002  02:08  2000.80.606.0     156,228  Xprepl.dll       
   12-Jul-2002  01:00  2000.80.658.0     279,104  Xpstar.dll       
   16-Sep-2002  23:12  2000.80.686.0      98,872  Xpweb70.dll   
				
Poznámky
  • Z důvodu závislostem, poslední opravy hotfix nebo funkce který obsahuje soubory mohou obsahovat další soubory.
  • Opravu hotfix 8.00.0702 je určena pro počítače, kde jste nainstalovali aplikaci SQL Server 2000 s aktualizací SP2. Pokud jste nainstalovali aplikaci SQL Server 2000 s aktualizací SP3, můžete nainstalujte SQL Server 2000 SP3 kumulativní verze 8.00.0765.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro". Tento problém byl poprvé opraven v aktualizaci Service Pack 4 pro Microsoft SQL Server 2000.

Další informace

Jak opravy Hotfix 8.00.0702 snižuje konflikty

Opravy hotfix 8.00.0702 zavádí každým algoritmus přidělení smíšené stránky. Oprava počáteční nyní bude soubor různých pro každé rozdělení po sobě jdoucí stránky smíšené (pokud existuje více než jeden soubor). To vyhýbá problému tvrzení o rozdělení vlaku, který je spojen SGAMs ve stejném pořadí, pokaždé s stejného počátečního bodu. Nový přidělení algoritmus SGAM je čistý kruhové a nepřijme Proporcionální výplně udržovat rychlost. Společnost Microsoft doporučuje, abyste vytvořili databáze tempdb datové soubory se stejnou velikost.

Jak prováděcích příznak trasování-T1118 snižuje konflikty

Zde je seznam způsobu použití -T1118 snižuje tvrzení:
  • -T1118 je nastavení úrovni serveru.
  • Zahrnout -T1118 trasování příznak ve spouštěcích parametrů pro SQL Server tak, Příznak trasování, zůstává v platnosti i po recyklovaných serveru SQL Server.
  • -T1118 Odebere téměř všechny alokace jedné stránky na serveru.
  • Zakázáním většinu přidělení jedné stránky, které snížit tvrzení na stránce SGAM.
  • S -T1118 NA zapnuto, jsou téměř všechny nové přidělení provést z GAM stránky (například 2: 1: 2), najednou přidělí osm (8) stránky (rozsah 1) objekt o jednu stránku z rozsahu pro prvních osmi (8) stránky objektu bez příznaku trasování.
  • IAM stránek stále používat rozdělení z jedné stránky na stránce SGAM i s -T1118 zapnuto. Avšak v kombinaci s opravou hotfix 8.00.0702 a zvýšit databáze tempdb datové soubory, čistý efekt je snížení dělit na SGAM stránky. Místo se týká naleznete v části "Nevýhody" tohoto článek.
Poznámka: Při zapnutí příznak trasování 1118 do instance serveru SQL Server 2000, nebude pravděpodobně možné úspěšně obnovit databázi serveru SQL Server 7.0. Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
837938Při pokusu o obnovení zálohy databáze serveru SQL Server 7.0 na instanci serveru SQL Server 2000, může se zobrazit chybová zpráva

Zvýšení počtu datové soubory databáze tempdb se rovná velikosti

Pokud data souboru velikost databáze tempdb je 5 GB a velikost souboru protokolu je 5 GB, doporučujeme zvýšíte jeden datový soubor 10 (každý 500 MB pro zachování stejné velikosti), a nechat je soubor protokolu. Mají různé datové soubory na samostatných discích by bylo dobré. Však není požadována a mohou existovat společně na stejném disk.

Optimální počet databáze tempdb soubory dat závisí na stupni konflikty v databáze tempdb. Jako výchozí bod, můžete nakonfigurovat databáze tempdb být alespoň rovna počtu procesorů, které jsou přiřazeny pro SQL Server. Pro vyšší koncové systémy (například 16 nebo 32 proc), spuštění číslo může být 10. Pokud tvrzení není snížena, bude pravděpodobně třeba zvýšit počet datových souborů více.

Poznámka: Dvoujádrový procesor se považuje za dva procesory.

Je rovna velikosti datových souborů je důležité, protože proporcionální výplně algoritmus je založen na velikost soubory. Je-li datové soubory jsou vytvářeny s velikostí nerovné, proporcionální výplň algoritmus se pokusí použít více vyhrazení GAM namísto největší soubor rozprostření rozdělení mezi všechny soubory, a tím svůj účel Vytvoření více datových souborů.

Auto-grow z databáze tempdb datové soubory můžete také ovlivňovat proporcionální výplň algoritmus. Proto je vhodné vypnout funkci auto-grow pro databáze tempdb datové soubory. Pokud je vypnuta možnost auto-grow, je třeba provést Vytvořte datové soubory, takže jsou dostatečně velké, aby Server z dochází k nedostatku místa na disku databáze tempdb.

Jak rostoucí počet datové soubory databáze tempdb se rovná velikosti zmenší konflikty

Zde je seznam jak rostoucí počet databáze tempdb datové soubory se rovná velikosti zmenší tvrzení:
  • Jednoho datového souboru databáze tempdb, máte pouze jednu stránku GAM a jednu stránku SGAM pro každé 4 GB místa.
  • Zvýšení počtu datových souborů s stejné velikostidatabáze tempdb efektivně vytvoří jednu nebo více GAM a SGAM stránek pro každý údaj soubor.
  • Přidělení algoritmus pro GAM dává mimo jeden rozsah na počet souborů, každý s každým způsobem čas (osm souvislých stránek) respektováním proporcionální výplň. Proto pokud máte 10 rovná velikosti soubory, první přidělení je z Soubor1, druhá z Soubor2 třetí z soubor3 atd.
  • Konflikty prostředků PFS stránky se snižuje, protože osm stránek jsou označeny jako plně v době, protože je přidělování GAM stránky.

Nevýhody

Jedinou nevýhodou uvedených doporučení dříve se můžete setkat při zvýšení velikosti databází jsou-li splněny následující podmínky:
  • Jsou vytvořeny nové objekty v databázi uživatelů.
  • Každý nový objekt zaujímají skladování menší než 64 KB.
Pokud jsou splněny tyto podmínky, může přidělit 64 KB (8 stránky * 8 KB = 64 KB) pro objekt, který vyžaduje pouze 8 KB místa, tedy plýtvání 56 KB skladování. Avšak pokud nový objekt používá více než 64 KB (8 stránky) v životnost je, že neexistují žádné nevýhodou s příznakem trasování. Proto v nejhoršího scénáře, SQL Server, může končit přidělování sedmi (7) Další stránky během první přidělení pouze pro nové objekty, které nikdy nárůst. jeden (1) stránky.

Odkazy

Další informace o GAM, SGAM, PFS a IAM naleznete v následujících tématech pro SQL Server 2000 Books Online:
  • "Správa místa Použité objekty"
  • "Správa přiřazení rozsahu a volného místa"
  • "Tabulka a Architektura indexu"
  • "Haldy struktur"

Vlastnosti

ID článku: 328551 - Poslední aktualizace: 19. května 2011 - Revize: 14.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
Klíčová slova: 
kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug kbmt KB328551 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:328551

Dejte nám zpětnou vazbu

 

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