Səhifələr

Blogroll

05 August 2014

SQL SERVER - RELOCATE TEMPDB DATAFILES

SQL Server tempdb - istifadəçilər tərəfindən yaradılmış müvəqqəti obyektlərin saxlanıldığı database-dir. SQL Server yükləndiyi zaman əgər parametrlərdə dəyişiklik edilməzsə digər sistem database-lərinin (master, model, msdb) yerləşdiyi qovluqda yerləşir. SQL Server hər start edildikdə tempdb - də olan bütün obyektlər silinir. Tempdb data fayllarının yerini dəyişmək üçün əsasən iki səbəb var - Yerləşdiyi diskdə olan yer azlığı və həmin diskə düşən yükü azaltmaq.

Tempdb data fayllarının yerini dəyişmək çox sadə prosesdir və SQL Server servisinin yenidən başladılmasını tələb edir.

Faylların yerini dəyişməzdən öncə həmin faylların fiziki adını tapmaq lazımdır. Bunun üçün aşağıdakı sorğudan istifadə edə bilərsiniz.

[code language="sql"]USE [tempdb];
SELECT physical_name FROM sys.database_files; [/code]

tempdb-physical-files

TEMPDB database-nin fiziki adlarını əldə etdikdən sonra aşağıdakı sorğu ilə data faylların yerini dəyişə bilərsiniz. Nəzərə alın ki, sorğuda qeyd etdiyiniz qovluq artıq mövcud olmalıdır.

[code language="sql"]

USE [master]
GO

ALTER DATABASE tempdb MODIFY FILE (name = tempdev, FILENAME = 'D:\TEMPDB\tempdb.mdf')
GO

ALTER DATABASE tempdb MODIFY FILE (name = templog, FILENAME = 'D:\TEMPDB\templog.ldf')
GO[/code]

Əgər qovluqlar əvvəlcədən yaradılmayıbsa  aşağıdakı xətanı alacaqsınız.

tempdb-invalid-pathHər şey qaydasındadırsa isə aşağıdakı kimi mesaj alacaqsınız.

tempdb-valid-pathMesajda da qeyd edildiyi kimi yeni fayllar yalnız database restart edildikdən sonra işə düşəcək. Bunun üçün SQL Server servisini restart edin. Restart-dan sonra həmin qovluqda yeni fayllar yaranacaq.

tempdb-new-path

 

Database Administrator

Yusif Yusifov

 

0 şərh.:

Post a Comment