我有一个 SQL Server 表,其中有四列,其中一列是默认值为getdate()
. 我有这个表的两个副本,一个在我可以完全控制的开发数据库服务器中,另一个在我几乎没有权限的生产数据库服务器中。
以下是开发表的外观:
我选择了 dtInsert 列。请注意,此列的默认值为getdate()
。我这张表的生产版本是完全一样的。当我向该表中添加一行时,dtInsert 单元格默getdate()
认为我所期望的。当数据库管理员生成生产表的脚本时,它包含默认值约束。但是,当我在 SQL Server Management Studio 2012 中查看表设计时,它显示该列没有默认值。看这里:
当我生成数据库图时,它还显示 dtInsert 列没有默认值。同样,我通过测试知道我的生产数据库服务器中的 dtinsert 列确实默认为getdate()
.
这是 SQL Server Management Studio 2012 版中的错误吗?是否有一些我没有的权限会导致这种行为?是别的吗?为什么该列似乎没有默认值,即使它有?