vsdbcmd.exe生成没有约束名称的删除约束指令

时间:2013-07-17 14:26:37

标签: sql-server diff vsdbcmd

当使用vsdbcmd.exe在两个dbschema之间生成diff脚本时,我有时会获得一个意外的输出,其中包含一些不带约束名称的放置约束:

GO
PRINT N'Dropping On column: ColumnName ...';    

GO
ALTER TABLE TableName DROP CONSTRAINT ;

在我们的架构中,此列具有默认值约束,并带有自动生成的名称。我希望vsdbcmd.exe生成一个有效的ALTER TABLE sql语句,如msdn库中所指定的那样:

  

ALTER TABLE [database_name。 [schema_name]。 | schema_name。 ] table_name DROP {[CONSTRAINT] constraint_name | COLUMN column_name}

您是否知道什么可以阻止vsdbcmd.exe生成有效的sql语句?

1 个答案:

答案 0 :(得分:0)

仅当约束具有生成的名称时才会出现此问题。明确命名的约束不受影响。 因此,此解决方案是命名每个约束。