다음을 통해 공유


백업 디바이스(SQL Server)

SQL Server 데이터베이스에서 백업 작업을 수행하는 동안 백업된 데이터(백업)가 물리적 백업 디바이스에 기록됩니다. 이 물리적 백업 디바이스는 미디어 세트의 첫 번째 백업을 디바이스에 기록할 때 초기화됩니다. 하나 이상의 백업 디바이스 세트에서의 백업이 미디어 세트 하나를 구성합니다.

항목 내용:

용어 및 정의

백업 디스크
백업 파일이 하나 이상 포함된 하드 디스크나 다른 디스크 스토리지 미디어입니다. 백업 파일은 일반적인 운영 체제 파일입니다.

미디어 세트(media set)
고정된 유형과 개수의 백업 디바이스를 사용하는 백업 미디어, 테이프 또는 디스크 파일을 정렬하여 모아 놓은 것입니다. 미디어 세트에 대한 자세한 내용은 미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server)를 참조하세요.

물리적 백업 디바이스
운영 체제에서 제공하는 테이프 드라이브나 디스크 파일입니다. 백업은 1개에서 64개까지의 백업 디바이스에 기록될 수 있습니다. 백업에 여러 개의 백업 디바이스가 필요한 경우 모든 디바이스 유형은 디스크 또는 테이프 중 하나로 일치해야 합니다.

디스크나 테이프뿐 아니라 Azure Blob Storage 서비스에도 SQL Server 백업을 작성할 수 있습니다.

디스크 백업 디바이스 사용

섹션 내용

백업 작업에서 미디어 세트에 백업을 추가하는 동안 디스크 파일이 꽉 차면 백업 작업이 실패합니다. 백업 파일의 최대 크기는 디스크 디바이스에서 사용 가능한 디스크 공간에 의해 결정되므로 백업 디스크 디바이스에 적합한 크기는 백업 크기에 따라 달라집니다.

디스크 백업 디바이스는 ATA 드라이브와 같은 간단한 디스크 디바이스일 수 있습니다. 또는 드라이브의 전체 디스크를 빈 디스크로 투명하게 교체할 수 있는 핫 스왑 가능 디스크 드라이브를 사용할 수 있습니다. 백업 디스크는 서버의 로컬 디스크나 공유 네트워크 리소스인 원격 디스크일 수 있습니다. 원격 디스크를 사용하는 방법은 이 항목의 뒷부분에 나오는 네트워크 공유의 파일로 백업을 참조하십시오.

SQL Server 관리 도구는 디스크 파일에 타임스탬프를 자동으로 생성하기 때문에 디스크 백업 디바이스를 처리하는 데 매우 유연합니다.

중요

데이터베이스 데이터 및 로그 디스크가 아닌 다른 디스크를 백업 디스크로 사용하는 것이 좋습니다. 이렇게 하면 데이터 또는 로그 디스크가 실패할 경우 백업에 액세스할 수 있습니다.

실제 이름을 사용하여 백업 파일 지정(Transact-SQL)

물리적 디바이스 이름을 사용하여 백업 파일을 지정하기 위한 기본 BACKUP 구문은 다음과 같습니다.

BACKUP DATABASE database_name

TO DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

다음은 그 예입니다.

BACKUP DATABASE AdventureWorks2012   
   TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak';  
GO  

RESTORE 문에서 물리적 디스크 디바이스를 지정하기 위한 기본 구문은 다음과 같습니다.

RESTORE { DATABASE | LOG } database_name

FROM DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

예를 들면 다음과 같습니다.

RESTORE DATABASE AdventureWorks2012   
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak';   

디스크 백업 파일의 경로 지정

백업 파일을 지정할 경우 전체 경로 및 파일 이름을 입력해야 합니다. 파일에 백업할 때 파일 이름이나 상대 경로만 지정하면 백업 파일이 기본 백업 디렉터리에 저장됩니다. 기본 백업 디렉터리는 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Backup입니다. 여기서 n 은 서버 인스턴스의 번호입니다. 따라서 기본 서버 인스턴스의 기본 백업 디렉터리는 C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup입니다.

특히 스크립트에서 모호성을 피하기 위해 모든 DISK 절에 백업 디렉터리의 경로를 명시적으로 지정하는 것이 좋습니다. 그러나 쿼리 편집기를 사용할 경우 이는 그다지 중요하지 않습니다. 쿼리 편집기를 사용할 경우 백업 파일이 확실히 기본 백업 디렉터리에 있으면 DISK 절에서 경로를 생략할 수 있습니다. 예를 들어 다음 BACKUP 문은 AdventureWorks2012 데이터베이스를 기본 백업 디렉터리에 백업합니다.

