当使用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语句?
答案 0 :(得分:0)
仅当约束具有生成的名称时才会出现此问题。明确命名的约束不受影响。 因此,此解决方案是命名每个约束。