데이터베이스 파일 초기화

이전에 삭제한 파일 중 디스크에 남아 있는 기존 데이터를 덮어쓰려면 데이터 및 로그 파일을 초기화합니다. 다음 작업 중 하나를 수행하면 먼저 데이터 및 로그 파일이 0으로 채워져서 초기화됩니다.

  • 데이터베이스 만들기

  • 기존 데이터베이스에 파일, 로그 또는 데이터 추가

  • 자동 증가 작업을 포함하여 기존 파일의 크기 증가

  • 데이터베이스 또는 파일 그룹 복원

파일을 초기화하면 이러한 작업을 수행하는 데 시간이 더 오래 걸립니다. 그러나 파일에 데이터를 처음 기록할 때 운영 체제에서 파일을 0으로 채울 필요가 없게 됩니다.

즉시 파일 초기화

SQL Server에서는 데이터 파일을 즉시 초기화할 수 있습니다. 이를 통해 위에서 언급한 파일 작업을 신속하게 수행할 수 있습니다. 즉시 파일 초기화는 사용된 디스크 공간을 0으로 채우지 않고 회수합니다. 대신 파일에 새 데이터를 기록할 때 디스크 내용을 덮어씁니다. 로그 파일은 즉시 초기화할 수 없습니다.

[!참고]

즉시 파일 초기화는 MicrosoftWindows XP Professional 또는 Windows Server 2003 이상 버전에서만 사용할 수 있습니다.

즉시 파일 초기화는 SQL Server(MSSQLSERVER) 서비스 계정에 SE_MANAGE_VOLUME_NAME이 부여된 경우에만 사용할 수 있습니다. Windows 관리자 그룹의 멤버에게는 이 권한이 있으며 다른 사용자를 볼륨 관리 태스크 실행 보안 정책에 추가하여 이 권한을 부여할 수 있습니다. 사용자 권한을 할당하는 방법은 Windows 설명서를 참조하십시오.

보안 고려 사항

삭제된 디스크 내용은 새 데이터가 파일에 기록될 때만 덮어쓰기 때문에 권한 없는 사용자가 삭제된 내용에 액세스할 수 있습니다. 데이터베이스 파일이 SQL Server 인스턴스에 연결되어 있는 동안에는 파일의 DACL(Discretionary Access Control List)에 의해 이러한 정보 공개 위협이 감소합니다. 이 DACL은 SQL Server 서비스 계정과 로컬 관리자에게만 파일 액세스를 허용합니다. 그러나 파일이 분리되면 SE_MANAGE_VOLUME_NAME 권한이 없는 사용자나 서비스가 이 파일에 액세스할 수 있습니다. 데이터베이스를 백업할 때에도 이와 유사한 위협이 있습니다. 적절한 DACL을 사용하여 백업 파일을 보호하지 않으면 권한 없는 사용자나 서비스가 삭제된 내용을 사용할 수 있습니다.

삭제된 내용의 공개를 방지하려면 다음 중 하나 또는 둘 다를 수행해야 합니다.

  • 분리된 데이터 파일과 백업 파일에 제한적인 DACL이 있는지 항상 확인합니다.

  • SQL Server 서비스 계정에서 SE_MANAGE_VOLUME_NAME을 취소하여 SQL Server 인스턴스에 대한 즉시 파일 초기화를 해제합니다.

[!참고]

즉시 파일 초기화 해제는 사용자 권한이 취소된 후에 생성되었거나 크기가 증가한 파일에만 영향을 줍니다.