시스템 버전 임시 테이블에서 시스템 버전 관리 중지Stopping System-Versioning on a System-Versioned Temporal Table

이 항목은 다음에 적용됩니다. 예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

임시 테이블의 버전 관리를 일시적으로나 영구적으로 중지하려는 경우가 있습니다.You may want to stop versioning on your temporal table either temporarily or permanently.
SYSTEM_VERSIONING 절을 OFF로 설정하여 이를 수행할 수 있습니다.You can do that by setting SYSTEM_VERSIONING clause to OFF.

SYSTEM_VERSIONING = OFF로 설정Setting SYSTEM_VERSIONING = OFF

임시 테이블에 대해 특정 유지 관리 작업을 수행하려는 경우 또는 버전이 있는 테이블이 더 이상 필요하지 않은 경우 시스템 버전 관리를 중지합니다.Stop system-versioning if you want to perform specific maintenance operations on temporal table or if you don’t need a versioned table anymore. 이 작업을 수행하면 독립적인 테이블 두 개가 생성됩니다.As a result of this operation you will get two independent tables:

  • 기간이 정의된 현재 테이블Current table with period definition

  • 기록 테이블(일반 테이블)History table as a regular table

중요한 주의 사항Important remarks

  • SYSTEM_VERSIONING = OFF 를 설정하거나 SYSTEM_TIME 기간을 삭제할 때 데이터 손실은 발생하지 않습니다.No data loss happens when you set SYSTEM_VERSIONING = OFF or drop the SYSTEM_TIME period.

  • SYSTEM_VERSIONING = OFF 로 설정하고 SYSTEM_TIME 기간을 제거/삭제하지 않으면 시스템은 모든 삽입 및 업데이트 작업에 대해 기간 열을 계속 업데이트합니다.When you set SYSTEM_VERSIONING = OFF and do not remove drop the SYSTEM_TIME period, the system will continue to update the period columns for every insert and update operation. 현재 테이블에서 수행하는 삭제 작업은 영구적인 작업입니다.Deletes on current table will be permanent.

  • 기간 열을 완전히 제거하려면 SYSTEM_TIME 기간을 삭제합니다.Drop the SYSTEM_TIME period to remove the period columns completely.

  • SYSTEM_VERSIONING = OFF로 설정하면 충분한 권한이 있는 모든 사용자가 기록 테이블의 내용과 스키마를 수정하거나 기록 테이블을 완전히 삭제할 수 있습니다.When you set SYSTEM_VERSIONING = OFF, all users that have sufficient permissions will be able to modify schema and content of history table or even to permanently delete the history table.

영구적으로 SYSTEM_VERSIONING 제거Permanently remove SYSTEM_VERSIONING

이 예에서는 SYSTEM_VERSIONING을 영구적으로 제거하고 기간 열을 완전히 제거합니다.This example permanently removes SYSTEM_VERSIONING and removes the period columns completely. 기간 열은 필요에 따라 제거하면 됩니다.Removing the period columns is optional.

ALTER TABLE dbo.Department SET (SYSTEM_VERSIONING = OFF);   
/*Optionally, DROP PERIOD if you want to revert temporal table to a non-temporal*/   
ALTER TABLE dbo.Department   
DROP PERIOD FOR SYSTEM_TIME;  

임시로 SYSTEM_VERSIONING 제거Temporarily remove SYSTEM_VERSIONING

시스템 버전 관리를 OFF로 설정해야 하는 작업의 목록은 다음과 같습니다.This is the list of operations that requires system-versioning to be set to OFF:

  • 기록에서 불필요한 데이터 제거(DELETE 또는 TRUNCATE)Removing unnecessary data from history (DELETE or TRUNCATE)

  • 버전을 관리하지 않고 현재 테이블에서 데이터 제거(DELETE, TRUNCATE)Removing data from current table without versioning (DELETE, TRUNCATE)

  • 현재 테이블에서 SWITCH OUT 분할Partition SWITCH OUT from current table

  • 기록 테이블로 SWITCH IN 분할Partition SWITCH IN into history table

    이 예에서는 특정 유지 관리 작업을 수행할 수 있도록 SYSTEM_VERSIONING을 임시로 중지합니다.This example temporarily stops SYSTEM_VERSIONING to allow you to perform specific maintenance operations. 테이블 유지 관리를 위한 필수 구성 요소로 버전 관리를 임시로 중지하는 경우에는 데이터 일관성을 유지할 수 있도록 트랜잭션 내에서 중지를 수행하는 것이 좋습니다.If you stop versioning temporarily as a prerequisite for table maintenance, we strongly recommend doing this inside a transaction to keep data consistency.

BEGIN TRAN   
ALTER TABLE dbo.Department SET (SYSTEM_VERSIONING = OFF);   
TRUNCATE TABLE [History].[DepartmentHistory]   
WITH (PARTITIONS (1,2))   
ALTER TABLE dbo.Department SET    
(   
SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.DepartmentHistory)   
);   
COMMIT ;  

이 문서가 도움이 되었나요?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
시스템 버전 관리된 임시 테이블에서 기록 데이터의 보존 관리 Manage Retention of Historical Data in System-Versioned Temporal Tables
메모리 액세스에 최적화된 테이블을 포함한 시스템 버전 임시 테이블 System-Versioned Temporal Tables with Memory-Optimized Tables
시스템 버전 임시 테이블 만들기 Creating a System-Versioned Temporal Table
시스템 버전 임시 테이블의 데이터 수정 Modifying Data in a System-Versioned Temporal Table
시스템 버전 임시 테이블의 데이터 쿼리 Querying Data in a System-Versioned Temporal Table
시스템 버전 임시 테이블의 스키마 변경 Changing the Schema of a System-Versioned Temporal Table