Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Simptomi

Kada je baza podataka tempdb opterećen, SQL Server primijetiti Nadmetanje kada pokuša alocirati stranice.

Iz tablice izlazni sustav sysprocesses u waitresource mogu se prikazati kao "2:1:1" (PFS stranica) ili "2:1:3" (SGAM stranica). Ovisno o stupnju Nadmetanje to možda također dovesti do SQL Server za kratki razdoblja pojavljivanje ne reagira.


Ove postupke koristite bogatim tempdb:

  • Ponavlja stvaranje i ispusti privremene tablice (lokalnom ili globalnom).

  • Varijable tablica koje koristite tempdb za pohranu svrhe.

  • Rad pridruženi POKAZIVAČI tablice.

  • Rad tablice pridružen uvjet ORDER BY.

  • Rad tablice povezane s GROUP BY uvjetu.

  • Rad datoteke povezane s NAMJERAVA RASPRŠIVANJA.

Debela i značajan koristi te aktivnosti može dovesti do problema Nadmetanje.

Uzrok

Tijekom stvaranja objekta dva (2) stranica mora biti Alocirani iz miješani mjeri i dodijeljen novi objekt. Jednu stranicu je za je Index alokacije karte (IAM), a drugi za prvu stranicu za objekt. SQL Server prati miješani extents pomoću stranice zajednički globalne alokacije karte (SGAM). Svaka stranica SGAM prati o 4 gigabajta podataka.

Kao dio alociranje stranice iz miješani mjeri, SQL Server mora pregleda stranicu stranice slobodnog prostora (PFS) da biste saznali koje miješani stranice je besplatna biti alocirana. Stranica PFS evidentira slobodnog prostora dostupno na svakoj stranici i svaku stranicu PFS prati o 8000 stranice. Odgovarajući sinkronizacije održava promjene stranice PFS i SGAM; i koji stall druge modifikatora za kratki razdoblja.

Kada SQL Server pretražuje za miješani stranicu da biste alocirali, skeniranje uvijek započinje na stranici SGAM i iste datoteke. Ovo rezultira Naglašeni Nadmetanje na stranici SGAM kada nekoliko pomiješani stranice su alokacije u tijeku, što može izazvati probleme dokumentirani u odjeljku "Simptomi" ovog članka.

Napomena Aktivnosti de-alokacija morate izmijeniti stranice mogu doprinositi povećana Nadmetanje.

Da biste saznali više o različitim alokacije mehanizme koristi SQL Server (SGAM, GAM, PFS, IAM), u odjeljku "Reference" ovog članka.

Razlučivost

Microsoft SQL Server 2000


Da biste smanjili Nadmetanje alokacije resursa za tempdb koji se pojavili Debela upotrebe, slijedite ove korake:

  1. Primijeni za Microsoft SQL Server 2000 Service Pack 4. SQL Server 2000 Service Pack 4 (SP4) je dostupan na sljedećem Microsoftovu Web-mjestu:

    http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5

    Za dodatne informacije kliknite sljedeći broj članka u Microsoftovoj bazi znanja:

    290211 kako nabaviti najnoviji servisni paket za SQL Server 2000

  2. Implementirati praćenja zastavica -T1118.

  3. Povećajte broj podatkovnih datoteka u tempdb Maksimiziraj propusnost diska i smanjiti Nadmetanje strukture alokacije. Kao Općenito pravilo, ako je broj logičke procesore manji od 8 ili jednako 8, koristiti isti broj datoteka podataka kao logičke procesore. Ako je veći od 8 podatkovne datoteke 8, koristite broj logičke procesore i zatim ako Nadmetanje nastavi, povećajte broj datoteka podataka po količinama koje su djeljive 4 (do broja logičke procesore) dok na Nadmetanje smanjene razine prihvatljive ili napravite promjene preopterećen/Šifra.

Napomena Ove korake također primijeniti Microsoft SQL Server 7.0. Jedina iznimka je došlo je hitni popravak za SQL Server 7.0; Stoga, korak 1 ne primjenjuje.

S obzirom na korak 2 koristi praćenja zastavica - T1118 za Microsoft SQL Server 7.0 prije koristiti zastavice praćenja, pogledajte sljedeći članak u Microsoftovoj bazi znanja:

