Kako promeniti veličinu baze podataka tempdb u Majkrosof SQL Serveru

Kad postavljate novu Microsoft SQL Server mašinu, treba da odredite veličinu sistemske tempdb baze podataka. Ipak, to nije lak zadatak. Ako joj odredite suviše malu veličinu, u jednom momentu će doći do automatskog povećavanja kako podataka (mdf i ndf data fajlova), tako i datoteka promena (ldf log fajlova)  jer je bazi tempdb potrebno više prostora.

Sistemska baza tempdb je izuzetno značajna za optimalan rad Microsoft SQL Servera, jer je koristi kao privremeni skladišni prostor prilikom izvršavanja kompleksnih upita i za raznorazne sistemske operacije – na primer REBUILD indeksa, kreiranja snapshot-a podataka i slično. SQL server tempdb bazu takođe možemo i mi koristiti za kreiranje lokalnih i globalnih privremenih objekata (tabela, view, stored procedura, itd…) čija imena počinju sa # ili ##.

Microsoft SQL Server će uvek pokušati da tempdb bazu podigne u memoriju kako bi ubrzao rad. Ova baza se svaki put iznova rekreira prilikom restartovanja Microsoft SQL Server servisa i zbog toga nema svrhe raditi njen backup.

Svaki put kad se tempdb proširi, Microsoft SQL Server mora nakratko da zaustavi ili makar uspori rad dok sistem proširuje fajlove tempdb baze. To znači da transakcije u programu moraju da čekaju dok se ne završe događaji automatskog proširenja. S druge strane, ako je vaša baza podataka tempdb suviše velika, onda uzalud trošite prostor na disku.

Da biste bili sigurni da je sistemska Microsoft SQL Server tempdb baza odgovarajuće veličine, trebalo bi da pratite kako ona koristi prostor. Ako se pojave događaji automatskog proširenja pošto ste pokrenuli SQL Server, verovatno ćete se odlučiti za povećanje veličine fajlova tempdb podataka. Ako tempdb nikad ne koristi većinu tempdb prostora, možda bi trebalo da razmislite o smanjenju veličine baze.

Da biste promenili veličinu tempdb baze, možete koristiti naredbu ALTER DATABASE. Ovu naredbu možete da upotrebite i pri određivanju početne veličine tempdb podataka i/ili log fajla. U daljem tekstu je prikazan primer u kome je promenjena početnu veličinu tempdb DATA i LOG datoteke:

ALTER DATABASE tempdb
MODIFY FILE (Name=tempdb_data, filesize = 100MB),
MODIFY FILE (NAME=tempdb_log , filesize = 20MB);
Do promene navedenih veličina neće doći sve dok ne restartujete Microsoft SQL Server servis.