BACKUP DATABASE AdventureWorks2012   
   TO DISK = 'AdventureWorks2012.bak';  
GO  

참고

기본 위치는 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer 아래의 BackupDirectory레지스트리 키에 저장됩니다.

네트워크 공유의 파일로 백업

SQL Server 원격 디스크 파일에 액세스하려면 SQL Server 서비스 계정에 네트워크 공유에 대한 액세스 권한이 있어야 합니다. 여기에는 백업 작업에서 네트워크 공유에 쓰는 데 필요한 사용 권한과 복원 작업에서 네트워크 공유를 읽는 데 필요한 사용 권한이 포함됩니다. 네트워크 드라이브 및 사용 권한의 가용성은 SQL Server 서비스가 실행 중인 컨텍스트에 따라 달라집니다.

  • SQL Server 도메인 사용자 계정에서 실행 중일 때 네트워크 드라이브에 백업하려면 공유 드라이브가 SQL Server 실행 중인 세션에서 네트워크 드라이브로 매핑되어야 합니다. 명령줄에서 Sqlservr.exe 시작하면 로그인 세션에서 매핑한 네트워크 드라이브가 SQL Server 표시됩니다.

  • 서비스로 Sqlservr.exe 실행하는 경우 SQL Server 로그인 세션과 관련이 없는 별도의 세션에서 실행됩니다. 일반적인 경우는 아니지만 서비스가 실행되는 세션에 고유하게 매핑된 드라이브가 있을 수 있습니다.

  • 도메인 사용자 대신 컴퓨터 계정을 사용하여 네트워크 서비스 계정과 연결할 수 있습니다. 특정 컴퓨터에서 공유 드라이브로 백업할 수 있도록 하려면 해당 컴퓨터 계정에 액세스 권한을 부여합니다. 백업을 작성하는 Sqlservr.exe 프로세스에 액세스 권한이 있으면 BACKUP 명령을 보내는 사용자에게 액세스 권한이 있는지 여부는 상관이 없습니다.

    중요

    네트워크를 통해 데이터를 백업하면 네트워크 오류가 발생하기 쉬우므로 원격 디스크를 사용하는 경우 완료 후에 백업 작업을 확인하는 것이 좋습니다. 자세한 내용은 RESTORE VERIFYONLY(Transact-SQL)를 참조하세요.

UNC(Universal Naming Convention) 이름 지정

백업이나 복원 명령에서 네트워크 공유를 지정하려면 백업 디바이스에 정규화된 UNC 파일 이름을 사용해야 합니다. UNC 이름은 Systemname ShareName\Path\FileName\ 형식 \\ 입니다.

예를 들면 다음과 같습니다.

BACKUP DATABASE AdventureWorks2012   
   TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';  
GO  

테이프 디바이스 사용

참고

테이프 백업 디바이스에 대한 지원은 나중 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

섹션 내용

테이프에 SQL Server 데이터를 백업하려면 Microsoft Windows 운영 체제에서 테이프 드라이브 또는 드라이브를 지원해야 합니다. 또한 지정된 테이프 드라이브에는 드라이브 제조업체가 권장하는 테이프만 사용하는 것이 좋습니다. 테이프 드라이브 설치 방법은 Windows 운영 체제 설명서를 참조하십시오.

테이프 드라이브를 사용하여 백업할 경우 한 개의 테이프가 가득 차면 계속해서 다른 테이프에 백업합니다. 각 테이프에는 미디어 헤더가 있습니다. 첫 번째로 사용된 미디어를 초기 테이프라고 합니다. 각각의 연속되는 테이프는 연속 테이프 라고 하며 이전 테이프의 일련 번호보다 높은 미디어 일련 번호가 부여됩니다. 예를 들어 4개의 테이프 디바이스가 연결된 미디어 세트에는 적어도 4개의 초기 테이프가 있으며 데이터베이스가 맞지 않은 경우 4개의 연속적인 테이프가 있습니다. 백업 세트를 추가할 때 마지막 테이프를 연속하여 탑재해야 합니다. 마지막 테이프가 탑재되지 않은 경우 데이터베이스 엔진은 탑재된 테이프의 끝까지 스캔한 다음 테이프를 변경해야 합니다. 이때 마지막 테이프를 탑재합니다.

