2016-12-01 2 views
0

SQL Server 2014 대상과 함께 하나의 데이터베이스에 5 개의 .dacpac 파일, 하나의 dacpac 파일이 있습니다. 목록의 마지막 데이터베이스는 다른 데이터베이스에 종속되어 있습니다.한 번에 여러 SQL Server 2014 데이터베이스 배포

나는 훌륭한 sqlpackage.exe를 사용하여 각 .dacpac을 개별적으로 배포 할 수 있습니다.

이 컨텍스트에 맞는 단어라면 "트랜잭션 방식"으로 수행하여 5 개의 데이터베이스를 만들 때 배포가 잘못되면 모든 배포가 롤백됩니다.

모든 데이터베이스가 생성되거나 데이터베이스가 생성되지 않습니다.

이것이 가능한지, 만약 그렇다면 어떻게 할 수 있습니까? 필자는 Powershell 스크립팅에 반대하지 않습니다.

미리 감사드립니다.

답변

0
PowerShell을 수동으로 "거래"

첫째는 dacpacs를 배포 PowerShell 스크립트를 작성을 제어해야합니다 있지만, 그렇게 할 수

- 당신이 각 sqpackage.exe 명령 줄을 복사 및 붙여 넣기 할 수 있어야한다하여 예 원하는 매개 변수

각 명령을 powershell try/catch 블록으로 랩핑하면 각 캐치 섹션에 적절한 수동 롤백 명령이 있어야 각 단계에서 정리할 수 있습니다.

+0

안녕하세요 짐보, 답장을 보내 주셔서 감사합니다. 단일 Sql 트랜잭션에서 5 개의 sqlpackage.exe 배포를 참여시킬 수 있습니까? go/google에서이 정보를 찾으려고했지만 기쁨이별로 없었습니다 ... – Scott

+0

예. dacpac은 drop database를 사용합니다 -이 명령은 t-sql 트랜잭션에서 사용할 수 없습니다. – Jimbo