관리 메뉴

Data Modeling Evangelist Kaien Kim's Blog

[SQLServer] tempdb이동 본문

DATA/SQLServer

[SQLServer] tempdb이동

2009. 2. 9. 09:42
tempdb는 단어 그대로 임시로 사용하는 DB이다.
즉 MASTER DB처럼 항상 사용하는 것이 아니라 임시테이블을 만든다거나,
대형쿼리, 다단계쿼리 또는 SELECT시 order by, group by, sorting을 할 때 주로 사용된다.
임시로 사용된다는 것은 이곳에 있는 데이터베이스 객체도 영구적이 아니라는 말도 된다.
즉, SQL Service가 시작될 때마다 자동적으로 지워지고 다시만들어진다.
그래서 당연히 여기에다가 테이블등의 객체를 만들면 안된다.


-- 각각의 데이터와 로그파일을 한 번에 하나씩 새로운 위치로 이동한다.
USE master
GO

ALTER DATABASE tempdb
MODIFY FILE ( NAME= logical_name, FILENAME="new_path/file_name")
GO

ALTER DATABASE tempdb
MODIFY FILE ( NAME= logical_name, FILENAME="new_path/file_name")
GO


예)
USE master
GO

-- tempdb 데이터베이스의 논리 파일 이름을 확인.
exec tempdb..sp_helpfile

-- 위치변경
ALTER DATABASE tempdb
MODIFY FILE ( NAME= tempdev, FILENAME="D:\tempdb.mdf")
GO

ALTER DATABASE tempdb
MODIFY FILE ( NAME= templog, FILENAME="D:\templog.ldf")
GO