테이프 백업 디바이스는 다음 사항을 제외하고 디스크 디바이스와 같이 사용됩니다.

  • 테이프 디바이스는 SQL Server의 인스턴스를 실행하는 컴퓨터에 물리적으로 연결되어 있어야 하며 원격 테이프 디바이스로 백업할 수 없습니다.

  • 백업 작업 중에 테이프 백업 디바이스가 채워지지만 더 많은 데이터를 기록해야 하는 경우 SQL Server 새 테이프를 묻는 메시지를 표시하고 새 테이프를 로드한 후 백업 작업을 계속합니다.

실제 이름을 사용하여 백업 테이프 지정(Transact-SQL)

테이프 드라이브의 물리적 디바이스 이름을 사용하여 백업 테이프를 지정하기 위한 기본 BACKUP 구문은 다음과 같습니다.

BACKUP { DATABASE | LOG } database_name

TO TAPE = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

다음은 그 예입니다.

BACKUP LOG AdventureWorks2012   
   TO TAPE = '\\.\tape0';  
GO  

RESTORE 문에서 물리적 테이프 디바이스를 지정하기 위한 기본 구문은 다음과 같습니다.

RESTORE { DATABASE | LOG } database_name

FROM TAPE = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

테이프와 관련된 BACKUP 및 RESTORE 옵션(Transact-SQL)

테이프를 편리하게 관리할 수 있도록 BACKUP 문은 다음과 같은 테이프 관련 옵션을 제공합니다.

  • { NOUNLOAD | UNLOAD }

    백업 또는 복원 작업 후에 테이프 드라이브에서 자동으로 백업 테이프를 언로드할지 여부를 제어할 수 있습니다. UNLOAD/NOUNLOAD는 세션 기간 동안이나 다른 옵션을 지정하여 다시 설정할 때까지 유지되는 세션 설정입니다.

  • { REWIND | NOREWIND }

    백업 또는 복원 작업 후 SQL Server 테이프가 열린 상태로 유지되는지 또는 테이프가 채워지면 해제할지 제어할 수 있습니다. 기본 동작은 테이프를 되감는 것입니다(REWIND).

참고

BACKUP 구문 및 인수에 대한 자세한 내용은 BACKUP(Transact-SQL)을 참조하세요. RESTORE 구문 및 인수에 대한 자세한 내용은 RESTORE(Transact-SQL)RESTORE 인수(Transact-SQL)를 각각 참조하세요.

열려 있는 테이프 관리

열려 있는 테이프 디바이스 목록 및 탑재 요청 상태를 보려면 sys.dm_io_backup_tapes 동적 관리 뷰를 쿼리합니다. 이 뷰는 다음 BACKUP 또는 RESTORE 작업을 기다리는 동안 일시적으로 유휴 상태에 있는 사용 중인 테이프를 비롯하여 열려 있는 모든 테이프를 표시합니다.

테이프를 실수로 열어 놓은 경우 테이프를 해제하는 가장 빠른 방법은 RESTORE REWINDONLY FROM TAPE =backup_device_name 명령을 사용하는 것입니다. 자세한 내용은 RESTORE REWINDONLY(Transact-SQL)를 참조하세요.

Azure Blob Storage 서비스 사용

Azure Blob Storage 서비스에 SQL Server 백업을 작성할 수 있습니다. 백업에 Azure Blob Storage 서비스를 사용하는 방법에 대한 자세한 내용은 Azure Blob Storage Service를 사용하여 백업 및 복원 SQL Server 참조하세요.

논리적 백업 디바이스 사용

논리적 백업 디바이스는 특정 물리적 백업 디바이스(디스크 파일 또는 테이프 드라이브)를 가리키는 선택적인 사용자 정의 이름입니다. 논리적 백업 디바이스를 사용하면 해당 물리적 백업 디바이스를 참조할 때 간접 참조를 사용할 수 있습니다.

논리적 백업 디바이스를 정의하려면 물리적 디바이스에 논리적 이름을 할당합니다. 예를 들어 논리적 장치인 AdventureWorksBackups가 Z:\SQLServerBackups\AdventureWorks2012.bak 파일이나 \\.\tape0 테이프 드라이브를 가리키도록 정의할 수 있습니다. 그런 다음 백업 및 복원 명령에서 DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak' 또는 TAPE = '\\.\tape0' 대신 AdventureWorksBackups를 백업 장치로 지정할 수 있습니다.

