sqlpackage.exe ignorant BlockOnPossibleDataLoss?

13

J'ai un dacpac qui a défini le bloc BlockOnPossibleDataLoss sur false, mais le déploiement est bloqué lorsque je l'exécute avec sqlpackage.exe, me disant "La colonne [a] est supprimée, une perte de données pourrait se produire."

Cependant, lorsque j'utilise exactement le même profil de déploiement et que je publie à partir de Visual Studio 2012, cela passe.

nojetlag
la source

Réponses:

10

Avez-vous essayé d'exécuter sqlpackage.exe avec /p:BlockOnPossibleDataLoss=falsedans la ligne de commande?

Je viens d'utiliser SQLPackage.exe pour créer un fichier .dacpac de ma base de données de test, puis je l'ai publié avec l' /p:BlockOnPossibleDataLoss=falseoption, et il a remplacé ma base de données.

Max Vernon
la source
J'ai essayé cela, mais cela n'a pas aidé. J'ai réduit le problème un peu plus. J'exécute le package dans un script powershell et il se trouve dans un bloc try catch. Il semble que, même si l'indicateur est défini, sqlpackage.exe crée une exception (je m'attendrais à ce qu'il en soit autrement)
nojetlag
1
Cela a très bien fonctionné pour nous lors d'une tâche de déploiement de base de données dans notre génération Visual Studio Team System vers notre base de données Azure.
Dan Csharpster
2

Enfin trouvé le problème, j'exécute sqlpackage.exe dans un script powershell où la gestion des erreurs est définie comme

$Script:ErrorActionPreference = "Inquire"

comme je n'ai jamais reçu la demande, j'ai supposé que le problème était avec sqlpackage.exe, mais j'avais un autre script powershell inclus après la définition de ErrorActionPreference, il s'est avéré que le script inclus avait également le jeu ErrorActionPreference, mais sur "Stop". Je crois toujours que si j'ai défini BlockOnPossibleDataLoss = false, cela ne devrait pas entraîner d'erreur, mais au moins j'ai maintenant un moyen de le gérer.

nojetlag
la source
2

J'ai eu le même problème et / p: BlockOnPossibleDataLoss = false ne fonctionne pas.

La solution finale était dans mon cas, qu'elle doit également être définie dans les paramètres de débogage du fichier de projet:

Paramètres de débogage du projet

J'espère que cela aide quelqu'un! :)

Christian Müller
la source
et si vous "publiez" directement, vous devrez également configurer cette option dans l'option de publication "avancée"!
Pac0