임시 테이블 시스템 일관성 검사Temporal Table System Consistency Checks

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터)예Azure SQL Database아니요Azure SQL Data Warehouse아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

temporal 테이블을 사용하는 경우 시스템은 다양한 일관성 검사를 수행하여 스키마가 임시 요구 사항에 따라 컴파일되고 데이터가 일관적이며 일관성을 유지함을 보장할 수 있습니다.When using temporal tables, the system performs a number of consistency checks to ensure the schema complies with the requirements for temporal and the data is consistent, and remains consistent. 또한, DBCC CHECKCONSTRAINTS 문에 임시 검사가 추가되었습니다.In addition, temporal checks have been added to the DBCC CHECKCONSTRAINTS statement.

시스템 일관성 검사System Consistency Checks

SYSTEM_VERSIONINGON으로 설정하기 전에 기록 테이블 및 현재 테이블에서 일련의 검사가 수행됩니다.Before SYSTEM_VERSIONING is set to ON, a set of checks are performed on the history table and the current table. 이러한 검사는 스키마 검사 및 데이터 검사로 그룹화됩니다(기록 테이블이 비어 있지 않은 경우).These checks are grouped into schema checks and data checks (if history table is not empty). 또한, 시스템은 런타임 일관성 검사를 수행합니다.In addition, the system also performs a runtime consistency check.

스키마 검사Schema Check

temporal 테이블을 만들거나 테이블을 변경하여 temporal 테이블로 변경할 때 시스템은 다음 요구 사항의 충족 여부를 확인합니다.When creating or alter a table to become a temporal table, the system verifies that requirements are met:

  1. 열 이름 및 개수가 현재 테이블 및 기록 테이블에서 동일합니다.The names and number of columns is the same in both the current table and the history table.

  2. 데이터 유형이 현재 테이블과 기록 테이블 사이에 있는 각 열에 일치합니다.The datatypes match for each column between the current table and the history table.

  3. 기간 열이 NOT NULL(으)로 설정됩니다.The period columns are set to NOT NULL.

  4. 현재 테이블에 기본 키 제약 조건이 있고 기록 키에 기본 키 제약 조건이 없습니다.The current table has a primary key constraint and the history table does not have a primary key constraint.

  5. 기록 테이블에는 IDENTITY 열이 정의되지 않습니다.No IDENTITY columns are defined in the history table.

  6. 기록 테이블에는 트리거가 정의되지 않습니다.No triggers are defined in the history table.

  7. 기록 테이블에는 외래 키가 정의되지 않습니다.No foreign keys are defined in the history table.

  8. 기록 테이블에는 테이블 또는 열 제약 조건이 정의되지 않습니다.No table or column constraints are defined on the history table. 그러나 기록 테이블의 기본 열 값은 허용되지 않습니다.However, default column values on the history table are permitted.

  9. 기록 테이블은 읽기 전용 파일 그룹에 배치되지 않습니다.The history table is not placed in a read-only filegroup.

  10. 기록 테이블은 변경 추적 또는 변경 데이터 캡처를 위해 구성되지 않습니다.The history table is not configured for change tracking or change data capture.

병렬 일관성 검사Data Consistency Check

SYSTEM_VERSIONINGON 으로 설정하고 DML 작업의 일부로 설정하기 전에 시스템은 SysEndTimeSysStartTime검사를 수행합니다.Before SYSTEM_VERSIONING is set to ON and as part of any DML operation, the system performs the following check: SysEndTimeSysStartTime

기존 기록 테이블에 대한 링크를 만드는 경우 데이터 일관성 검사를 수행하도록 선택할 수 있습니다.When creating a link to an existing history table, you can choose to perform a data consistency check. 이 데이터 일관성 검사는 기존 레코드가 겹치지 않고 모든 개별 레코드에서 임시 요구 사항이 충족되는지 확인합니다.This data consistency check ensures that existing records do not overlap and that temporal requirements are fulfilled for every individual record. 기본값은 데이터 일관성 검사를 수행하는 것입니다.Performing the data consistency check is the default. 일반적으로 기록 데이터로 채워지는 기존 기록 테이블을 통합하는 경우와 같이 현재 테이블과 기록 테이블 사이에서 데이터 동기화가 이루어지지 않을 때마다 데이터 일관성을 검사하는 것이 좋습니다.Generally, performing the data consistency is recommended whenever the data between the current and history tables may be out of sync, such as when incorporating an existing history table that is populated with history data.

경고

시스템 클록을 수동으로 변경하면 겹침 상태(득, 레코드의 종료 시간이 시작 시간 이전이 아님)가 실패하는 것을 방지하기 위해 런타임 데이터 일관성 검사가 수행되어 시스템이 예기치 않게 실패할 수 있습니다.Manual changes to the system clock will cause the system to fail unexpectedly because the runtime data consistency checks that are in place to prevent overlap conditions (namely that the end time for a record is not less than its start time) will fail.

DBCC CHECKCONSTRAINTSDBCC CHECKCONSTRAINTS

DBCC CHECKCONSTRAINTS 명령에는 임시 데이터 일관섬 검사가 포함됩니다.The DBCC CHECKCONSTRAINTS command includes temporal data consistency checks. 자세한 내용은 DBCC CHECKCONSTRAINTS(Transact-SQL)를 참조하세요.For more information, see DBCC CHECKCONSTRAINTS (Transact-SQL).

이 문서가 도움이 되었나요?Did this Article Help You? 여러분의 의견을 환영합니다.We’re Listening

어떤 정보를 찾고 계세요? 정보를 찾으셨나요?What information are you looking for, and did you find it? 여러분의 의견은 문서의 내용을 개선하는 데 많은 도움이 됩니다.We’re listening to your feedback to improve the content. 의견이 있으면 sqlfeedback@microsoft.comPlease submit your comments to sqlfeedback@microsoft.com

참고 항목See Also

임시 테이블 Temporal Tables
시스템 버전 관리 임시 테이블 시작 Getting Started with System-Versioned Temporal Tables
임시 테이블을 사용하여 분할 Partitioning with Temporal Tables
임시 테이블 고려 사항 및 제한 사항 Temporal Table Considerations and Limitations
임시 테이블 보안 Temporal Table Security
시스템 버전 관리된 임시 테이블에서 기록 데이터의 보존 관리 Manage Retention of Historical Data in System-Versioned Temporal Tables
메모리 액세스에 최적화된 테이블을 포함한 시스템 버전 임시 테이블 System-Versioned Temporal Tables with Memory-Optimized Tables
임시 테이블 메타데이터 뷰 및 함수Temporal Table Metadata Views and Functions