Перенос системной базы tempdb на отдельный диск

Posted by

По большинству рекомендаций имеет место быть после того, как развернули сервер базы данных (SQL ) произвести некоторую его настройку нацеленную на производительную работу.

Вот к примеру: на сервере базы данных присутствует системная база tempdb, в моем случае она, как показывает практика активно задействуется приложением для хранения промежуточных результатов и временных таблиц. Данная системная база tempdb если на сервере имеется несколько баз данных не простаивает, а используется сразу всеми базами. Раз я поставил сервер базы данных в дефолтной конфигурации, то данная база располагается в дефолтной папке (C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA), а это как я уже понял плохая идея. Более практичным будет вынести ее (tempdb) на отдельный диск (LUN или HDD/SSD) .

Хочу также обратить внимание что кодировка данной системной базы tempdb должна также быть такой же как и у разворачиваемых баз. т. е. Cyrillic_General_CI_AS, посмотреть это можно так:

Start — All Programs — Microsoft SQL Server 2008 R2 — SQL Server Management Studio, авторизуюсь: (local)(SQL Server 10.50.1600 — NEMDOMB\aollo) — DatabasesSystem Databases — через правый клик мышью на системной базе tempdb открываем свойства (Properties) — GeneralMaintenance — Collation — Cyrillic_General_CI_AS, после это уже для новых баз выбираем точно такую же кодировку.

Теперь собственно сама процедура по изменению месторасположения файла системной базы tempdb:

Start — All Programs — Microsoft SQL Server 2008 R2 — SQL Server Management Studio, авторизуюсь: (local)(SQL Server 10.50.1600 — NEMDOMB\aollo), после создаю запрос New Query (Новый Запрос) и в поле с мигающим курсором ввожу следующий код:

use master

alter database tempdb

modify file (

name = tempdev,

filename = N'D:\tempdb.mdf')

go

alter database tempdb

modify file (

name = templog,

filename = N'D:\templog.ldf')

go

После запускаю написанный выше запрос: Query Execute (F5) , после чего будут в окне Messages сформированы сообщения отчета:

The file «tempdev» has been modified in the system catalog. The new path will be used the next time the database is started.

The file «templog» has been modified in the system catalog. The new path will be used the next time the database is started.

Теперь чтобы изменения пришли в действо, нужно перезапустить SQLсервер:

Start — Administrative Tools — Services — находим службу службу SQL Server и перезапускаем ее) или же через консоль командной строки:

Start — All Programs — Accessories — запускаем командную строку с правами Администратора и:

C:\Windows\system32>net stop MSSQLSERVER

The following services are dependent on the SQL Server (MSSQLSERVER) service.

Stopping the SQL Server (MSSQLSERVER) service will also stop these services.

SQL Server Agent (MSSQLSERVER)

Do you want to continue this operation? (Y/N) [N]: y

The SQL Server Agent (MSSQLSERVER) service is stopping.

The SQL Server Agent (MSSQLSERVER) service was stopped successfully.

The SQL Server (MSSQLSERVER) service is stopping.

The SQL Server (MSSQLSERVER) service was stopped successfully.

C:\Windows\system32>net start MSSQLSERVER

C:\Windows\system32>net start SQLSERVERAGENT

Теперь файл базы tempdb и его лог файл располагаются на новом месте, согласно моему скрипту выше — это диск D:

C:\Windows\system32>dir d:\

Volume in drive D is New Volume

Volume Serial Number is EC61-BE42

Directory of d:\

20.11.2015 15:03 8 388 608 tempdb.mdf

20.11.2015 15:03 524 288 templog.ldf

2 File(s) 8 912 896 bytes

0 Dir(s) 53 446 139 904 bytes free

В завершении процедуры переноса, данные файлы находящиеся по дефолтному пути можно смело удалить они больше не задействованы.

C:\Windows\system32>del /f /q "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\tempdb.mdf"

C:\Windows\system32>del /f /q "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\templog.ldf"

В дальнейших заметках моего блога я буду, самостоятельно осваивать для себя что-то новое, так и разбирать в виде заметок пошаговые действия поставленных самому себе задач. А пока я прощаюсь, с уважением автор блога — ekzorchik.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

3 × 3 =