ข้อผิดพลาด: การเปรียบเทียบสคีมาฐานข้อมูลโดยใช้โครงการสคีมากับฐานข้อมูล Azure

ฉันใช้โครงการฐานข้อมูลเพื่อรักษาสคีมาฐานข้อมูล การเปรียบเทียบสคีมาทำงานได้อย่างสมบูรณ์แบบกับฐานข้อมูลท้องถิ่น แต่เมื่อฉันเชื่อมต่อกับฐานข้อมูล Azure และเปรียบเทียบกับโครงการสคีมา มันเกิดข้อผิดพลาดดังต่อไปนี้

พบข้อยกเว้นที่ไม่คาดคิดในระหว่างประชากรของแบบจำลองเป้าหมาย: ค่าไม่สามารถเป็นค่าว่างได้ ชื่อพารามิเตอร์: CatalogStamp

ฉันได้ลองล้างการเชื่อมต่อที่บันทึกไว้ทั้งหมดผ่านทาง HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\SSDT\ConnectionMruList

ป้อนคำอธิบายรูปภาพที่นี่

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ขอบคุณ!


person Aruna    schedule 22.11.2017    source แหล่งที่มา
comment
ลองติดตั้ง Visual Studio 2017 บนเครื่องอื่นหรือเครื่องเสมือน คุณอาจพบว่าได้รับการแก้ไขแล้วใน Visual Studio 2017   -  person Alberto Morillo    schedule 22.11.2017
comment
ใช่. คุณถูก. มันใช้งานได้ในปี 2560   -  person Aruna    schedule 23.11.2017
comment
ฉันดีใจที่ได้รู้จักอรุณา นี่อาจเป็นเหตุผลที่ดีในการอัปเกรด   -  person Alberto Morillo    schedule 23.11.2017
comment
อย่างแน่นอน. เริ่มการแปลงแล้ว ขอบคุณอีกครั้ง!   -  person Aruna    schedule 23.11.2017


คำตอบ (3)


ลองติดตั้ง Visual Studio 2017 บนเครื่องอื่นหรือเครื่องเสมือน ได้รับการแก้ไขแล้วใน Visual Studio 2017

person Alberto Morillo    schedule 23.11.2017

เป็นการดีที่จะรู้ว่ามันได้รับการแก้ไขแล้วใน VS2017 แต่สำหรับทุกคนที่ใช้ VS เวอร์ชันก่อนหน้าที่ต้องการทราบสาเหตุ มันเกิดขึ้นเนื่องจากโหมดความเข้ากันได้ไม่ตรงกับฐานข้อมูล ฉันเห็นสิ่งนี้หลังจากที่ Microsoft อัปเกรดระดับความเข้ากันได้ของฐานข้อมูลเริ่มต้นบน Azure เมื่อปีที่แล้ว (ดู https://azure.microsoft.com/en-gb/blog/default-compatibility-level-140-for-azure-sql-databases/)

หากคุณยังคงใช้ Visual Studio เวอร์ชันเก่าอยู่ คุณสามารถเปลี่ยนระดับความเข้ากันได้ได้โดยใช้:

ALTER DATABASE [Database_Name] SET COMPATIBILITY_LEVEL = 120

แต่ก่อนอื่นคุณควรตรวจสอบ ให้แน่ใจว่าความแตกต่างระหว่างระดับความเข้ากันได้จะไม่ทำให้คุณเกิดปัญหา ดู; https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level

คุณสามารถตรวจสอบระดับความเข้ากันได้ในปัจจุบันที่ฐานข้อมูลของคุณเปิดอยู่

SELECT name, compatibility_level FROM sys.databases 
person d219    schedule 27.02.2018
comment
กระทู้นี้เป็นสวรรค์และคำตอบนี้สมบูรณ์แบบ การปรับใช้ฐานข้อมูล VS 2015 กับ Azure SQL ทำให้ฉันเกิดข้อผิดพลาด Azure SQL ถูกสร้างขึ้นที่ compatability_level 150 ฉันเปลี่ยนเป็น compatability_level 120 ตอนนี้การเปรียบเทียบสคีมา VS2015 และการปรับใช้ใช้งานได้! - person SherlockSpreadsheets; 29.12.2020

ลองสิ่งนี้

ALTER DATABASE [Database_Name] SET COMPATIBILITY_LEVEL = 120
person Aakash    schedule 07.12.2017