从一个SQL版本到另一个SQL版本的SQL架构比较不起作用

从一个SQL版本到另一个SQL版本的SQL架构比较不起作用,sql,visual-studio,sql-server-2008,sql-server-2014,sql-server-data-tools,Sql,Visual Studio,Sql Server 2008,Sql Server 2014,Sql Server Data Tools,在Visual Studio(2013年或2015年,两者的作用相同)>SQL模式比较中,我尝试将模式从SQL 2008上的一个数据库复制到SQL 2014上的数据库。从2008->2008运行良好,2014->2014运行良好,但当尝试从2008->2014运行时,它不起作用。在运行比较并点击更新之后,它只是停留在“Schema compare generate script(db1>db2)”上,直到它最终冻结,VisualStudio只是说它很忙,而且从未完成。我也找不到一个日志来解释它在

在Visual Studio(2013年或2015年,两者的作用相同)>SQL模式比较中,我尝试将模式从SQL 2008上的一个数据库复制到SQL 2014上的数据库。从2008->2008运行良好,2014->2014运行良好,但当尝试从2008->2014运行时,它不起作用。在运行比较并点击更新之后,它只是停留在“Schema compare generate script(db1>db2)”上,直到它最终冻结,VisualStudio只是说它很忙,而且从未完成。我也找不到一个日志来解释它在哪一点被卡住


在“选项”下,我试图忽略兼容性问题,但这并不能解决它。有什么建议吗?

不要点击“更新”,而是尝试“生成脚本”,然后在目标数据库上运行脚本。

这可能是架构比较错误。我建议首先确保您使用的是最新版本的SQL Server工具(可在此处下载:)

然后,如果问题仍然存在,我建议使用以下说明捕获跟踪日志,并打开一个连接问题,该问题描述了问题,并在使用类别“开发人员工具(SSDT、BIDS等)”时包含跟踪日志

正在收集SSDT的事件日志

  • 以管理员身份打开新的命令提示符
  • 运行此命令logman create trace-n DacFxDebug-p“Microsoft SQLServerDataTools”0x800-o“%LOCALAPPDATA%\DacFxDebug.etl”-ets
  • 然后运行以下命令:logman create trace-n SSDTDebug-p“Microsoft SQLServerDataToolsVS”0x800-o“%LOCALAPPDATA%\SSDTDebug.etl”-ets
  • 运行SSDT并复制问题
  • 返回命令提示符并运行以下命令: logman停止DacFxDebug-ets logman停止SSDTDebug-ets
  • 生成的ETL文件将位于%LOCALAPPDATA%\SSDTDebug.ETL&%LOCALAPPDATA%\DacFxDebug.ETL

这两个命令都做相同的事情,甚至都没有达到这一点。通常,在为该行显示的窗口中,它下面会出现两行,但两行都没有出现,它无法进入预览,更不用说生成脚本了。对于第一个命令,在将其分成两个命令后,第二个命令会报告-ets未知,但它适用于第一个命令。在没有-ets的情况下运行很好。刚刚发现,第二个命令上的-you's copy-pasting是一个程序,它将-,改为-,无效,但我现在正在运行它。我编辑了上面的文本,它是从其他地方复制/粘贴的,与StackOverflow的格式不兼容。