POPRAVAK 813492 : Stvaranje indeksa ne uspije na SQL Server 7.0 kada je omogućeno praćenje zastavica 1118

Microsoft SQL Server 2005 i novijim verzijama

Da biste smanjili Nadmetanje alokacije resursa za tempdb koji se pojavili Debela upotrebe, slijedite ove korake:

  1. Implementirati praćenja zastavica - T1118.

  2. Povećajte broj podatkovnih datoteka u tempdb Maksimiziraj propusnost diska i smanjiti Nadmetanje strukture alokacije. Kao Općenito pravilo, ako je broj logičke procesore manje ili jednako 8, koristiti isti broj datoteka podataka kao logičke procesore. Ako je veći od 8 podatkovne datoteke 8, koristite broj logičke procesore i zatim ako Nadmetanje nastavi, povećajte broj datoteka podataka po količinama koje su djeljive 4 (do broja logičke procesore) dok na Nadmetanje smanjene razine prihvatljive ili napravite promjene preopterećen/Šifra.

Više informacija

Kako popravak u SQL 2000 SP4 i novijim verzijama smanjuje Nadmetanje

SQL Server 2000 Sp4 i novije verzije imati popravak koji uvodi kružnog dodjeljivanja algoritam za alokacije miješani stranice. S popravak, početni datoteka sada biti različita za svaku alokaciju uzastopne stranice miješani (Ako postoji više od jedne datoteke). Ovo izbjegava problem Nadmetanje po oštećivanja gore Podučavanje koji je proveden do kraja SGAMs istim redoslijedom svaki put s istu početnu točku. Nova alokacija algoritam za SGAM je čisto kružnog dodjeljivanja i poštovati proporcionalni ispune za održavanje brzinu. Microsoft preporučuje da stvorite tempdb podatkovne datoteke s iste veličine.

Kako implementacijom praćenja zastavice-T1118 smanjuje Nadmetanje

Ovdje je popis kako koristiti od -T1118 smanjuje Nadmetanje:

  • -T1118 je postavka cijelom poslužitelju.

  • Uključi u -T1118 praćenje zastavicu parametri pokretanja za SQL Server tako da prati zastavicu ostaje na snazi čak i nakon što je SQL Server Reciklirani.

  • -T1118 uklanja gotovo sve alokacije jedne stranice na poslužitelju.

  • Onemogućivanjem većinu alokacije jednu stranicu smanjiti Nadmetanje na stranici SGAM.

  • S -T1118 uključena Dalje, gotovo sve nove alokacije se izvode iz GAM stranice (na primjer, 2:1:2) koja alocira stranice osam (8) (1 mjeri) istovremeno objekt umjesto jednu stranicu iz mjeri za stranice prvih osam (8) objekta , bez praćenja zastavicu.

  • IAM stranice i dalje koristiti jednu stranicu alokacije iz stranice SGAM čak i s -T1118 uključen Dalje. Međutim, kombinirane s hitni popravak 8.00.0702 i povećana tempdb podatkovne datoteke, neto efekt je Sniženje Nadmetanje na stranici SGAM. Nedoumice prostora u odjeljku "Nedostacima" ovog članka.

Povećajte broj tempdb podatkovne datoteke s jednake veličine


Ako je veličina datoteke podataka tempdb 5 GB, a veličina datoteke zapisnika je 5 GB, na preporuka je da biste povećali jedan podatkovnu datoteku do 10 (svaki od 500 MB za održavanje jednake veličine), i ostaviti kao što je datoteka zapisnika. Potrebe različite podatkovne datoteke na diskovima zasebne bi dobro. Međutim, to nije obavezno i zajednički možete na istom disku postoji.

Optimalno broj tempdb podatkovnih datoteka ovisi o stupnju Nadmetanje vidjeti u tempdb. Kao početnu točku, možete konfigurirati tempdb biti najmanje jednak broj procesora dodijeljeni za SQL Server. Za sustave viši završetka (na primjer, 16 ili 32 proc), početni broj može biti 10. Ako na Nadmetanje se smanjuje, možda ćete morati povećati broj dodatne datoteke podataka.

