이곳을 통해서 많은 것을 배우고 있습니다.
제가 지금 현재 데이타베이스 유지관리를 어떻게 해야 할지 몰라서 글을 올립니다.
문제는 백업, 리인덱스, 인티그리티 잡에 관련된 질문입니다, 물론 쉬링크도 포함해서요.
현재 한대의 SQL서버에 약 300 개의 데이타베이스가 형성퇸 상태이고, 총 데이타 베이스 사이즈가 약 16TB입니다.
그런데 두개의 마스터 데이타베이스가 2개인데 각각 2TB정도입니다.
그런데 두개의 백업 시간과 리인덱스 시간이 중첩이 되어 가끔 에러가 발생하곤합니다.
리인덱스는 보통 첫번째 마스터 데이터베이스일 경우 15시간 정도 걸립니다.
인티그리티 도 거의 비슷하게 걸리구요.
문제는 이렇게 계속 커져가는 데이터베이스 유지관리를 어떻게 해야 하는 것입니다.
쉬링크 같은경우는 아예 서스팬트(suspend)되버리고, 이유는 계속 쓰고 지우고 업데이트가 이루어져서 그렇다고 합니다.
혹시 저와 같이 DB사이즈가 너무 클경우 어떻게 유지보수 관리를 하시는지요.
현재 저는 마스터 DB 관리 유지를 위해서, 서버를 하나 더 두어 두번째 마스터 DB를 다른 서버에 운영되면, 그나마 좀 나을 것 같다는 생각을 해 봅니다만, 예를 들어 인티그리티 작업이나, 인덱스 작업이 3일에서 5일정도 걸릴 정도라면... 어떻게 관리를 해야 합니까?
굉장히 스트레스를 받네요.
왜냐하면, 마스터DB에 특정 테이블이 있는 데 가끔 600G가 정도의 데이타를 지우는데, DB 데이타파일이 줄어들지 않아서 쉬링크를 했더니...
쉬링크가 완료가 되지 않습니다.
혹시 저처럼 대용량 MSSQL를 아주 잘 관리하신 분의 조언을 부탁드립니다.
Comment 2
-
항해자™
2014.08.26 09:05
-
송동운
2014.08.28 03:56
인덱스 리빌드를 하는 이유는 쿼리 속도를 높이기위해서 합니다.
그리고 인티그리티 작업을 다른 머신에서 진행하라는게 무슨 뜻이신지? 링크드 서버를 이용해서 하라는 것 처럼들리긴 하는데..
여하튼 그러한 작업은 SQL의 프로세스를 생성해서 하는 작업이라 특별히 개선의 여지가 보이지 않는데요.
제가 듣고자 하는 답변은 300개가 넘는 DB들이 한개의 서버에서 돌아가고 있고, 그중에 마스터 데이타베이스가 약 2TB정도 되는데...
어떻게 하면 유지 보수 작업을 원활하게 할수 있느냐 입니다.
일반적으로 리인덱스나 인티그리티 작업은 DB운영중에 꼭 필요한 작업입니다.
DB가 너무 크고 시간이 오래 걸린다고 해서 안할 수 없는 일이죠....
어떻게 하면 좀더 효율적으로 빠르게 진행할 수 있느냐 입니다.
성실한 답변 부탁드립니다.
데이터를 대량으로 읽는 작업이 다수 있나요??
건단위 혹은 몇건 읽는게 대부분이라면 하지 않을 것을 추천합니다,,,
인티그리티 작업은 다른 머신에서 진행하시면 될듯 합니다,,
그러나 판단은 글쓴이가 하시길,,,,