현재 개발용 DB서버가 있고,
현장에 운영DB가 있습니다.
개발 DB에서 개발하면서 만들거나 수정한 테이블 스키마, 뷰. 인덱스. 시퀀스등을
운영 DB에 반영하는 프로그램을 만들려고 하는데요..
좋은 방법이 없을까요?
여러 DBA분들은 배포를 어떤 식으로 하시는지요?
- 참고로 dacpac은 오류가 났습니다.. DB가 복잡해서 그런지..
- SP와 Function은 sys.sql_modules 같은 시스템뷰를 통해 스크립트 생성 쿼리를 작성했습니다.
비슷한 방법으로 가능하다면 좋겠습니다.
Comment 5
-
쓸만한게없네(윤선식)
2013.06.06 11:57
-
나찰
2013.06.12 13:35
답변 감사합니다!
별도 솔루션도 있었군요..
그냥 검색해서는 뭔지 잘 안나오는데.. 무슨 솔루션인지 알려주시면 감사하겠습니다~~
변경(ALTER) script는 트리거를 사용해서 저장해두나요??
-
버즈베잇
2013.06.07 10:40
SSMS 에서 DAC 추출 할때는 오류가 자주 발생(사용자 정의 테이블,트리거 DDL 등 복잡한 구조인경우..) 하는 경우가
많고.,.
비주얼 스튜디오 2012 에서는 그나마 오류가 적게 발생하는거 같은데 DAC 자체가 아마 MSSQL 의 모든 Object 를
지원하지 않는걸로 알고 있습니다.
저희도 그냥 모두 스크립트로 받아 놓고 적용 합니다...
-
나찰
2013.06.12 13:36
답변 감사합니다.
마찬가지로 스크립트로 받아두신다는게, 트리거가 아닌지요~
맞다면 해당 트리거 코드도 가르쳐 주시면 감사하겠습니다^^
-
버즈베잇
2013.07.10 11:48
트리거로 받지는 않고..비주얼스튜디오 IDE 메뉴중에 스키마 비교라는 게 있습니다.
여기에서 원본서버 와 동기화할 서버를 각각 선택후에 비교를 하게 되면
원본서버와 틀린 오브젝트를 다 표시해 줍니다.
그럼 일단 확인한후 스크립트 생성하는 메뉴를 이용해서 스크립트 생성후
동기화할 서버에서 스크립트를 실행하면 스키마는 정확히 동기화 됩니다.
배포 솔루션 별도로 판매하고 있습니다.
그게 아니라면 배포목록을 만들어 놓고 진행하는데요.
우선 스크립트를 백업해 놓고, 목록에 있는 Object들의 스크립트를 운영서버에 실행해서 배포하거나 합니다만...
그러면서 운영서버의 Script는 미리 백업을 받죠...