我正在尝试为 CI 执行构建自动化并允许自动部署(我可以在构建机器上访问 SQL CMD exe)。开发人员在没有正确修改所有用法的情况下编写视图、存储过程和相关函数。
我想知道如何强制重新验证所有实体,并且我正在查询可以自动化的查询。(右键单击生成脚本并重新运行不是一个选项,但欢迎使用等效的命令行选项)。
例如,假设我有一个名为dbo.findSum的函数,并假设有 2 个存储过程 Proc1 和 Proc2 正在使用它们。
开发人员可以选择为函数 dbo.findSum 和过程 Proc1 创建更改脚本。
显然,Dev 错过了提交到源代码控制的 Proc2 更改脚本。当代码移动到评估 Proc2 时,我不希望这个愚蠢的错误造成运行时意外。
我在想 sp_recompile 会有所帮助,但实际上它只会在下次运行时标记为编译。我找不到重新验证整个架构实体的准确性的方法。
任何重新验证整个实体的指针都非常感谢。我需要可以自动化的步骤。
是否有特定的查询可以创建整个数据库实体脚本并以特定顺序重新运行它们,如果发现不一致,将强制实体重建并抛出错误?
如果我的方法正确,是否有脚本向导等效的命令行工具可以用来生成脚本。