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.

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.


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.


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! :)


e se você "publicar" diretamente, precisará configurar esta opção na opção de publicação "avançada" também!
Pac0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.