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