파이썬 & 오픈소스 개발 질문과 답변 게시판
파이썬과 여러 오픈소스 기반 프레임워크 관련 질문 답변 게시판 입니다. 궁금하신 사항을 올려 주시면 빠른 시일내에 답변 드리도록 하겠습니다. 아울러, 개발 과정의 경우 간소화 시킨 문제 재현 코드나 운영일 경우 최근의 특이사항을 올려 주시면 답변 드리는 프런티어 분들이 더욱 상세한 답변을 드릴 수 있으니 많은 도움 되시길 바랍니다.
.net 4.0 과 , mssql 2008 r2 이며, studio .net 2010 사용중입니다.
c# 으로 app 를 만들고, 해당 프로그램을 db 서버에서 실행 했을때.
특정 백업 파일폴더에서 파일들을 읽어 와서, 복원 하는 프로그램입니다.
복원은 되긴 하는데 좀 문제가 있습니다.
총 4개의 db 인데 그중 2개가 10G 가 넘습니다.
나머지는 얼마 안되구요,
순서는 용량 큰순서로 복원이 되는데. 이게 앞에서 진행된 복원이 완료 되기 전에 다시 루틴을 돌고 있습니다.
용량 큰 것에 대한 쿼리가 진행 되고, 다시 다 끝날때까지 기다리는 방법이 없는건가요?
Comment 2
-
minsouk
2015.01.02 10:01
recovery method 에 event를 등록한 뒤 작업이 완료되면 원래의 class 로 알려주면 될 듯 한데요
thread로 구현 하고 있으면 Rendezvous (join 후)방식을 써 일련의 작업이 완료되면 다음 작업을 시작하시면 됩니다.
만약 임의의 체크 로직이 필요하다면 database 의 system table 를 조회하는 방식으로 체크하시면 됩니다.
sys.dm_exec_requests의 estimated_completion_time과 percent_complete이 작업 종료에 관한 정보를 제공합니다.
ALTER INDEX REORGANIZE
ALTER DATABASE의 AUTO_SHRINK 옵션
BACKUP DATABASE
DBCC CHECKDB
DBCC CHECKFILEGROUP
DBCC CHECKTABLE
DBCC INDEXDEFRAG
DBCC SHRINKDATABASE
DBCC SHRINKFILE
RECOVERY
RESTORE DATABASE
ROLLBACK
TDE ENCRYPTION
이런 작업들에 대해서는 언제 끝나는지 몇% 진행됐는지 알 수 있습니다.