본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

SQL 2016에 설치할 때 추가된 옵션이 "즉시 파일 초기화" 옵션이다.

이하 버전에서는 설치 이후에 설정하는 옵션으로 가능했다.

   

설치 시 아래와 같이 "SQL Server 데이터베이스 엔진 서비스에 볼륨 유지 관리 작업 수행 권한 부여" 체크 권장.

   

설치 후 로그로 해당 옵션 선택을 확인 할 수 있다.

   

   

커멘드 옵션에도 존재한다.

   

setup.exe /Q /ACTION="INSTALL" /IACCEPTSQLSERVERLICENSETERMS /FEATURES="SQL" /INSTANCENAME="SQL2016" .. /SQLSVCINSTANTFILEINIT="True"

   

위 옵션을 체크하면 어떻게 될까?

설치할때 SQL Server 시작계정은 agclusql16 이란 계정으로 시작계정 설정하였고 해당 옵션을 체크하였다.

그러나 실제 정책에 추가된 계정은 기본 계정으로 되어 있다.

   

그럼 실제 즉시 파일 초기화가 작동하는지 확인해보자.

[적용하지 않았을 경우]

sp_cycle_errorlog

go

   

dbcc traceon(3605, 3004, -1)

go

   

create database test

go

   

sp_readerrorlog

Database Instant File Initialization: 사용 안 함. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.

……

Zeroing C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test.mdf from page 0 to 1024 (0x0 to 0x800000)

Zeroing completed on C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test.mdf (elapsed = 31 ms)

Zeroing C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log.ldf from page 0 to 1024 (0x0 to 0x800000)

Zeroing completed on C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log.ldf (elapsed = 35 ms)

[INFO] HkHostDbCtxt::Initialize(): Database ID: [12] 'test'. XTP Engine version is 0.0.

Starting up database 'test'.

[INFO] HkHostDbCtxt::Initialize(): Database ID: [12] 'test'. XTP Engine version is 0.0.

[INFO] HkHostDbCtxt::Initialize(): Database ID: [12] 'test'. XTP Engine version is 0.0.

FixupLogTail(progress) zeroing C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log.ldf from 0x5000 to 0x6000.

Zeroing C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log.ldf from page 3 to 249 (0x6000 to 0x1f2000)

Zeroing completed on C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test_log.ldf (elapsed = 8 ms)

   

   

[적용된 경우]

Database Instant File Initialization: 사용. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.

…..

DBCC TRACEON 3605, server process ID (SPID) 56. This is an informational message only; no user action is required.

DBCC TRACEON 3004, server process ID (SPID) 56. This is an informational message only; no user action is required.

Zeroing S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\td_log.ldf from page 0 to 1024 (0x0 to 0x800000)

Zeroing completed on S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\td_log.ldf (elapsed = 154 ms)

[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'td'. XTP Engine version is 0.0.

Starting up database 'td'.

[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'td'. XTP Engine version is 0.0.

[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'td'. XTP Engine version is 0.0.

FixupLogTail(progress) zeroing S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\td_log.ldf from 0x5000 to 0x6000.

Zeroing S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\td_log.ldf from page 3 to 249 (0x6000 to 0x1f2000)

Zeroing completed on S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\td_log.ldf (elapsed = 23 ms)

   

잘 된다.

시작계정으로 정책에 추가를 하지 않고 기본계정 (NT Service\MSSQLSERVER) 으로 추가되어도 영향을 준다.

이 부분 숙지하면 좋을 것 같다.

   

   

   

   

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday