SQL Server 2018 - трансфер на файлове с бази данни tempdb на отделен диск - това-KB блога

При планиране за разполагане на приложения активно използване на системното време базата данни на SQL Server - tempdb. трябва да вземе предвид факта, че файловете на база данни по подразбиране, които са разположени на системния диск. Съответно, за да се избегнат евентуални бъдещи проблеми с препълване на системния диск поради увеличен размерът на tempdb файлове. Ние може би трябва да се разпредели за този файл база данни отделно логическо дисково пространство.

При създаване на отделен логически дисково пространство, което трябва да се разбере, че не трябва да се използва за всички други приложения, както и неговия размер, трябва да се изчислява въз основа на техническите изисквания на приложение, използващо ни SQL Server.

Трябва да се има предвид, че за да се постигне максимална ефективност в tempdb може да се наложи разнообразие на файла с данни и регистър на транзакциите tempdb на базата данни. Трябва също да се отбележи, че с цел повишаване на производителността на един добре зареден система в документ MSDN Library - Оптимизиране tempdb Изпълнение представи препоръка за създаване на отделен група tempdb файлове на различни дискове за всяко ядро ​​на сървъра процесор.

По подразбиране, tempdb база данни е настроен за автоматично удължаване (автоматичното нарастване) и всеки път, когато рестартирате SQL Server пресъздава тази база данни, файлове с минимален размер на инициализация (първоначалния размер). Въз основа на препоръките на по-горе документ, ние ще се увеличи размера на tempdb инициализация файлове по такъв начин, че да се сведе до минимум на разходите за системни ресурси в работата на авто-разширение.

С цел да се определи кой в ​​момента е физически разположена tempdb файлове с бази данни. отворете SQL сървър за управление на студио и изпълнение на SQL изявление:

Изберете името. physical_name AS CurrentLocation

ОТ сис. master_files

КЪДЕТО database_id = DB_ID (N'tempdb ');

За получаваме следните резултати:

Решава какви логически устройства са разположени файлове с бази данни, както и това, което те ще бъдат в създаването, управлението на SQL заявка:

ALTER DATABASE tempdb

ИЗМЕНЯТ файл (. NAME = tempdev FILENAME = 'Н TempDB_Datatempdb.mdf "РАЗМЕР = 10240.);

ALTER DATABASE tempdb

ИЗМЕНЯТ FILE (NAME = templog FILENAME = 'I: TempDB_Logtemplog.ldf. SIZE = 3072.);

Преди да използвате тази заявка, трябва да разберат, че ако ние се уточни размера на файловете, SQL Server веднага се опита да увеличи активните в момента файлове и техният размер е по-голям от достъпно на текущия диск пространство пространство - ще получите съобщение за грешка.

След успешното завършване на искането - Рестартирайте услугата SQL Server и се уверете, че нашите файлове са там, където искаме да изпълни SQL заявка за:

Изберете името. physical_name AS CurrentLocation. размер. state_desc

ОТ сис. master_files

КЪДЕТО database_id = DB_ID (N'tempdb ');

Ако всичко върви добре, резултатът трябва да е нещо като това:

След това, трябва да премахнете tempdb файлове. мдф и templog. LDF със стария им местонахождение.

Допълнителни източници на информация: