Visual Studio 架构比较找不到生成的脚本

Visual Studio schema compare can't find generated script

我正在使用 Visual Studio 2017 执行 SQL 服务器架构比较。我正在按下架构比较实用程序的 "Generate script" 按钮并看到消息

"Update scripts generated successfully"

但是,我看不到生成的脚本。知道这是怎么回事还是失败了?

根据this page "The generated script appears in a new Transact-SQL Editor window".

当这对我不起作用时,我关闭了所有打开的 windows 除了模式比较 window 并重新勾选了列表中的所有差异(我取消了一些) .这样做并再次 运行 "Generate Script" 之后,Visual Studio 实际上用脚本打开了一个新的 window(文件名为 "C:\Users\me\AppData\Local\Temp\MyDbName_Update1.publish.sql")。

我注意到如果 SSMS 是 运行 ,SSDT 将不会生成架构比较脚本。一旦我关闭 SSMS 并再次尝试生成脚本,SSDT 就成功创建了一个。

不是直接比较连接字符串,而是生成架构文件然后比较该文件

执行以下步骤:

  1. 在 visual Studio 转到 Sql 服务器对象资源管理器
  2. 右键单击数据库名称
  3. Select 提取数据层应用程序
  4. select 文件保存位置
  5. select 仅架构
  6. 取消选择所有 复选框选项 或勾选作为您的比较要求

对源数据库和目标数据库执行相同的操作

然后

比较架构时 select 选项 Data-Tier 应用程序文件 选项