0
Tempdb je sistemska baza dostupna svim korisnicima konektovanim na SQL Server i u njoj se čuva sledeće:
- Privremeni objekti koji su eksplicitno kreirani, kao što su globalne i lokalne privremene tabele, privremene procedure, tejbl varijable ili kursori.
- Interni objekti koji su kreirani od strane SQL Servera kao što su privremene tabele kreirane za čuvanje rezultata prilikom sortiranja ili join-ovanja.
- Verzije redova iz tabela koje se generišu transakcijama u bazama koje koriste read-commited row versioning isolation ili snapshot isolation.
- Verzije redova iz tabela koje se generišu transakcijama za: online indeks operacije, Multiple Active Result Sets (MARS) i AFTER trigere.
Operacije koje se izvršavaju u tempdb su minimalno logovane. Ovo omogućava da transakcije mogu biti rollback-ovane. Tempdb je baza koja se rekreira svakog puta kada se SQL Server startuje tako da sistem uvek kreće sa potpuno praznom tempdb bazom. Privremene tabele i procedure se automatski brišu prilikom diskonektovanja korisnika. Zbog toga ne postoje nikakvi objekti koji mogu biti sačuvani iz jedne sesije u drugu. Backup i restore operacije nisu dozvoljene nad tempdb.
Ovo su inicijalne vrednosti za tempdb fajove sa podacima i logom (ove vrednosti variraju u zavisnosti od verzije SQL Servera):
Fajl | Logičko ime | Fizičko ime | Rast fajla |
Podaci | tempdev | tempdb.mdf | Automatski rast po 10% dok disk nije pun |
Log | templog | templog.ldf | Automatski rast po 10% do maksimuma od 2 TB |
Veličina tempdb može uveliko uticati na performanse sistema. Na primer, ako je veličina tempdb premala, sistem može biti previše opterećen sa automatskim rastom umesto da izvršava zadatke. Ovo se može izbeći povećanjem veličine tempdb. Takođe, ukoliko je tempdb prevelika može ugroziti druge sisteme koji koriste isti disk, pa je preporuka uvek izdvajati tempdb na poseban disk na kome nije ni jedna druga korisnička baza, niti sistemski fajlovi.