백업 디바이스(SQL Server)

적용 대상:SQL Server

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

용어 및 정의

백업 디스크
하나 이상의 백업 파일이 포함된 하드 디스크 또는 기타 디스크 스토리지 미디어입니다. 백업 파일은 일반 운영 체제 파일입니다.

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

물리적 백업 디바이스
운영 체제에서 제공하는 테이프 드라이브 또는 디스크 파일입니다. 백업은 1~64개의 백업 디바이스로 작성할 수 있습니다. 백업에 여러 백업 디바이스가 필요한 경우 디바이스는 모두 단일 유형의 디바이스(디스크 또는 테이프)에 해당해야 합니다.

SQL Server 백업은 디스크 또는 테이프 외에 Azure Blob Storage에 기록할 수도 있습니다.

디스크 백업 디바이스 사용

백업 작업이 미디어 세트에 백업을 추가하는 동안 디스크 파일이 채워지면 백업 작업이 실패합니다. 백업 파일의 최대 크기는 디스크 디바이스에서 사용할 수 있는 사용 가능한 디스크 공간에 따라 결정됩니다. 따라서 백업 디스크 디바이스에 적합한 크기는 백업 크기에 따라 달라집니다.

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

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

Important

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

데이터베이스 파일과 백업 파일이 동일한 디바이스에 있는 경우 해당 디바이스에 오류가 발생하면 데이터베이스와 백업을 모두 사용할 수 없게 됩니다. 또한 데이터베이스 및 백업 파일을 별도의 디바이스에 배치하면 데이터베이스의 프로덕션 사용과 백업 작성 모두에 대한 I/O 성능이 최적화됩니다.

물리적 이름을 사용하여 백업 파일 지정(Transact-SQL)

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

BACKUP DATABASE database_name

TO DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

예:

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

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

RESTORE { DATABASE | LOG } database_name

FROM DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

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

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

디스크 백업 파일 경로 지정

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

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

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

참고 항목

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

네트워크 공유 파일에 백업

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

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

  • Sqlservr.exe를 서비스로 실행하면 SQL Server는 로그인 세션과 관계가 없는 별도의 세션에서 실행됩니다. 서비스가 실행되는 세션에는 일반적으로 매핑되지 않지만 자체 매핑된 드라이브가 있을 수 있습니다.

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

    Important

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

UNC(범용 명명 규칙) 이름 지정

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

예:

BACKUP DATABASE AdventureWorks2022   
   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 AdventureWorks2022   
   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 동적 관리 뷰를 쿼리합니다. 이 보기에는 열려 있는 모든 테이프가 표시됩니다. 기다리는 동안 일시적으로 유휴 상태에 있는 사용 중인 테이프를 비롯하여 열려 있는 모든 테이프를 표시합니다.

테이프가 실수로 열려 있는 경우, 테이프를 가장 빨리 해제하는 방법으로 다음 명령을 사용할 수 있습니다. RESTORE REWINDONLY FROM TAPE =backup_device_name. 자세한 내용은 RESTORE REWINDONLY(Transact-SQL)를 참조 하세요.

Azure Blob Storage 사용

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

논리 백업 디바이스 사용

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

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

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

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

BACKUP DATABASE AdventureWorks2022   
   TO AdventureWorksBackups;  
GO  

참고 항목

지정된 BACKUP 또는 RESTORE 문에서 논리 백업 디바이스 이름과 해당 물리적 백업 디바이스 이름은 서로 교환할 수 있습니다.

논리 백업 디바이스를 사용하는 한 가지 이점은 긴 경로보다 사용하기가 더 간단하다는 것입니다. 논리 백업 디바이스를 사용하면 동일한 경로 또는 테이프 디바이스에 일련의 백업을 쓰려는 경우에 도움이 될 수 있습니다. 논리 백업 디바이스는 테이프 백업 디바이스를 식별하는 데 특히 유용합니다.

특정 논리 백업 디바이스를 사용하도록 백업 스크립트를 작성할 수 있습니다. 이렇게 하면 스크립트를 업데이트하지 않고 새 물리적 백업 디바이스로 전환할 수 있습니다. 전환에는 다음 프로세스가 포함됩니다.

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

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

미러된 백업 미디어 세트

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

참고 항목

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

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)