将 SQLProj Pre/PostDeploy 脚本设置为构建失败

swi*_*ams 5 visual-studio-2013 sqlproj sql-server-data-tools

我正在努力通过 VS2013 部署 SQLProj(数据库项目),并且遇到一个问题,我可以使用一些反馈。

当我发布更改时,它会对表执行 CCRD(创建、复制、重命名、删除)操作。PreDeploy 脚本中的创建和复制以及 PostDeploy 脚本中的重命名、删除。我将这些语句封装在 Try...Catch 块中,并让它打印出错误消息。当部署前和部署后脚本遇到问题时,发布完成,显示发布成功。当这些脚本遇到错误时,我需要不同的行为。我希望这些脚本中遇到的任何错误都会导致发布失败。我尝试过使用 THROW 命令来引发错误,并且尝试过使用 RAISERROR 命令在执行时将严重性设置为 20,根据 BOL,该命令应该终止连接,但发布仍然以“成功”状态完成。

blu*_*lds 0

听起来你正在做正确的事情,而且应该有效。

如果我必须猜测,我会说:

  • 您可能会忽略错误(:在错误时忽略项目中的某处?sqlserver 或您的环境配置为将错误视为警告并忽略它们?)
  • 您实际上可能没有抛出错误 - 您可以在某个地方发布一个示例脚本供我们查看吗?