sqlpackage.exe ignoruje BlockOnPossibleDataLoss?

13

Mam dacpaca, który ustawił BlockOnPossibleDataLoss na false, jednak wdrożenie jest blokowane, kiedy uruchamiam go za pomocą narzędzia sqlpackage.exe, mówiąc mi: „Kolumna [a] jest upuszczana, może wystąpić utrata danych”.

Jednak kiedy używam dokładnie tego samego profilu wdrażania i publikuję z Visual Studio 2012, to przechodzi.

nojetlag
źródło

Odpowiedzi:

10

Czy próbowałeś uruchomić sqlpackage.exe /p:BlockOnPossibleDataLoss=falsew wierszu polecenia?

Właśnie użyłem programu SQLPackage.exe do utworzenia pliku .dacpac mojej testowej bazy danych, a następnie opublikowałem go z /p:BlockOnPossibleDataLoss=falseopcją i zastąpiłem moją bazę danych.

Max Vernon
źródło
Próbowałem tego, ale to nie pomogło. Jeszcze bardziej zawęziłem problem. Wykonuję pakiet w skrypcie PowerShell i tam znajduje się w bloku try catch. Wygląda na to, że mimo ustawienia flagi program sqlpackage.exe tworzy wyjątek (oczekiwałbym inaczej)
nojetlag
1
Działa to doskonale dla nas podczas wykonywania zadania wdrażania bazy danych w naszej kompilacji systemu Visual Studio Team do naszej bazy danych Azure.
Dan Csharpster
2

W końcu znalazłem problem, uruchamiam program sqlpackage.exe w skrypcie PowerShell, w którym ustawiono obsługę błędów

$Script:ErrorActionPreference = "Inquire"

ponieważ nigdy nie otrzymałem zapytania, założyłem, że problem dotyczy narzędzia sqlpackage.exe, jednak po ustawieniu ErrorActionPreference miałem inny skrypt programu PowerShell, okazało się, że w dołączonym skrypcie również ustawiono ErrorActionPreference, ale „Stop”. Nadal uważam, że jeśli ustawiłem BlockOnPossibleDataLoss = false, nie powinno to powodować błędu, ale przynajmniej mam teraz sposób, aby sobie z tym poradzić.

nojetlag
źródło
2

Miałem ten sam problem i / p: BlockOnPossibleDataLoss = false nie działa.

Ostatnim rozwiązaniem było w moim przypadku, że należy je również ustawić w ustawieniach debugowania pliku projektu:

Ustawienia debugowania projektu

Mam nadzieję, że to komuś pomoże! :)

Christian Müller
źródło
a jeśli „publikujesz” bezpośrednio, musisz również ustawić tę opcję w opcji „zaawansowanego” publikowania!
Pac0,