알파서버에서 수정, 추가 된 작업내용들 (스키마변경 및 프로시저 수정 추가 등)을
라이브 서버에 반영할 때 고수님들은 어떻게 반영을 하시는지 궁금합니다.
프로그래밍 소스야 그냥 한번에 다 올려버리면 되지만 DB는 그게 안되니깐요.
그냥 수동으로 일일히 체크해서 올리는 방법 밖에는 없나요?
Comment 3
-
해본적은 없지만...sys.objects의 create_date나 modify_date를 이용해서 변경되거나 추가된 프로시저를 찾을 수 있지 않을까요??아니면 라이브서버에서 알파서버를 링크드서버로 연결 후 sys.objects나 sys.sql_modules를 비교해서 찾을 수 있을듯 합니다.
-
향지
2015.03.18 14:21
업데이트 리스트를 믿었다가 소스가 빠지는 경우가 가끔 있어서
추가로 서버들을 직접 비교합니다.
초짜해커님 말씀 처럼 찾아서 할 수 있습니다.
sys.table
sys.columns
sys.table_type
sys.object
sys.sql_modules
sys.indexes
쿼리로 sys. 테이블들을 뒤져서
개발서버와 실서버를 비교해서
다른 리스트들을 뽑아냅니다.
(실서버로 링크드를 걸기 힘드시면
실서버와 똑같은 구조의 서버를 만들어서 링크드로 연결,
구성은 풀백업을 가져오시던지 task에서 스크립트를 뽑으시던지 하시면 될것 같습니다.)
그 리스트를
프로시저 같은 경우에는 쿼리에 넣어서 돌리면
실행시킬 text가 나오고 그걸 돌립니다.
sp_helptext를 뜯어 고치시면 되시고
그걸 while문으로 반복해서 select 말고 print로 찍으면 messages 창에 하나의 파일처럼 나옵니다.
스키마쪽은 순서&작업시간&lock 문제로
비교해서 나온 리스트에 관련된걸 직접 확인해서 손으로 하나의 파일로 만들고 있습니다.
-
don12345
2015.03.20 16:04
네 감사합니다. 참고하겠습니다 ^^