Fet*_*che 6 sql-server database-project visual-studio-2012 sql-server-data-tools
我们有一个包含三个数据库项目的解决方案。所有三个生成的 dacpac 都按顺序部署,但由于某种原因,其中一个 dacpac 不运行部署后脚本。
我们正在使用 sqlpackage 来创建一个 diffscript,并且 diffscript确实正确地包含了部署后的语句......这里是一个片段
IF EXISTS (SELECT * FROM #tmpErrors) ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT>0 BEGIN
PRINT N'The transacted portion of the database update succeeded.'
COMMIT TRANSACTION
END
ELSE PRINT N'The transacted portion of the database update failed.'
GO
DROP TABLE #tmpErrors
GO
/*
Post-Deployment Script Template
--------------------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example: :r .\myfile.sql
Use SQLCMD syntax to reference a variable in the post-deployment script.
--------------------------------------------------------------------------------------
*/
print 'SCRIPT: dbo.MEMTYPES.data.sql'
Run Code Online (Sandbox Code Playgroud)
其中:a) 注释位于 Header postdeployment.sql 脚本中,该脚本使用标准语法调用其他脚本: :r .\dbo.MEMTYPES.data.sql ,以及 b) 行“ print 'SCRIPT: dbo.MEMTYPES. data.sql'" 是部署后脚本中定义的第一个子脚本的第一行。
但是,运行时,部署日志以以下行结尾:
The transacted portion of the database update succeeded.
Run Code Online (Sandbox Code Playgroud)
这意味着 dacpac 架构更改已应用(并且已应用),但大概没有尝试在脚本中继续运行部署后任务。
有任何想法吗?
因为我发布问题几个月后,https: //blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/我想我应该声明结果是什么...
除了删除评论解决了问题之外,我找不到该问题的韵律或原因。现在这实际上已包含在我们要遵循的规则中,此后我们就再也没有遇到过这个问题。
| 归档时间: |
|
| 查看次数: |
6660 次 |
| 最近记录: |