BlockOnPossibleDataLoss를 false로 설정 한 dacpac이 있지만 sqlpackage.exe로 실행할 때 배포가 차단되어 “[a] 열이 삭제되고 데이터 손실이 발생할 수 있습니다.”라는 메시지가 표시됩니다.
그러나 정확히 동일한 배포 프로필을 사용하고 Visual Studio 2012에서 게시하면됩니다.
답변
/p:BlockOnPossibleDataLoss=false
명령 행에서 sqlpackage.exe를 실행 해 보셨습니까 ?
방금 SQLPackage.exe를 사용하여 테스트 데이터베이스의 .dacpac 파일을 만든 다음 /p:BlockOnPossibleDataLoss=false
옵션으로 파일을 게시하고 데이터베이스를 덮어 썼습니다.
답변
마지막으로 문제를 발견했습니다. 오류 처리가 다음과 같이 설정된 powershell 스크립트 내에서 sqlpackage.exe를 실행합니다.
$Script:ErrorActionPreference = "Inquire"
문의를 얻지 못했기 때문에 문제가 sqlpackage.exe에 있다고 가정했지만 ErrorActionPreference가 설정된 후에 다른 powershell 스크립트가 포함되어 있었고 포함 된 스크립트에도 ErrorActionPreference가 설정되었지만 “중지”로 설정되었습니다. 여전히 BlockOnPossibleDataLoss = false로 설정하면 오류가 발생하지 않아야하지만 적어도 이제는 처리 할 수있는 방법이 있습니다.