我正在使用数据库项目来维护数据库架构。模式比较与本地数据库完美配合。但是当我连接到 Azure 数据库并与架构项目进行比较时,它会抛出以下错误。
Unexpected exception caught during population of target model: Value cannot be null. Parameter name: catalogStamp
我已尝试通过 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\SSDT\ConnectionMruList
清理所有已保存的连接
如有任何帮助,我们将不胜感激。谢谢!
最佳答案
很高兴知道它已在 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://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level
您可以检查数据库当前的兼容性级别
SELECT name, compatibility_level FROM sys.databases
关于visual-studio-2015 - 错误: Database schema comparison using schema project with Azure database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47427357/