데이터베이스에 영구 로그 버퍼 추가
적용 대상:SQL Server
이 항목에서는 Transact-SQL을 사용하여 SQL Server 2016(13.x) 이상에서 데이터베이스에 영구 로그 버퍼를 추가하고 제거하는 방법을 설명합니다.
사용 권한
데이터베이스에 대한 ALTER
권한이 필요합니다.
영구 메모리 디바이스 구성(Linux)
Linux에서 영구 메모리 디바이스를 구성합니다.
영구 메모리 디바이스 구성(Windows)
Windows에서 영구 메모리 디바이스를 구성합니다.
데이터베이스에 영구 로그 버퍼 추가
새 로그 파일의 볼륨 또는 탑재 지점은 DAX 사용(NTFS)으로 포맷하거나 DAX 옵션(XFS/EXT4)을 사용하여 탑재해야 합니다.
다음 구문을 사용하여 기존 데이터베이스에 영구 로그 버퍼를 추가합니다. 구문은 SQL Server 버전에 따라 다릅니다.
SQL Server 2017(14.x) 이상에서 영구 로그 버퍼 추가
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'path-to-directory-on-a-DAX-volume');
예시:
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'F:\SQLTLog');
영구 로그 파일 버퍼의 이름은 자동으로 생성됩니다. 파일 크기는 항상 20MB입니다.
SQL Server 2016에서 영구 로그 버퍼 추가(13.x)
ALTER DATABASE [DB] ADD LOG FILE
(
NAME = [DAXlogLogicalName],
FILENAME = 'path-to-log-file-on-a-DAX-volume',
SIZE = 20 MB
);
예시:
ALTER DATABASE WideWorldImporters ADD LOG FILE
(
NAME = wwi_log2,
FILENAME = 'F:\SQLTLog\wwi_log2.pldf',
SIZE = 20 MB
);
DAX 볼륨의 로그 버퍼 파일 크기는 ALTER DATABASE ADD LOG FILE
명령에 지정된 크기에 관계없이 20MB로 조정됩니다.
데이터베이스에서 영구 로그 버퍼 제거
영구 로그 버퍼를 안전하게 제거하려면 영구 로그 버퍼를 드레이닝하기 위해 데이터베이스를 단일 사용자 모드로 배치해야 합니다.
영구 로그 버퍼를 제거하면 디스크의 로그 버퍼 파일이 삭제됩니다.
구문은 SQL Server 버전에 따라 다릅니다.
SQL Server 2017(14.x) 이상에서 영구 로그 버퍼 제거
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = OFF;
예시:
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = OFF;
SQL Server 2016에서 영구 로그 버퍼 제거(13.x)
ALTER DATABASE [DB] SET SINGLE_USER;
ALTER DATABASE [DB] REMOVE FILE [DAXlogLogicalName];
ALTER DATABASE [DB] SET MULTI_USER;
예시:
ALTER DATABASE WideWorldImporters SET SINGLE_USER;
ALTER DATABASE WideWorldImporters REMOVE FILE wwi_log2;
ALTER DATABASE WideWorldImporters SET MULTI_USER;
제한 사항
TDE(투명한 데이터 암호화) 영구 로그 버퍼와 호환되지 않습니다.
가용성 그룹은 로그 판독기 에이전트가 표준 로그 쓰기 의미 체계에 대한 요구 사항으로 인해 보조 복제본에서만 이 기능을 사용할 수 있습니다. 그러나 모든 노드(DAX 볼륨 또는 탑재에 이상적)에 작은 로그 파일을 만들어야 합니다. 장애 조치(failover)가 성공하려면, 장애 조치가 발생할 경우 영구 로그 버퍼 경로가 있어야 합니다.
주의
가용성 그룹 장애 조치(failover) 이벤트 또는 데이터베이스 시작 중에 영구 로그 버퍼 경로 또는 파일이 없는 경우 문제가 해결될 때까지 데이터베이스는 RECOVERY PENDING
상태가 됩니다.
다른 PMEM 기능과 상호 운용성
영구 로그 버퍼와 하이브리드 버퍼 풀이 모두 사용 설정된 경우, 시작 프로세스에서 추적 플래그 809가 활성화되어 있으면, 하이브리드 버퍼 풀은 직접 쓰기 모드로 작동합니다.
백업과 복원 작업
정상적인 복원 조건이 적용됩니다. 영구 로그 버퍼가 DAX 볼륨 또는 탑재로 복원되면 계속 작동합니다. 로그가 DAX가 아닌 디스크 볼륨으로 복원되는 경우 ALTER DATABASE REMOVE FILE
명령을 사용하여 안전하게 제거할 수 있습니다.