В SQL Server 2005 и по-нови версии, свиването на базата данни tempdb не се различава от свиването на потребителска база данни, с изключение на факта, че tempdb се връща до конфигурирания си размер след всяко рестартиране на екземпляра на SQL Server. Безопасно е да стартирате shrink в tempdb, докато активността на tempdb е в ход.
Свиването на база данни подобрява ли производителността?
Но свиването може да повлияе значително на производителността на вашата база данни, ако не е направено правилно. Свиването ще увеличи фрагментацията и ще доведе до скъпоструване на всяка DB операция. Повторното изграждане на индекси е необходимо след свиване на DB, за да се намали фрагментацията и да се увеличи производителността.
Как се свива tempdb?
Можем да използваме метода на SSMS GUI, за да свием и TempDB. Щракнете с десния бутон върху TempDB и отидете на Задачи. В списъка със задачи щракнете върху Свиване и можете да изберете База данни или файлове. И двете опции за база данни и файлове са подобни на командите DBCC SHRINKDATABASE и DBCC SHRINKFILE, които обяснихме по-рано.
Свива ли се tempdb автоматично?
По подразбиране базата данни tempdb автоматично нараства, когато се изисква място, тъй като MAXSIZE на файловете е зададен на НЕОГРАНИЧЕН. Следователно tempdb може да продължи да расте, докато пространството на диска, който съдържа tempdb, не се изчерпи.
Защо tempdb нараства толкова голям?
Ръстът на Tempdb е главно поради лошо представяне на заявки, така че можете да използвате SQL Profiler и вероятно да филтрирате по продължителност доопредели дали има съхранени процедури, които отнемат повече от x секунди за изпълнение.