Ай Лайн
Связаться
Отдел продаж +7 (812) 385-74-84
Время работы пн-пт с 9:00 до 18:00

Перенос TempDB

Введение

Microsoft SQL Server использует tempdb при выполнении запросов и является служебной базой и хранит в себе временные объекты (временные таблицы, процедуры, вычисления, сортировки, объекты и т.д.). Как правило база tempdb всегда сильно нагружена и её ускорение даст нам небольшой прирост в производительности. Одна из рекомендаций — перенос базы tempdb на другой диск. Лучше всего переносить на SSD диск.

Это основная причина для переноса tempdb на другой диск и эта процедура довольно простая.

Расположение файлов базы tempdb по умолчанию

Во время установки MS SQL Server будет предложена Настройка компонента Database Engine, где в вкладке Каталоги данных мы можем выбрать каталог хранения базы данных tempdb. По умолчанию база tempdb располагается в следующем каталоге:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

Выполняем запрос на перенос базы tempdb на другой диск

Поскольку база MS SQL Server постоянно использует базу данных, базу tempdb не получится переместить, сделав просто отсоединение и присоединение базы данных. Для перемещения файлов базы tempdb нам необходимо создать запрос и выполнить скрипт под фото, предварительно подставив в него свои пути нового расположения перемещаемой базы.

Поскольку база MS SQL Server постоянно использует базу данных, базу tempdb не получится переместить, сделав

USE master
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = 'D:\TEMP_DB\tempdb.mdf')
GO
ALTER DATABASE  tempdb 
MODIFY FILE (NAME = templog, FILENAME = 'D:\TEMP_DB\templog.ldf')
GO

После выполнения запроса вам потребуется Перезапустить Microsoft SQL Server. В процессе перезапуска пользователей не выбросит из 1С. После перезапуска сервер самостоятельно создаст базу tempdb там, где вы указали. Старые файлы необходимо самостоятельно подчистить.

После выполнения запроса вам потребуется Перезапустить Microsoft SQL Server. В процессе перезапуска

Также помимо файлов tempdb.mdf и templog.ldf могут быть ещё несколько штук типа tempdb_mssql_1.ndf. Их также необходимо перенести в новый каталог:

ALTER DATABASE tempdb MODIFY FILE ( NAME = temp2, FILENAME = 'D:\TEMP_DB\tempdb_mssql_1.ndf' )
ALTER DATABASE tempdb MODIFY FILE ( NAME = temp3, FILENAME = 'D:\TEMP_DB\tempdb_mssql_2.ndf' )

Проверяем новые пути tempdb через запрос

После того, как мы перенесли все файлы в новую директорию и перезапустили службу MS SQL SERVER мы можем проверить новые пути расположения баз данных tempdb выполнив запрос ниже:

SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');

В ответ мы получим таблицу с новыми путями до файлов баз данных TEMPDB

В ответ мы получим таблицу с новыми путями до файлов баз данных TEMPDB

Оставить заявку