문제

SQL Server Migration Assistant를 SQL Server 2005로 가져 오기 위해 SQL Server Migration Assistant를 사용했습니다. 수입 된 여러 테이블이 SSMA_TIMESTAMP라는 새 열로 수정 된 것으로 나타났습니다.

누구든지 이것이 무엇인지, 어떻게 사용되는지 말해 줄 수 있습니까?

도움이 되었습니까?

해결책

마이그레이션 보조원이 마이그레이션 중에 데이터 변경을 감지 할 수 있도록 이것이 생성된다고 생각합니다.

SQL Server로 마이그레이션 한이 특정 데이터베이스의 프론트 엔드로 계속 액세스를 사용하지 않는 한 (Simon의 답변 참조) 마이그레이션이 완료된 후에는 사용되지 않을 것이라고 생각합니다. 모든 것이 완료되면이 새 열을 떨어 뜨릴 수 있습니다.

다른 팁

추가 된 SSMA_TIMESTAMP 열은 마이그레이션 중에 만 사용되지 않습니다. 실제로 액세스가 SQL Server에 연결된 테이블의 레코드를 업데이트 할 때 오류를 피하는 데 도움이됩니다. 따라서 마이그레이션 된 SQL Server 데이터베이스에 링크 된 액세스 프론트 엔드를 사용하는 경우 SSMA_TIMESTAMP 열을 삭제하지 않는 것이 가장 좋습니다.

MSDN 기사에서 SQL Server에 연결된 Microsoft Office 액세스 응용 프로그램 최적화:

동시성 검사 지원

아마도 사무실 액세스 - 링크 된 테이블에서 업데이트 가능성 문제의 주요 원인은 사무실 액세스가 서버의 데이터가 업데이트 된 Dynaset에서 마지막으로 검색 한 내용과 일치하는지 여부를 확인할 수 없기 때문일 수 있습니다. 사무실 액세스 가이 확인을 수행 할 수없는 경우 서버 행이 다른 사용자가 수정하거나 삭제했다고 가정하고 업데이트가 중단됩니다.

사무실 액세스가 일치하는 값을 안정적으로 확인할 수없는 여러 유형의 데이터가 있습니다. 여기에는 텍스트, Ntext, 이미지 및 Varchar (Max), Nvarchar (Max) 및 Varbinary (Max) 유형과 같은 대형 객체 유형이 SQL Server 2005에 소개됩니다. Float는 비교를 부적절하게 만들 수있는 반올림 문제의 대상이되어 값이 실제로 변경되지 않았을 때 취소 된 업데이트가 발생합니다. 사무실 액세스에는 기본값이없고 널 값이 포함 된 비트 열이 포함 된 테이블을 업데이트하는 데 어려움이 있습니다.

이러한 문제를 해결하는 빠르고 쉬운 방법은 SQL Server 테이블에 타임 스탬프 열을 추가하는 것입니다. 타임 스탬프 열의 데이터는 날짜 또는 시간과 완전히 관련이 없습니다. 대신, 데이터베이스 전체에서 고유 한 바이너리 값이며 테이블의 열에 새 값이 할당 될 때마다 자동으로 증가하는 이진 값입니다. 이 유형의 열에 대한 ANSI 표준 항은 Rowversion입니다. 이 용어는 SQL Server에서 지원됩니다.

사무실 액세스는 테이블 에이 유형의 열이 포함 된 시점을 자동으로 감지하고 해당 테이블에 영향을 미치는 모든 업데이트 및 삭제 문의 WHERE 절에서 사용합니다. 이것은 다른 모든 열이 다이나셋이 마지막으로 새로 고침 될 때와 동일한 값을 가지고 있는지 확인하는 것보다 더 효율적입니다.

Office Access의 SQL Server Migration Assistant는 업데이트 가능성에 영향을 줄 수있는 데이터 유형이 포함 된 모든 테이블에 SSMA_TIMESTAMP라는 열을 자동으로 추가합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top