2017-07-07 118 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腳本的原因之一。 –

相關問題