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

时间:2014-04-17 10:48:50

标签: sql sql-server visual-studio sql-server-2008 database-project

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

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

-- Post Deploy stuff
SELECT * FROM MYTABLE
GO

:r RunPostDeploy2.sql
GO

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

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

2 个答案:

答案 0 :(得分:7)

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

enter image description here

或者你可以通过转到

来做到这一点

enter image description here

答案 1 :(得分:6)

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

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

:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\NestedFolder1\MyScript25.sql
--etc

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

相关问题