Всем привет! Сегодня мы рассмотрим перенос tempdb в MSSQL на другой диск.
Вообще tempdb является системной базой данных, которая используется для хранения временных данных. Она автоматически создается при запуске SQL Server и каждый раз пересоздается при перезапуске сервера.
TempDB используется для многих целей, включая временное хранение таблиц, переменных таблиц и индексов, сортировки данных и временного хранения результатов запросов.
Как правило база tempdb всегда сильно нагружена и её ускорение даст нам небольшой прирост в производительности. Одна из рекомендаций — перенос базы tempdb на другой диск. Лучше всего переносить на SSD диск или же в RAM диск
По умолчанию tempdb располагается по следующему пути C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA
Для того что бы ее по итогу перенести нам необходимо создать запрос
И написать такой запрос
USE master
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'T:\TEMP_DB\tempdb.mdf')
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'T:\TEMP_DB\templog.ldf')
GO
ALTER DATABASE tempdb MODIFY FILE ( NAME = temp2, FILENAME = 'T:\TEMP_DB\tempdb_mssql_1.ndf' )
ALTER DATABASE tempdb MODIFY FILE ( NAME = temp3, FILENAME = 'T:\TEMP_DB\tempdb_mssql_2.ndf' )
По итогу база перенесется на диск T в директорию TEMP_DB.
ALTER DATABASE tempdb MODIFY FILE ( NAME = temp2, FILENAME = 'T:\TEMP_DB\tempdb_mssql_1.ndf' ) ALTER DATABASE tempdb MODIFY FILE ( NAME = temp3, FILENAME = 'T:\TEMP_DB\tempdb_mssql_2.ndf' )
В этом куске нужно еще дописать запрос по кол-во ваших tempdb.ndf
Посмотреть можно здесь их кол-во.
Далее необходимо будет перезапустить службу SQL server. И tempdb перенесена.
Надеюсь статья была полезной. Подписывайтесь, ставьте лайки, оставляйте комментарии делитесь опытом!
Всем благ