代码之家  ›  专栏  ›  技术社区  ›  Aruna

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

  •  2
  • Aruna  · 技术社区  · 7 年前

    我使用数据库项目来维护数据库模式。模式比较适用于本地数据库。但当我连接到Azure数据库并与模式项目进行比较时,它抛出了以下错误。

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

    HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\SSDT\ConnectionMruList

    enter image description here

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

    3 回复  |  直到 7 年前
        1
  •  2
  •   d219    7 年前

    很高兴知道它在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 
    
        2
  •  0
  •   Alberto Morillo    7 年前

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

        3
  •  0
  •   Buddy    7 年前

    试试这个

    ALTER DATABASE [Database_Name] SET COMPATIBILITY_LEVEL = 120