sqlpackage.exe ไม่สนใจ BlockOnPossibleDataLoss


13

ฉันมี dacpac ที่ตั้งค่า BlockOnPossibleDataLoss ตั้งค่าเป็นเท็จอย่างไรก็ตามการปรับใช้ถูกบล็อกเมื่อฉันเรียกใช้ sqlpackage.exe โดยบอกฉันว่า "คอลัมน์ [a] กำลังถูกทิ้งข้อมูลอาจสูญหายได้"

อย่างไรก็ตามเมื่อฉันใช้โพรไฟล์การปรับใช้เดียวกันที่แน่นอนและเผยแพร่จาก Visual Studio 2012 มันจะผ่าน

คำตอบ:


10

คุณได้ลองใช้งาน sqlpackage.exe /p:BlockOnPossibleDataLoss=falseในบรรทัดคำสั่งแล้วหรือยัง?

ฉันเพิ่งใช้ SQLPackage.exe เพื่อสร้างไฟล์. dacpac ของฐานข้อมูลทดสอบของฉันจากนั้นฉันประกาศด้วย/p:BlockOnPossibleDataLoss=falseตัวเลือกและเขียนทับฐานข้อมูลของฉัน


ฉันพยายามแล้ว แต่ก็ไม่ได้ช่วยอะไร ฉันทำให้ปัญหาแคบลงอีกเล็กน้อย ฉันเรียกใช้แพคเกจภายในสคริปต์ PowerShell และมีอยู่ในบล็อกลอง catch มันดูเหมือนว่าแม้ว่าธงเป็นชุด sqlpackage.exe สร้างข้อยกเว้น (ผมคาดหวังว่าจะเป็นอย่างอื่น)
nojetlag

1
สิ่งนี้ทำงานได้ดีสำหรับเราในขณะที่ทำงานการปรับใช้ฐานข้อมูลในระบบ Visual Studio Team System ของเราไปยังฐานข้อมูล Azure ของเรา
Dan Csharpster

2

ในที่สุดก็พบปัญหาฉันรัน sqlpackage.exe ภายในสคริปต์ powershell ซึ่งการจัดการข้อผิดพลาดถูกตั้งค่าเช่น

$Script:ErrorActionPreference = "Inquire"

เนื่องจากฉันไม่เคยได้รับ Inquire ฉันคิดว่าปัญหาเกิดขึ้นกับ sqlpackage.exe แต่ฉันมีสคริปต์ powershell อื่นที่รวมอยู่หลังจากที่มีการตั้งค่า ยังฉันเชื่อว่าถ้าฉันได้ตั้ง BlockOnPossibleDataLoss = false มันไม่ควรส่งผลให้เกิดข้อผิดพลาด แต่อย่างน้อยตอนนี้ฉันมีวิธีจัดการกับมันแล้ว


2

ฉันมีปัญหาเดียวกันและ / p: BlockOnPossibleDataLoss = false ไม่ทำงาน

ทางออกสุดท้ายคือในกรณีของฉันซึ่งต้องมีการตั้งค่าในการตั้งค่าการดีบักของไฟล์โครงการ:

การตั้งค่าการดีบักโครงการ

หวังว่านี่จะช่วยใครซักคน! :)


และหากคุณ "เผยแพร่" โดยตรงคุณจะต้องตั้งค่าตัวเลือกนี้ในตัวเลือกการเผยแพร่ "ขั้นสูง" ด้วย!
Pac0
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.