프로덕션 데이터베이스에서 백업을 복원 한 다음 SQL 스크립트 (예 : ALTER TABLE, INSERT 등)를 자동으로 다시 적용하여 해당 db 스키마를 개발중인 것으로 되돌려 놓아야합니다.프로덕션에서 dev db 복원 : 테이블에 저장된 목록을 기반으로 SQL 스크립트 세트를 실행 하시겠습니까?
소수의 개발자가 많은 스크립트가 있습니다. 그들은 모두 같은 디렉토리에 있지는 않습니다.
현재 나의 계획은 psuedo-system 데이터베이스의 테이블에 전체 파일 시스템 경로가있는 스크립트를 나열하는 것입니다. 그런 다음이 데이터베이스에서 먼저 RESTORE DATABASE를 실행 한 다음 스토어드 프로 시저를 작성하여 스크립트 목록에 대해 커서를 실행하고 각 스크립트에 대한 SQLCMD에 대한 명령 문자열을 작성한 다음 xp_cmdshell을 사용하여 각 스크립트에 대해 해당 SQLCMD 문자열을 실행하십시오.
커서 -> sqlstring-> xp_cmdshell-> sqlcmd 시퀀스가 나에게 어색함을 느낍니다. 또한 xp_cmdshell을 켜야합니다.
나는 이와 같은 일을 한 유일한 사람이 될 수 없습니다. 서버의 파일 시스템 주위에 흩어져있는 일련의 스크립트를 실행하는 더 깨끗한 방법이 있습니까? 특히, xp_cmdshell을 필요로하지 않는 방법?
나는 버전 제어에 동의하지만 그것은 또 다른 이야기이며 내 결정이 아닙니다. [SQL Server 내에서이 코드를 실행하는 경우 거의 xp_cmdshell을 사용하여 끝납니다.] 나는 그렇게 할 수 있으며 실제로 신경 쓰지 않아도됩니다. 내가 알지 못했던 청결한 또는 더 똑똑한 것을 놓치고 싶지 않았다. – Matt