sqlpackage.exe mengabaikan BlockOnPossibleDataLoss?

13

Saya memiliki dacpac yang telah menetapkan BlockOnPossibleDataLoss diatur ke false, namun penyebaran diblokir ketika saya menjalankannya dengan sqlpackage.exe, memberi tahu saya "Kolom [a] sedang dihapus, kehilangan data dapat terjadi."

Namun ketika saya menggunakan profil penyebaran yang sama persis dan menerbitkan dari Visual Studio 2012 itu berjalan.

nojetlag
sumber

Jawaban:

10

Sudahkah Anda mencoba menjalankan sqlpackage.exe dengan /p:BlockOnPossibleDataLoss=falsedi baris perintah?

Saya hanya menggunakan SQLPackage.exe untuk membuat file .dacpac dari database pengujian saya, kemudian saya menerbitkannya dengan /p:BlockOnPossibleDataLoss=falseopsi, dan menimpa database saya.

Max Vernon
sumber
Saya mencobanya, tetapi itu tidak membantu. Saya sedikit mempersempit masalahnya. Saya menjalankan paket dalam skrip PowerShell dan itu ada dalam blok try catch. Tampaknya meskipun flag diatur sqlpackage.exe menciptakan pengecualian (saya harapkan sebaliknya)
nojetlag
1
Ini bekerja sangat baik bagi kami saat melakukan tugas penyebaran Database di sistem Tim Visual Studio kami membangun ke Azure Database kami.
Dan Csharpster
2

Akhirnya menemukan masalah, saya menjalankan sqlpackage.exe dalam skrip PowerShell di mana penanganan kesalahan diatur seperti

$Script:ErrorActionPreference = "Inquire"

karena saya tidak pernah mendapatkan Pertanyaan saya berasumsi masalahnya adalah dengan sqlpackage.exe, namun saya memiliki skrip powershell lain yang disertakan setelah ErrorActionPreference ditetapkan, ternyata skrip yang disertakan juga memiliki set ErrorActionPreference, tetapi untuk "Berhenti". Masih saya percaya jika saya telah menetapkan BlockOnPossibleDataLoss = false seharusnya tidak menghasilkan kesalahan, tetapi setidaknya saya sekarang memiliki cara untuk menanganinya.

nojetlag
sumber
2

Saya memiliki masalah yang sama dan / p: BlockOnPossibleDataLoss = false tidak berfungsi.

Solusi terakhir dalam kasus saya, itu juga harus diatur dalam pengaturan debug file proyek:

Pengaturan debug proyek

Semoga ini bisa membantu seseorang! :)

Christian Müller
sumber
dan jika Anda "menerbitkan" secara langsung, Anda harus mengatur opsi ini di opsi mempublikasikan "lanjutan" juga!
Pac0