1

질문이 있습니다. 저는 모든 DTAP 서버에 데이터베이스를 배포 할 수 있었던 Teamcity + Database 프로젝트를 사용하는 데 익숙합니다. 작동 방식이 좋았습니다. 2 분 안에 매주 생산에 배치 할 수있었습니다.대상 데이터베이스에 대한 지식이없는 데이터베이스 프로젝트 배포

저는 배포 프로세스에 BATCH 스크립트와 수많은 변경 스크립트가 포함 된 회사에서 일하고 있습니다. 그런 다음 DB에 적용되는 변경 스크립트와 해당 DB를 기반으로 업데이트 된 스크립트를 추적하는 테이블이 있습니다.

특정 배포 구성으로 데이터베이스 프로젝트를 사용할 것을 제안했지만 문제가 있습니다. 수락 및 프로덕션 서버에 액세스 할 수 없습니다. 우리는 연결할 수 없으므로 해당 서버에 배포 할 수 없으며 대상 데이터베이스를 정의 할 수 없기 때문에 데이터베이스 프로젝트에서 생성 한 SQL 스크립트를 사용하지 마십시오.

확실히 - 우리는 생산의 백업을 얻을 수 있으며 어딘가에 넣어 스크립트를 만들 수 있습니다.

내 질문은 :이 프로젝트를 해결하고 대상 DB를 알 필요없이 DB 스크립트를 만드는 것에 대해 잘 모르는 DB 프로젝트의 일부 옵션을 사용하는 우아한 방법이 있습니까 (존재하는 경우 항상 존재 함). 아마도 우리는 서버에 액세스 할 수있는 권한이없는 BS입니까? 우리가 액세스 할 수 있도록 설득하는 데 초점을 맞추어야합니까?

감사합니다.

+0

툴링 솔루션이 아니라 프로덕션 DB (적어도 스키마)를 미러링 한 프로덕션 전 데이터베이스가 있어야하는 것처럼 들립니다. 잠재적으로 알려지지 않은 스키마에 대해 스크립트를 배포하면 위험 할 수 있습니다 ... – Jamie

답변

1

dacpac을 생성하여 SSMS 또는 sqlpackage.exe 명령 줄을 사용하여 대상 데이터베이스에 배포 할 수 있습니다.

http://msdn.microsoft.com/en-us/library/ee210546.aspx

이 배포시에 동적으로 배포 스크립트를 생성합니다.

관심이 있으신 분은 기존 배치 스크립트 프로세스를 위해 데이터베이스 프로젝트 배포를 사용 하시겠습니까?

+0

안녕 데이비드 - 감사합니다. 나는 커스텀 구현을 너무 좋아하지 않는다. 어떤 사람들은 일괄 스크립팅에 참여한 어떤 시점에서 그 물건을 만들었습니다. 사용하기 쉽고 배포가 쉽고 Visual Studio에서 DB 개체로 작업 할 수 있기 때문에 DB 프로젝트보다이 프로젝트를 더 선호합니다. –