SQL Server项目执行多个脚本后部署

Pau*_*els 9 sql sql-server database-project sql-server-2008 visual-studio

我有一个SQL Server 2008数据库项目,并希望在后期部署时按顺序执行多个脚本.

我已经PostDeploy.Sql在脚本文件夹中添加了一个脚本,并将其标记为PostDeploy,并且工作正常.我知道只有一个脚本可以标记为post deploy; 所以我想我可以在剧本中做到这一点:

-- Post Deploy stuff
SELECT * FROM MYTABLE
GO

:r RunPostDeploy2.sql
GO
Run Code Online (Sandbox Code Playgroud)

RunPostDeploy2.sql位于同一目录的链接中.我试过在本地复制文件,但问题似乎是使用:r.

是否可以通过这种方式从后期部署调用外部脚本,如果是这样,如何?

rav*_*ker 10

您必须将脚本转换为SQLCMD模式.像这样在文件顶部有一个工具栏按钮.

在此输入图像描述

或者你可以通过去做

在此输入图像描述


Pet*_*ott 7

首先,您只能将一个脚本设置为"post deploy"(通常在较旧的DB Projects中为您设置).

使用部署后脚本时,您可以使用以下内容包括其他脚本:

:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\NestedFolder1\MyScript25.sql
--etc
Run Code Online (Sandbox Code Playgroud)

看起来你错过了".\",它告诉run命令查看该文件夹.