【发布时间】:2013-07-16 03:57:15
【问题描述】:
使用 vsdbcmd.exe 在两个 dbschema 之间生成差异脚本时,有时会得到一个意外的输出,其中包含一些没有约束名称的删除约束:
GO
PRINT N'Dropping On column: ColumnName ...';
GO
ALTER TABLE TableName DROP CONSTRAINT ;
在我们的架构中,此列具有默认值约束,具有自动生成的名称。我希望 vsdbcmd.exe 生成一个有效的 ALTER TABLE sql 语句,如 msdn 库中指定的那样:
ALTER TABLE [数据库名称。 [模式名称]。 |模式名称。 ] table_name DROP { [ CONSTRAINT ] 约束名 | COLUMN 列名 }
您知道什么会阻止 vsdbcmd.exe 生成有效的 sql 语句吗?
【问题讨论】:
-
经过进一步调查,这仅在约束具有生成的名称时发生。明确命名的 constrained 不受影响。
标签: sql-server diff vsdbcmd