SQL Azure 데이터베이스에서 작업하고 있습니다.SQL Azure의 rowversion
내 데이터베이스의 테이블에 rowversion 열을 추가하고 싶지만 "rowversion"유형을 찾을 수 없습니다!
"타임 스탬프"유형입니까? 그렇다면 ! 나는 타임 스탬프가 사용되지 않음을 읽었다.
감사합니다.
SQL Azure 데이터베이스에서 작업하고 있습니다.SQL Azure의 rowversion
내 데이터베이스의 테이블에 rowversion 열을 추가하고 싶지만 "rowversion"유형을 찾을 수 없습니다!
"타임 스탬프"유형입니까? 그렇다면 ! 나는 타임 스탬프가 사용되지 않음을 읽었다.
감사합니다.
이들은 동일한 것입니다. Rowversion은 "나중"버전입니다 - timestamp는 timestamp에 대한 표준 SQL 스펙과 일치하지 않으므로 사용되지 않습니다.
데이터베이스에 rowversion이 없으면 timestamp를 사용하십시오. 그것은 rowversion
데이터 형식을 나타내는 이름에 대한 끔찍한 선택했기 때문에
만 이름timestamp
이 사용되지 않습니다 - 그것은 (날짜 또는 시간 함께 할 수 없다 이후로 정상적으로는, ANSI에 지정된 내용을 기반으로하는 경우). timestamp
및 rowversion
유형은 100 % 호환 가능하며 상호 교환 가능합니다.
이름은 사용되지 않지만 더 이상 사용하지 않을 수도 있습니다. 심지어 SQL Server 2012에서 rowversion
도 sys.types
이 아니며 rowversion
을 사용하여 테이블을 만들면 에 timestamp
으로 저장되며 나중에 테이블 스크립트를 생성하면 후자로 스크립팅됩니다.
CREATE TABLE dbo.what_the(heck ROWVERSION);
SELECT t.name
FROM sys.types AS t
INNER JOIN sys.columns AS c
ON t.system_type_id = c.system_type_id
OR t.user_type_id = c.user_type_id
WHERE
c.[object_id] = OBJECT_ID('dbo.what_the');
결과 :
name
---------
timestamp
이 뺨에 약간 혀, 당신은 절대적으로 다시 한번 마이크로 소프트가 있기 때문에 그냥 약간의 재미를 파고있어, 향후 호환성을 위해 rowversion
하지 timestamp
를 사용해야합니다 "우리가 말하는 것처럼, 우리가하는 것처럼"비추천 정책. SQL Azure의 경우에는 timestamp
을 선택해야합니다. 이렇게 정리하면 나에게 너무 혼란 스럽기 때문에 이전 이름을 계속 사용한다는 것이 근시안적 인 것처럼 보입니다. <shrug>
P. 이거 어디서 봤니? 웹 기반 SQL Azure 테이블 디자이너에서? 쿼리 디자이너를 사용하여 테이블 디자이너 UI의 드롭 다운 목록에 자신을 제한하는 대신 테이블을 만들려면 rowversion
또는 timestamp
을 사용할 수 있습니다.
또한 "페더레이션 멤버는 타임 스탬프 및 rowversion 데이터 형식을 지원하지 않습니다." - [연맹 지침 및 제한] (http://msdn.microsoft.com/en-us/library/windowsazure/hh597469) –
@ FernandoCorreia 좋은 지적으로, 나는 연맹에 대해서도 생각조차하지 않았습니다. –