SSDT:为什么我们需要 "Script (Build)"?

SSDT: Why can we need "Script (Build)"?

创建未绑定到对象 creation/updating 或 pre/post 部署的脚本有两个选项 - 脚本(构建)和脚本(不在构建中)。

脚本(不在构建中)可用于例如通过 :r 指令包含到预部署或 Post-部署脚本中。它们只会包含在生成的部署脚本中。

我尝试使用 Script (Build) 只是为了看看它是如何使用的。首先,它不识别 PRINT 指令:构建就失败了。其次,如果我只是在脚本(构建)中留下评论,它就不会包含在生成的部署脚本中。

我还注意到,如果在 VS 编辑器中打开脚本(不在构建中),它会显示一个 Execute-Parse-Plan-Connect 工具栏,而我看不到或打开脚本(构建)的工具栏).

问题是——引入Script(Build)的目的是什么?我如何驾驭和使用它,我为什么需要它?在构建的哪一步有意义?

如果您显示脚本的属性,您将看到:

  • 脚本(构建)- 构建操作 = 构建
  • 脚本(不在构建中)- 构建操作 = None

所以不在构建中的脚本只是一个帮助文件,您可能希望将其包含在项目中,但它不会被解析或编译到 dacpac 中。

Script Build是一个常规文件,被解析编译成dacpac,与table文件或存储过程文件意义相同。如果他不喜欢通过“添加项目”菜单或者他只想在一个文件中包含多个不同类型的对象,则可以使用它。