05 / 24 / 2016 읽 는 데 13 분 참가자 
 기록 테이블 을 지정 하 는 방법 과 관련 해서 시스템 버전 임시 테이블 을 만드 는 다음 세 가지 방법 이 있 습니다 . There are three ways to create a system - versioned temporal table with regards to how the history table is specified : 
 미리 만든 사용 자 정의 기록 테이블 이 포함 된 임시 테이블 : 요구 에 가장 알맞 은 기록 테이블 을 만든 다음 임시 테이블 을 만드 는 동안 해당 테이블 을 참조 합니다 . Temporal table with a user - defined history table created beforehand : you create a history table that fits best your needs and then reference that table during temporal table creation . 
 익명 기록 테이블 이 포함 된 임시 테이블 만들 기 Creating a temporal table with an anonymous history table 
 " 익명 " 기록 테이블 이 포함 된 임시 테이블 만들 기 는 특히 프로토타입 및 시험 환경 에서 빠른 개체 만들 기 에 편리 한 옵션 입니다 . Creating a temporal table with an " anonymous " history table is a convenient option for quick object creation , especially in prototypes and test environments . 또한 SYSTEM _ VERSIONING 절 에 매개 변수 가 필요 하 지 않 으므로 임시 테이블 을 만드 는 가장 간단 한 방법 이 기 도 합니다 . It is also the simplest way to create a temporal table since it doesn ’ t require any parameter in SYSTEM _ VERSIONING clause . 아래 예제 에서 는 기록 테이블 의 이름 을 정의 하 지 않 고 시스템 버전 관리 를 사용 하 도록 설정 한 상태 에서 새 테이블 을 만듭니다 . In the example below , a new table is created with system - versioning enabled without defining the name of the history table . 
 시스템 버전 임시 테이블 에 는 기본 키 가 정의 되 어 있 어야 하 며 PERIOD FOR SYSTEM _ TIME 로 선언 된 datetime 2 열 두 개 를 사용 하 여 정확히 한 개 의 PERIOD FOR SYSTEM _ TIME 을 정의 해야 합니다 . A system - versioned temporal table must have a primary key defined and have exactly one PERIOD FOR SYSTEM _ TIME defined with two datetime 2 columns , declared as GENERATED ALWAYS AS ROW START / END 
 기록 테이블 은 언제나 열 수 , 열 이름 , 순서 및 데이터 형식 에서 현재 또는 임시 테이블 과 스키마 를 맞춰야 합니다 . The history table must always be schema - aligned with the current or temporal table , in terms of number of columns , column names , ordering and data types . 
 익명 기록 테이블 은 자동 으로 현재 또는 임시 테이블 과 같 은 스키마 에 생성 됩니다 . An anonymous history table is automatically created in the same schema as current or temporal table . 
 익명 기록 테이블 이름 의 형식 은 MSSQL _ TemporalHistoryFor _< current _ temporal _ table _ object _ id >_[ suffix ] 입니다 . The anonymous history table name has the following format : MSSQL _ TemporalHistoryFor _< current _ temporal _ table _ object _ id >_[ suffix ] . 접미사 는 선택 사항 이 며 테이블 이름 의 첫 번 째 부분 이 고유 하 지 않 은 경우 에 만 추가 됩니다 . Suffix is optional and it will be added only if the first part of the table name is not unique . 
 기본 클러스터 형 인덱스 는 형식 IX _< history _ table _ name > 의 자동 생성 된 이름 을 가진 기록 테이블 에 대해 생성 됩니다 . A default clustered index is created for the history table with an auto - generated name in format IX _< history _ table _ name >. 클러스터 형 인덱스 는 PERIOD 열 ( 시작 , 종료 ) 을 포함 합니다 . The clustered index contains the PERIOD columns ( end , start ) . 
 현재 테이블 을 메모리 액세스 에 최적 화 된 테이블 로 만들 려면 메모리 액세스 에 최적 화 된 테이블 을 포함 한 시스템 버전 임시 테이블 을 참조 하 세요 . To create the current table as a memory - optimized table , see System - Versioned Temporal Tables with Memory - Optimized Tables . 
 기본 기록 테이블 이 포함 된 임시 테이블 만들 기 Creating a temporal table with a default history table 
 이름 지정 은 제어 하 면서 시스템 이 기본 구성 을 사용 하 여 기록 테이블 을 만들 도록 하 려는 경우 기본 기록 테이블 이 포함 된 임시 테이블 을 만들 면 편리 합니다 . Creating a temporal table with a default history table is a convenient option when you want to control naming and still rely on the system to create the history table with the default configuration . 아래 예제 에서 는 기록 테이블 의 이름 을 명시 적 으로 정의 하 고 시스템 버전 관리 를 사용 하 도록 설정 한 상태 에서 새 테이블 을 만듭니다 . In the example below , a new table is created with system - versioning enabled with the name of the history table explicitly defined . 
 HISTORY _ TABLE 매개 변수 에 의해 지정 한 테이블 이 이미 있 는 경우 스키마 일관 성 및 임시 데이터 일관 성 측면 에서 새로 생성 된 임시 표 에 대해 유효 성 이 검사 됩니다 . If the table specified by the HISTORY _ TABLE parameter already exists , it will be validated against the newly created temporal table in terms of schema consistency and temporal data consistency . 잘못 된 기록 테이블 을 지정 하 면 CREATE TABLE 문 이 실패 합니다 . If you specify an invalid history table , the CREATE TABLE statement will fail . 
 사용 자 정의 기록 테이블 이 포함 된 임시 테이블 만들 기 Creating a temporal table with a user - defined history table 
 사용 자 정의 기록 테이블 이 포함 된 임시 테이블 만들 기 는 특정 저 장소 옵션 및 추가 인덱스 를 가진 기록 테이블 을 지정 하 려는 경우 에 편리 한 옵션 입니다 . Creating a temporal table with user - defined history table is a convenient option when the user wants to specify a history table with specific storage options and additional indexes . 아래 예제 에서 는 생성 될 임시 테이블 과 정렬 된 스키마 를 가진 사용 자 정의 기록 테이블 을 만듭니다 . In the example below , a user - defined history table is created with a schema that is aligned with the temporal table that will be created . 이 사용자 정의 기록 테이블 에 대해 포인트 조회 를 위해 클러스터 형 columnstore 인덱스 및 추가 비 클러스터 형 rowstore ( Btree ) 인덱스 를 만듭니다 . To this user - defined history table , a clustered columnstore index and additional non clustered rowstore ( B - tree ) index is created for point lookups . 이 사용자 정의 기록 테이블 이 생성 된 후 사용 자 정의 기록 테이블 을 기본 기록 테이블 로 지정 하 는 시스템 버전 임시 테이블 이 생성 됩니다 . After this user - defined history table is created , the system - versioned temporal table is created specifying the user - defined history table as the default history table . 
 비 임시 테이블 에 버전 관리 추가 Adding versioning to non - temporal tables 
 데이터 를 포함 하 는 비 임시 테이블 에 대해 변경 내용 추적 을 시작 하 려면 PERIOD 정의 를 추가 하 고 선택 적 으로 SQL Server 가 만드 는 빈 기록 테이블 에 대한 이름 을 입력 해야 합니다 . If you want to start tracking changes for a non - temporal table that contains the data , you need to add the PERIOD definition and optionally provide a name for the empty history table that SQL Server will create for you : 
 시스템 버전 임시 테이블 에서 시스템 버전 관리 중지 Stopping System - Versioning on a System - Versioned Temporal Table