sqlpackage.exe ignorando BlockOnPossibleDataLoss?

12

Eu tenho um dacpac que definiu o BlockOnPossibleDataLoss como false, no entanto, a implantação é bloqueada quando executada com sqlpackage.exe, informando "A coluna [a] está sendo descartada, pode ocorrer perda de dados".

No entanto, quando eu uso exatamente o mesmo perfil de implantação e publico no Visual Studio 2012, ele passa.

nojetlag
fonte

Respostas:

9

Você já tentou executar o sqlpackage.exe /p:BlockOnPossibleDataLoss=falsena linha de comando?

Acabei de usar o SQLPackage.exe para criar um arquivo .dacpac do meu banco de dados de teste, depois o publiquei com a /p:BlockOnPossibleDataLoss=falseopção e ele substituiu o meu banco de dados.

Max Vernon
fonte
Eu tentei isso, no entanto, não ajudou. Eu reduzi o problema um pouco mais. Eu executo o pacote dentro de um script do PowerShell e ele está dentro de um bloco try catch. Parece que mesmo que o sinalizador está definido sqlpackage.exe cria uma exceção (eu esperaria o contrário)
nojetlag
1
Isso funcionou muito bem para nós ao executar uma tarefa de implantação de banco de dados em nossa compilação do Visual Studio Team System em nosso banco de dados do Azure.
Dan Csharpster
2

Finalmente encontrei o problema, eu executo o sqlpackage.exe em um script do PowerShell em que o tratamento de erros é definido como

$Script:ErrorActionPreference = "Inquire"

desde que eu nunca recebi o Inquire, presumi que o problema estava com o sqlpackage.exe, no entanto, eu tinha outro script do PowerShell incluído após a definição do ErrorActionPreference, o script incluído também tinha o ErrorActionPreference definido, mas como "Stop". Ainda acredito que se eu tiver definido BlockOnPossibleDataLoss = false, isso não deve resultar em erro, mas pelo menos agora tenho uma maneira de lidar com isso.

nojetlag
fonte
2

Eu tive o mesmo problema e / p: BlockOnPossibleDataLoss = false não funciona.

A solução final foi no meu caso, que também deve ser definida nas configurações de depuração do arquivo do projeto:

Configurações de depuração do projeto

Espero que isso ajude alguém! :)

Christian Müller
fonte
e se você "publicar" diretamente, precisará configurar esta opção na opção de publicação "avançada" também!
Pac0