논리적 디바이스 이름은 서버 인스턴스의 모든 논리적 백업 디바이스에서 고유해야 합니다. 기존의 논리적 디바이스 이름을 보려면 sys.backup_devices 카탈로그 뷰를 쿼리합니다. 이 뷰는 각 논리적 백업 디바이스의 이름을 표시하고 해당하는 물리적 백업 디바이스의 유형과 물리적 파일 이름 또는 경로를 설명합니다.

논리적 백업 디바이스를 정의한 후에는 BACKUP 또는 RESTORE 명령에서 디바이스의 실제 이름 대신 논리적 백업 디바이스를 지정할 수 있습니다. 예를 들어 다음 문은 AdventureWorks2012 논리적 백업 디바이스에 AdventureWorksBackups 데이터베이스를 백업합니다.

BACKUP DATABASE AdventureWorks2012   
   TO AdventureWorksBackups;  
GO  

참고

지정된 BACKUP 또는 RESTORE 문에서 논리적 백업 디바이스 이름과 해당 물리적 백업 디바이스 이름을 바꾸어 사용할 수 있습니다.

논리적 백업 디바이스는 긴 경로보다 사용이 편리하다는 장점이 있습니다. 동일한 경로 또는 테이프 디바이스에 일련의 백업을 작성하려는 경우 논리적 백업 디바이스를 사용하면 도움이 될 수 있습니다. 논리적 백업 디바이스는 특히 테이프 백업 디바이스를 식별하는 데 유용합니다.

특정 논리적 백업 디바이스를 사용하도록 백업 스크립트를 작성할 수 있습니다. 이렇게 하면 스크립트를 업데이트하지 않고도 새로운 물리적 백업 디바이스로 전환할 수 있습니다. 전환 과정은 다음과 같습니다.

  1. 원래의 논리적 백업 디바이스 삭제

  2. 원래의 논리적 디바이스 이름을 사용하지만 다른 물리적 백업 디바이스에 매핑되는 새 논리적 백업 디바이스 정의. 논리적 백업 디바이스는 특히 테이프 백업 디바이스를 식별하는 데 유용합니다.

미러된 백업 미디어 세트

백업 미디어 세트를 미러링하면 백업 디바이스의 오작동에 따른 영향이 줄어듭니다. 데이터 손실을 방지할 수 있는 최후의 수단이 백업이므로 이러한 오작동은 특히 심각합니다. 데이터베이스의 크기가 커지면 백업 디바이스 또는 미디어의 실패로 인해 복원 불가능한 백업을 만들게 될 가능성이 커집니다. 백업 미디어를 미러링하면 물리적 백업 디바이스에 중복을 제공하여 백업의 안정성이 향상됩니다. 자세한 내용은 미러된 백업 미디어 세트(SQL Server)를 참조하세요.

참고

미러된 백업 미디어 세트는 SQL Server 2005 Enterprise Edition 이상 버전에서만 지원됩니다.

SQL Server 백업 보관

파일 시스템 백업 유틸리티를 사용하여 디스크 백업을 보관하고 오프사이트에 보관 파일을 저장하는 것이 좋습니다. 디스크를 사용할 경우 보관된 백업을 네트워크를 통해 오프사이트 디스크에 쓸 수 있다는 장점이 있습니다. Azure Blob Storage 서비스를 오프 사이트 보관 옵션으로 사용할 수 있습니다. Azure Blob Storage 서비스에 디스크 백업을 업로드하거나 백업을 직접 작성할 수 있습니다.

또 다른 일반적인 보관 방법은 로컬 백업 디스크에 SQL Server 백업을 작성하고 테이프에 보관한 다음 오프사이트에 테이프를 저장하는 것입니다.

관련 작업

디스크 디바이스를 지정하려면(SQL Server Management Studio)

테이프 디바이스를 지정하려면(SQL Server Management Studio)

논리적 백업 디바이스를 정의하려면

논리적 백업 디바이스를 사용하려면

백업 디바이스에 대한 정보를 보려면

논리적 백업 디바이스를 삭제하려면

참고 항목

SQL Server, Backup 디바이스 개체
BACKUP(Transact-SQL)
유지 관리 계획
미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server)
RESTORE(Transact-SQL)
RESTORE LABELONLY(Transact-SQL)
sys.backup_devices(Transact-SQL)
sys.dm_io_backup_tapes(Transact-SQL)
미러된 백업 미디어 세트(SQL Server)