2017-07-07 23 views
0

Existe-t-il un moyen de créer des tables via Microsoft SQL Server Management Studio pour spécifier un champ au format RowVersion plutôt que Timestamp?Microsoft SQL Server Management Studio indique que RowVersion est non valide type

C'est ce que je reçois quand je tente d'utiliser rowversion comme un type d'un champ:

enter image description here

Je suis sous Windows 7 64 bits, SQL Server 2014 Express et Microsoft SQL Server Management Studio 17.1

+0

Avez-vous essayé l'horodatage? – MalvEarp

+0

@MalvEarp Oui, je peux utiliser l'horodatage. Je ne savais juste pas que rowversion est typealias pour timestamp ... https://dba.stackexchange.com/questions/86523/microsoft-recommends-using-rowversion-over-timestamp-but-i-can-not-find -rowve – Whirlwind

Répondre

5

Vous n'avez pas assez de réputation pour publier un commentaire. Cela a déjà été demandé. ci-dessous est le lien

si vous utilisez l'interface graphique, utilisez TimeStamp' which is how rowversion` est stocké sous les capots

CREATE TABLE dbo.x(y ROWVERSION); 

même les ddl ci-dessus sous les capots seront stockées sous forme Timestamp, vous pouvez vérifier la même chose en utilisant ci-dessous

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'; 

Références:
https://dba.stackexchange.com/questions/86523/microsoft-recommends-using-rowversion-over-timestamp-but-i-can-not-find-rowve

+0

D'accord, merci ... Je suppose que je devrais utiliser l'horodatage. – Whirlwind

+1

@Whirlwind, oui, jusqu'à ce que Microsoft se déplace pour réparer l'interface utilisateur du concepteur de table SSMS. Une raison pour laquelle je préfère les scripts DDL. –