일반적으로 버전 데이터를 표시하려면 rowversion
유형의 열을 추가해야하지만이 작업은 큰 테이블에서 꽤 오래 걸립니다. 어쨌든 dev 샌드 박스 환경에서 그 작업을 수행했는데 실제로 시간이 걸렸지 만 열이 의미있는 초기 값으로 채워져 있음을 발견했습니다. 각 행이 일종의 "초기"상태임을 나타 내기 위해 모든 행이 0이 될 것으로 예상했으나 (결국이 전에는 기록이 없었습니다), 각 행의 정확한 값처럼 보입니다. 모두 다르며 기본값이 아닌 값).열을 추가하지 않은 SQL Server rowversion
그들은 어디서 왔습니까? rowversion
이 열에 노출되었는지 여부에 관계없이 어쨌든 장면 뒤에서 추적되는 것으로 보입니다. 그렇다면 열을 추가하지 않고 직접 가져올 수 있습니까? 내가 직접 호출 할 수있는 일종의 시스템 기능일까요? 난 정말 다운 타임을 피하기 위해, 그리고 또한 다른 테이블 /보기/콤보로 마이 그 레이션 (다른 관련 질문에 제안) 옵션이 아니므로 기존 쿼리의 엄청난 숫자가 있습니다.
그러나 그렇다면 기존 테이블에 열을 추가했을 때 어떻게 겉으로보기에 "올바른"값으로 열을 초기화 할 수 있었습니까? 열이 존재하기 전에도'rowversion '이 생성되고 추적되는 것처럼 보입니다. 그렇지 않으면 새로운 열에 대한 기본값으로 사용할 것을 어떻게 알 수 있습니까? – gzak
@gzak -'SELECT CAST (@ DBTS AS bigint)'는이 전역 데이터베이스 카운터의 현재 값을 제공합니다. 새로운'rowversion' 컬럼을 추가하면 거기에서 증가하는 값을 채울 것입니다. –