2010-07-20 2 views
4

저는 한 데이터베이스에서 다른 데이터베이스로 데이터를 전송해야하는 프로젝트에서 현재 작업 중입니다. 첫 번째 Timestamp 열을 칠 때 모든 것이 잘 진행되었습니다 ...SQL Server 2K - 타임 스탬프 열에 명시 적 값을 삽입 하시겠습니까?

SQL Server에서는이 유형의 열에 대해 명시 적 값을 사용하지 않고 대신 자체 생성하려고합니다.

T-SQL을 사용하여이 데이터를 한 테이블에서 다른 테이블로 가져올 수 있습니까?

+1

@Mark 이것은 사용 사례가 다르므로 정확하게 중복되지 않습니다. OP는 단순히 임의의 데이터를 타임 스탬프 필드에 삽입하는 것이 아니라 기존 데이터를 이전하려고합니다. 그것은 자체적으로 유효한 질문입니다. – MDCore

답변

4

주 : 이름 timestamp는 더 이상 사용되지 않으며 새롭고 (보다 정확한) 이름은 rowversion입니다.

두 답변 :

번호 : 형 rowversion의 SQL 서버 열은 항상 생성하고 데이터베이스 서버에 의해 설정됩니다.

예 : 대상 테이블에서 다른 데이터 유형을 사용하는 경우. rowversion 열에서 읽은 값은 varbinary 열에 저장할 수 있습니다. 따라서 새 테이블에 varbinary 열을 만들어 이전 테이블의 값을 유지할 수 있습니다. 물론,이 varbinary 열은 rowversion 열처럼 자동으로 업데이트되지 않습니다.

3

번호

그것은 값은 다른 데이터베이스에서 의미가 없을 것이다
  • 이진 (8) 값 (데이터베이스 레벨에서) 고유의
    • DB를 엔진은 그에 따라 증분을 유지

    나는 데이터를 비교할 수는 있지만 동기화 할 수 없다는 유명한 데이터 비교 도구를 살펴 보았습니다.

  • 0

    원본과 대상 데이터베이스가 서로 다른 열 내용에 대해서는 걱정할 필요가 없습니다.

    "데이터"로 가정하면 실제 비즈니스 사용자가 필요로하거나 원하는 것들을 의미합니다.

    타임 스탬프 열 (또는 행 버전 또는 기타)은 내부 제어 데이터이므로 업무용 사용자에게는 아무런 가치가 없어야합니다.

    행이 읽기와 갱신 사이에서 변경되었는지를 판별하기 위해 TSEQUALS() 함수와 함 2 사용되었습니다. 모든 칼럼을 where 절에 추가하는 것입니다.

    관련 문제