Napomena Dvojezgrenim procesorom smatraju se dva procesora.

Jednake veličine datoteke podataka je kritična jer algoritam proporcionalni ispune temelji se na veličinu datoteke. Ako datoteke podataka se stvaraju s nejednaki veličinama, algoritam proporcionalni ispune pokušava koristiti više GAM alokacije najveće datoteke umjesto šire alokacije između sve datoteke, time defeating Svrha stvaranje više datoteka podataka.

Auto-grow tempdb podatkovnih datoteka također mogu ometati algoritam proporcionalni ispune. Dakle, možda je dobro isključiti značajku auto-grow za tempdb datoteke podataka. Ako je isključena mogućnost auto-grow, provjerite jeste li stvorili podatkovne datoteke tako da su dovoljno velik da biste spriječili nedostatak prostora na disku s tempdbdolazi do poslužitelja.

Kako povećati broj tempdb podataka datoteke s jednake veličine smanjuje Nadmetanje

Ovdje je popis kako povećanje broja tempdb podatkovne datoteke s jednake veličine smanjuje Nadmetanje:

  • S jednu datoteku podataka za tempdb, imate samo jednu stranicu GAM i jednu SGAM stranicu za svaku 4 GB prostora.

  • Povećanjem broja podatkovne datoteke s iste veličine za
    tempdb učinkovito stvara jednu ili više GAM i SGAM stranica za svaku datoteku podataka.

  • Algoritam alokacije za GAM daje out jedan mjeri vrijeme (osam neprekinutih stranica) iz broj datoteka način kružnog tijekom honoring proporcionalni ispune. Stoga, ako imate 10 jednake veličine datoteke, prvi alokacija je iz datoteka1, drugi iz datoteka2, treće iz datoteka3 i tako dalje.

  • Nadmetanje resursa PFS stranice se smanjuje jer osam stranica označene kao PUNE istovremeno jer GAM alociranje stranice.

Nedostaci

Negativna strana samo za preporuke ranije spomenutih je možda vidjeti veličinu baza podataka povećati kada su ispunjeni sljedeći uvjeti:

  • Nove objekte stvaraju se u bazi podataka korisnika.

  • Svaki novi objekti zauzimaju manje od 64 KB prostora za pohranu.

Ako su ti uvjeti zadovoljeni, može alocirati 64 KB (8 stranica * 8 KB = 64 KB) za objekt koji zahtijeva samo 8 KB prostora, stoga rasipanje 56 KB prostora za pohranu. Međutim, ako novi objekt koristi više od 64 KB (8 stranica) u je vijek trajanja, postoji i negativna strana praćenja zastavicom. Stoga u na Scenarij najgoreg slučaja, SQL Server može završiti alociranje sedam (7) dodatne stranice tijekom prvog alokacije samo za nove objekte nikad rasti izvan stranice jedan (1).


Reference

Dodatne informacije o GAM, SGAM, PFS i IAM u sljedećim temama SQL Server 2000 knjige na mreži:

  • "Upravljanje prostor koji koristi objekte"

  • "Upravljanje mjeri alokacije i slobodnog prostora"

  • "Tablice i indeks arhitektura"

  • "Stogova strukture"

Dodatne reference

Dodatne informacije o tempdb bazu podataka u SQL Server 2005, posjetite sljedeće web-mjestu MSDN:

http://technet.microsoft.com/en-us/library/cc966545.aspx

Dodatne informacije o tempdb datoteke baze podataka i 1118 Tlag praćenja posjetite sljedeće web-mjestu MSDN:

http://blogs.msdn.com/b/psssql/archive/2009/06/04/sql-server-tempdb-number-of-files-the-raw-truth.aspx

Dodatne informacije o korištenju praćenja zastavicu 1118 u SQL Server 2005 i SQL Server 2008, posjetite sljedeće web-mjestu MSDN:

http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx

Dodatne informacije o nadzirati i otklanjanju alokacije grla u tempdb bazi podataka posjetite sljedeće web-mjestu MSDN:

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2009/01/11/tempdb-monitoring-and-troubleshooting-allocation-bottleneck.aspx


Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×