데이터베이스 즉시 파일 초기화Database Instant File Initialization

데이터 및 로그 파일이 초기화되어 이전에 삭제한 파일의 디스크에 남아 있는 기존 데이터를 덮어씁니다.Data and log files are initialized to overwrite any existing data left on the disk from previously deleted files. 데이터 및 로그 파일은 사용자가 다음 작업 중 하나를 수행할 때 0으로 채워져 초기화됩니다.Data and log files are first initialized by filling the files with zeros when you perform one of the following operations:

  • 데이터베이스를 만듭니다.Create a database.

  • 기존 데이터베이스에 파일, 로그 또는 데이터를 추가합니다.Add files, log or data, to an existing database.

  • 기존 파일의 크기를 늘립니다(자동 증가 작업 포함).Increase the size of an existing file (including autogrow operations).

  • 데이터베이스 또는 파일 그룹을 복원합니다.Restore a database or filegroup.

    파일 초기화는 이러한 작업의 수행 시간을 더 오래 만듭니다.File initialization causes these operations to take longer. 그러나 데이터를 처음으로 파일에 기록할 때 운영 체제는 0으로 파일을 채울 수 없습니다.However, when data is written to the files for the first time, the operating system does not have to fill the files with zeros.

즉시 파일 초기화Instant File Initialization

SQL ServerSQL Server에서 데이터 파일을 즉시 초기화할 수 있습니다.In SQL ServerSQL Server, data files can be initialized instantaneously. 이를 통해 이전에 언급한 파일 작업을 신속히 실행할 수 있습니다.This allows for fast execution of the previously mentioned file operations. 즉시 파일 초기화는 디스크 공간을 0으로 채우지 않고 디스크 공간을 회수합니다.Instant file initialization reclaims used disk space without filling that space with zeros. 대신, 새 데이터를 파일에 기록할 때 디스크 내용을 덮어씁니다.Instead, disk content is overwritten as new data is written to the files. 로그 파일은 즉시 초기화할 수 없습니다.Log files cannot be initialized instantaneously.

참고

인스턴트 파일 초기화는 MicrosoftMicrosoft Windows XP ProfessionalWindows XP Professional 또는 Windows Server 2003Windows Server 2003 이상 버전에서만 사용할 수 있습니다.Instant file initialization is available only on MicrosoftMicrosoft Windows XP ProfessionalWindows XP Professional or Windows Server 2003Windows Server 2003 or later versions.

즉시 파일 초기화는 SQL ServerSQL Server (MSSQLSERVER) 서비스 계정에 SE_MANAGE_VOLUME_NAME을 부여받은 경우에만 사용할 수 있습니다.Instant file initialization is only available if the SQL ServerSQL Server (MSSQLSERVER) service account has been granted SE_MANAGE_VOLUME_NAME. Windows Administrator 그룹의 구성원은 이 권한을 가지고 있으며 다른 사용자에게 볼륨 유지 관리 작업 수행 보안 정책을 추가하여 이 권한을 부여할 수 있습니다.Members of the Windows Administrator group have this right and can grant it to other users by adding them to the Perform Volume Maintenance Tasks security policy. 사용자 권한 할당에 대한 자세한 내용은 Windows 설명서를 참조하세요.For more information about assigning user rights, see the Windows documentation.

TDE를 사용하도록 설정되어 있으면 즉시 파일 초기화를 사용할 수 없습니다.Instant file initialization is not available when TDE is enabled.

계정에 Perform volume maintenance tasks 권한을 부여하려면To grant an account the Perform volume maintenance tasks permission:

  1. 백업 파일을 생성할 컴퓨터에서 로컬 보안 정책 응용 프로그램(secpol.msc)을 엽니다.On the computer where the backup file will be created, open the Local Security Policy application (secpol.msc).

  2. 왼쪽 창에서 로컬 정책을 확장한 다음 사용자 권한 할당을 클릭합니다.In the left pane, expand Local Policies, and then click User Rights Assignment.

  3. 오른쪽 창에서 볼륨 유지 관리 작업 수행을 두 번 클릭합니다.In the right pane, double-click Perform volume maintenance tasks.

  4. 사용자 또는 그룹 추가 를 클릭하고 백업에 사용되는 사용자 계정을 추가합니다.Click Add User or Group and add any user accounts that are used for backups.

  5. 적용을 클릭한 다음 모든 로컬 보안 정책 대화 상자를 닫습니다.Click Apply, and then close all Local Security Policy dialog boxes.

보안 고려 사항Security Considerations

삭제된 디스크 내용은 새 데이터가 파일에 기록될 때만 덮어쓰기 때문에 권한 없는 사용자가 삭제된 내용에 액세스할 수 있습니다.Because the deleted disk content is overwritten only as new data is written to the files, the deleted content might be accessed by an unauthorized principal. 데이터베이스 파일이 SQL ServerSQL Server의 인스턴스에 연결되어 있는 동안 파일의 DACL(임의 액세스 제어 목록)에 의해 이러한 정보 공개 위협이 줄어듭니다.While the database file is attached to the instance of SQL ServerSQL Server, this information disclosure threat is reduced by the discretionary access control list (DACL) on the file. 이 DACL은 SQL ServerSQL Server 서비스 계정 및 로컬 관리자에게만 파일 액세스를 허용합니다.This DACL allows file access only to the SQL ServerSQL Server service account and the local administrator. 그러나 파일이 분리되면 SE_MANAGE_VOLUME_NAME이 없는 사용자 또는 서비스가 액세스할 수 있습니다.However, when the file is detached, it may be accessed by a user or service that does not have SE_MANAGE_VOLUME_NAME. 데이터베이스가 백업될 때에도 유사한 위협이 존재합니다.A similar threat exists when the database is backed up. 백업 파일이 적절한 DACL로 보호되지 않는 경우 권한이 없는 사용자 또는 서비스가 삭제된 내용을 사용할 수 있게 됩니다.The deleted content can become available to an unauthorized user or service if the backup file is not protected with an appropriate DACL.

삭제된 내용의 공개 가능성이 우려된다면 다음 중 하나 또는 둘 다를 수행해야 합니다.If the potential for disclosing deleted content is a concern, you should do one or both of the following:

  • 분리된 데이터 파일 및 백업 파일에 제한적인 DACL이 있는지 항상 확인합니다.Always make sure that any detached data files and backup files have restrictive DACLs.

  • SQL ServerSQL Server 서비스 계정에서 SE_MANAGE_VOLUME_NAME을 취소하여 SQL ServerSQL Server 의 인스턴스에 대한 즉시 파일 초기화를 해제합니다.Disable instant file initialization for the instance of SQL ServerSQL Server by revoking SE_MANAGE_VOLUME_NAME from the SQL ServerSQL Server service account.

참고

즉시 파일 초기화 해제는 사용자 권한이 취소된 후 생성되거나 크기를 늘린 파일에만 영향을 미칩니다.Disabling instant file initialization only affects files that are created or increased in size after the user right is revoked.

참고 항목See Also

CREATE DATABASE(SQL Server Transact-SQL)CREATE DATABASE (SQL Server Transact-SQL)