SQL 2008의 변경 내용 추적

SQL 2008의 변경 내용 추적

변경 내용 추적에는 어떤 버전의 SQL Server 2008이 필요합니까? 내가 읽은 바에 따르면 변경 데이터 캡처에는 Enterprise가 필요하며 변경 내용 추적이 표준에서 실행되기를 바랍니다.

티아 데이브

답변1

변경 내용 추적은 모든 버전에 포함되어 있습니다. 핵심은 휴대용 장치와 같이 간헐적으로 연결되는 시스템 시나리오를 지원하는 것입니다. 변경 데이터 캡처는 Enterprise에만 해당됩니다.

다음은 제가 2008년 11월 TechNet Magazine에 쓴 특집 기사입니다.SQL Server 2008: 엔터프라이즈 데이터베이스의 변경 내용 추적, 변경 추적 또는 변경 데이터 캡처가 활성화된 시스템에서 DBA로서 직면할 수 있는 몇 가지 문제와 이들 간의 확장된 비교 시트를 제공합니다. SQL Books Online 팀의 기술 작가들과의 대화를 통해 그들은 이 두 가지 기능을 위해 BOL을 약간 업그레이드해야 한다는 것을 알고 있습니다. 현재 TN Mag 기사는 좀 더 '접근성'이 좋습니다.

변경 내용 추적의 주요 사항은 실제로 스냅샷 격리(-> tempdb 로드)도 사용해야 한다는 것입니다.

답변2

이것 좀 봐:

http://msdn.microsoft.com/en-us/library/bb522489.aspx(변경 데이터 캡처)

이:

http://msdn.microsoft.com/en-us/library/cc280462.aspx(변경 사항 추적)

이:

http://msdn.microsoft.com/en-us/library/cc280519.aspx(비교)

마지막으로 이는 변경 내용 추적이 Express Edition에서 지원됨을 나타내는 것 같습니다.

http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/3452dd14-d4d1-48e0-9de4-a193619a72be

답변3

감사된 정보의 차이점을 보여주고 설명하려면변경 데이터 캡처와 변경 추적 비교다음은 몇 가지 예입니다.

테이블의 레코드를 수정했는데 변경 사항이 강조 표시되었습니다. 즉, AddressID가 1, 5, 2인 행이 순서대로 표시됩니다.

여기에 이미지 설명을 입력하세요

그런 다음 AddressID = 32522 행을 추가하고 나중에 삭제했습니다. 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

표시된 값은 변경 사항을 나타냅니다. 즉, AddressID가 1, 2, 5인 행에 대한 세 번의 업데이트와 AddressID = 32522인 행의 삭제를 나타냅니다. 32522 행이 처음 삽입되었다는 명확한 표시는 없지만 변경 생성에 따라 버전(ChCrVer) 및 버전 변경(ChVer) 값 5와 6에서는 2개의 변경 사항이 있었습니다. 두 번째는 삭제였지만 첫 번째는 무엇인지 알 수 없습니다.

변경 데이터 캡처에서 제공하는 정보는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

__$Operation = 1은 삭제된 행, 2는 삽입된 행, 3은 이전에 업데이트된 행입니다.

열이 처음 '1970 Napa Street'에서 '123 Street'로 업데이트된 후 '99 Daisy Street'으로 업데이트된 경우 3개의 트랜잭션을 모두 가져오거나 순(마지막) 값만 가져올 수 있습니다.

여기에 이미지 설명을 입력하세요

여기에 이미지 설명을 입력하세요

변경 내용 추적은 변경된 내용과 해당 변경 사항이 삽입, 업데이트 또는 삭제인지 여부만 표시하는 반면, 변경 데이터 캡처는 수정된 행에 대해 삽입, 삭제 또는 업데이트된 값을 표시합니다. 업데이트의 경우 업데이트된 행의 이전 값과 새 값을 모두 표시합니다.

이 기능은 변경한 사용자를 추적하지 않습니다. 그렇게 하려면 사용자의 세부 정보가 저장되고 각 변경 후에 업데이트되는 새 필드를 만들어야 합니다. 변경 시점과 변경에 사용된 기계도 마찬가지입니다. SELECT 문 실행 및 개체 액세스는 추적되지 않습니다.

관련 정보