Microsoft SQL Server Management Studio 说 RowVersion 是无效类型
Posted
技术标签:
【中文标题】Microsoft SQL Server Management Studio 说 RowVersion 是无效类型【英文标题】:Microsoft SQL Server Management Studio says that RowVersion is invalid type 【发布时间】:2017-07-07 15:39:56 【问题描述】:在通过 Microsoft SQL Server Management Studio 创建表时,有没有办法将字段指定为RowVersion 而不是时间戳?
这是我尝试使用 rowversion 作为字段类型时得到的结果:
我使用的是 64 位 Windows 7、SQL Server 2014 Express 和 Microsoft SQL Server Management Studio 17.1
【问题讨论】:
你试过时间戳吗? @MalvEarp 是的,我可以使用时间戳。我只是不知道 rowversion 是时间戳的别名...dba.stackexchange.com/questions/86523/… 【参考方案1】:没有足够的声望来发表评论。以前有人问过这个问题。下面是链接
如果您使用的是 GUI,则使用 TimeStamp' which is how
rowversion` 存储在引擎盖下
CREATE TABLE dbo.x(y ROWVERSION);
即使是上面的 ddl 也将存储为Timestamp
,您可以使用下面的方法进行验证
SELECT t.name
FROM sys.types AS t
INNER JOIN sys.columns AS c
ON c.system_type_id = t.system_type_id
INNER JOIN sys.tables AS st
ON c.[object_id] = st.[object_id]
INNER JOIN sys.schemas AS s
ON st.[schema_id] = s.[schema_id]
WHERE st.name = N'x'
AND s.name = N'dbo'
AND c.name = N'y';
参考资料:https://dba.stackexchange.com/questions/86523/microsoft-recommends-using-rowversion-over-timestamp-but-i-can-not-find-rowve
【讨论】:
好的,谢谢...我想我应该使用时间戳。 @Whirlwind,是的,直到微软开始修复 SSMS 表设计器 UI。我更喜欢 DDL 脚本的原因之一。 2021 年 4 月和 SSMS V18.7.1 仍然不支持 RowVersion,仅支持 TimeStamp以上是关于Microsoft SQL Server Management Studio 说 RowVersion 是无效类型的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft SQL Server Management Studio 已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
java.sql.SQLException [Microsoft] [ODBC SQL Server Driver] [SQL Server] 对象名“表名”无效
Microsoft SQL Server Version List(SQL Server 版本)
Microsoft SQL Server 2017 Express and Management Studio Express
Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