머신 사양들이 좋아지면서 해당 리소스를 충분히 활용하기 위해
그리고 mssql 의 성능 향상을 위해 tempdb 파일을 늘리는데..
여러 자료를 조합해 본 결과 tempdb 의 데이터 파일은 머신의 코어 수와 맞추면 된단다..
단 요즘은 코어가 하도 많아서... 8개 이상은 의미가 없다... 고 한다
뭐 스트레스 테스트까지는 해보지 않아서 정확한건 모르겠지만..
선인들이 해보셨으면 나도 비슷하다 생각하고... 파일을 늘려놨는데...
파일 늘리기 전 상황을 캡쳐해놓은것이 없어 파일을 늘린것이 얼마나 효과가 있는지 잘 모르겠다..
그래서 역으로 테스트를 해보려 한다..
(tempdb datafile이 8개인경우 먼저 캡쳐 && 4개 줄여서 테스트 ㅋㅋ)
근데 웃긴건 tempdb datafile 이 만들때는 잘 만들어지는데 지워지지 않는다 ㅋㅋㅋㅋㅋ
그래서 잘~~~ 찾아보니.. datafile이 비어지지 않아서란다 ㅋㅋㅋ
자동으로 비우고 해주면 되지... 알파고도 나온마당에 뭘 또 에러 띄우고 그러시나..
암튼 지우기 전에 아래의 쿼리를 실행하고 돌리쟈..
==================================================================
USE [tempdb]
GO
DBCC SHRINKFILE ([데이터파일명], EMPTYFILE);
GO
use [master]
ALTER DATABASE [tempdb] REMOVE FILE [데이터파일명]
GO
===================================================================
그럼 겁내 잘지워진다 ㅎㅎㅎㅎ
근데... 실제 사용자들이 사용하는 DB는 아래의 메세지와 함께 또.. 지워지지 않는다..
=========================================================================================
DBCC SHRINKFILE: 페이지 9:1320은(는) 작업 테이블 페이지이므로 이동할 수 없습니다.
메시지 2555, 수준 16, 상태 2, 줄 3
파일 "tempdb8"의 일부 내용을 다른 위치로 이동할 수 없어 emptyfile 작업을 완료할 수 없습니다.
DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.
==========================================================================================
이유인 즉슨.. 해당 데이터파일이 사용중이다..(내지는 다른데가 사용중이라 비울수 없다..)
그래서 찾아보니... (http://sqlserverzest.com/2012/10/07/msg-2555-level-16-state-1-line-1-error-dbcc-shrinkfile-with-emptyfile-option/)
위와 같은 메세지가 날때는
1. 외부 커넥션을 다 끊던지..
2. 서버를 재시작 하라고 하신다 ㅎㅎㅎㅎ
실운영 서버라 테스트는 못했지만.. 꼭 필요한 경우라면 진행 가능할듯 하다. ㅎ
그럼 오늘의 정리는 이만 ㅎ
'개발 관련' 카테고리의 다른 글
Atlassian JIRA (0) | 2016.08.03 |
---|---|
MSSQL & ASP 커서 작업 오류 (0) | 2016.06.27 |
MSSQL Cursor 커서 (0) | 2016.03.09 |
MSSQL 현재 명령에서 서버 오류가 발생했습니다. 결과가 있을 경우 이를 무시해야 합니다. (0) | 2015.12.14 |
http referer 에 대한 정리... 궁금증 폭발 ㅋㅋㅋㅋ (0) | 2015.09.23 |
댓글