错误:使用架构项目与Azure数据库进行数据库架构比较

时间:2017-11-22 05:22:45

标签: visual-studio-2015 azure-sql-database database-schema

我正在使用数据库项目来维护数据库模式。模式比较与本地数据库完美匹配。但是当我连接到Azure数据库并与架构项目进行比较时,它会抛出以下错误。

  

在目标模型填充期间捕获到意外异常:值不能为空。   参数名称:catalogStamp

我已尝试通过HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\SSDT\ConnectionMruList

清理所有已保存的连接

enter image description here

任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:1)

很高兴知道它已在VS2017中得到纠正,但对于早期版本的VS中的任何想知道原因的人来说,都是由于兼容模式与数据库不匹配而发生的。我在去年升级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 

答案 1 :(得分:0)

尝试在另一台计算机或虚拟机上安装Visual Studio 2017。它已在Visual Studio 2017上修复。

答案 2 :(得分:0)

试试这个

ALTER DATABASE [Database_Name] SET COMPATIBILITY_LEVEL = 120