2017-07-07 113 views
0

在通过Microsoft SQL Server Management Studio创建表时,是否有一种方法将字段指定为RowVersion而不是Timestamp?Microsoft SQL Server Management Studio说RowVersion是无效类型

这是我所得到的,当我尝试使用rowversion作为一个字段的类型:

enter image description here

我在Windows 7 64位时,SQL Server 2014 Express和微软SQL Server Management Studio中17.1

+0

您是否尝试过时间戳? – MalvEarp

+0

@MalvEarp是的,我可以使用时间戳。我只是不知道rowversion是时间戳的typealias ... https://dba.stackexchange.com/questions/86523/microsoft-recommends-using-rowversion-over-timestamp-but-i-can-not-find -rowve – Whirlwind

回答

5

没有足够的知名度发表评论。这已经被问过。下面是链路

如果您使用的图形用户界面,然后使用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

+0

好的,谢谢...我想我应该使用时间戳。 – Whirlwind

+1

@Whirlwind,是的,直到微软得到解决SSMS表设计器用户界面。我更喜欢DDL脚本的原因之一。 –

相关问题