SSDT sqlpackage.exe发布输出打印"改变"没有实际更改sql脚本中的对象的语句

时间:2014-11-18 17:08:17

标签: sql-server visual-studio sql-server-data-tools

有没有其他人遇到过sqlpackage.exe发布/生成脚本生成的sql中的错误?

基本上它会生成很多PRINT语句,就像它正在改变对象一样,但是修改这些对象的sql不在脚本中(尽管还有其他sql用于任何其他预期的更改。)

看起来像这样:

....
USE [$(DatabaseName)];


GO
PRINT N'Altering [dbo].[TableName]...';


GO
ALTER TABLE [dbo].[TableName] DROP COLUMN [ColumnName];

GO
PRINT N'Altering PK_Table1PrimaryKey...';


GO
PRINT N'Altering PK_Table2PrimaryKey...';


GO
PRINT N'Altering UK_Table1UniqueKey...';


GO
PRINT N'Altering [dbo].[TableName].[idx_Index1]...';


GO
PRINT N'Altering [dbo].[stp_1]...';


GO
ALTER  PROCEDURE [dbo].[stp_1]
AS
BEGIN
.....

因此主要是约束和索引,其中存在没有匹配的sql语句的PRINT语句。我没有看到存储过程的问题。

我无法在此找到任何连接票,但我已经看到多个SSDT数据库项目(VS2012和2013)的这种行为。

我假设架构中检测到差异,但发布设置会覆盖更改(例如,忽略填充因子或文件组放置设置已启用)。这似乎是一个错误,它会抑制sql而不是输出,当你想要审查(或预览)部署但输出中的更改实际上没有发生时,这是非常误导的。

任何见解都会受到高度赞赏,因为我一直试图谷歌这个问题一段时间没有运气。谢谢!

0 个答案:

没有答案