Windows Server 백업을 사용하여 SQL Server 데이터베이스를 어떻게 백업 할 수 있습니까?


11

분명히 Windows Server 백업은이 일부 SQL Server 데이터베이스의 백업을 지원합니다 :

응용 프로그램을 복구하는 기능. Windows Server 백업은 Microsoft® SQL Server®와 같은 응용 프로그램에 내장 된 VSS 기능을 사용하여 응용 프로그램 데이터를 보호합니다. [출처 : TechNet ]

또한 사람들은 Windows Server 백업 이 SQL Server에서 일종의 백업 작업트리거하는 것으로 보입니다 .

그러나 Windows Server 백업을 사용하여 SQL Server 데이터베이스를 정확하게 백업 하는 방법대한 (공식) 설명서를 찾지 못했습니다 .

  • 백업 만하면 .mdf되나요? .mdf.ldf?
  • 온라인 또는 오프라인?
  • 이 방법으로 백업 된 SQL Server 데이터베이스를 복원하는 공식 절차는 무엇입니까?
  • 증분 / 차등 백업을 수행 할 때 고려해야 할 사항이 있습니까?
  • 이 모든 것이 어디에 기록되어 있습니까?

(SQL Server 유지 관리 계획, sqlmaint.exeT-SQL 백업 및 SQL Server 에이전트 를 사용하여 백업을 수행하는 방법을 알고 있습니다 . Windows Server 백업이 제공하는 대안에 관심이 있습니다.)


어떤 Windows Server 버전과 어떤 SQL Server 버전입니까?
pauska

@pauska : 개인적으로 저는 Windows Server 2012 R2 및 SQL Server 2012에 관심이 있습니다. (다른 사람들이 더 유용하게 사용할 수 있도록 의도적으로 더 일반적인 질문을 유지합니다.)
Heinzi

1
전체 백업을 수행하는 Windows Server 2008이 있습니다. 내가 알 수있는 한, 각 데이터베이스는 백업이 실행될 때 마지막으로 백업되었다고 말하므로 전체 백업의 일부로 SQL Server Express에서 데이터베이스를 가져옵니다. 이 데이터베이스를 백업하는 방법을 알아 내려고 노력했기 때문에 혼란 스러웠습니다. 어디에서나 수행하는 스크립트를 찾을 수 없기 때문입니다. 어쨌든 스크립트를 작성하여 작동한다는 것을 알고 내가 가지고있는 것을 정확하게 알 수 있다고 생각합니다.
Dave Cousineau

답변:


5

Windows Server 백업은 SQL Server의 백업 도구가 아닙니다.

그러나 디자인은 IT 전문가 가 아닌 소규모 조직이나 개인에게 특히 적합합니다 ...

Windows Server 2008에 대한 Windows Server 백업 단계별 가이드 섹션 에서 인용 한 내용 : "누가 Windows Server 백업을 사용해야합니까?"

인용 한 부분은 기본적으로 Windows Server 백업이 시작되면 Windows에서 VSS 기능을 트리거한다는 것입니다. SQL Server는 볼륨 섀도 복사본이 발생하고 SQL Server Writer 서비스를 통해 데이터베이스 파일 (* .mdf, * .ndf, * .ldf)의 복사본을 수행 할 수 있음을 알고 있습니다.

SQL Server Writer 서비스의 목적은 다음과 같이 정의됩니다.

실행하면 데이터베이스 엔진이 잠기고 데이터 파일에 독점적으로 액세스 할 수 있습니다. SQL Writer Service가 실행되고 있지 않으면 Windows에서 실행되는 백업 프로그램은 데이터 파일에 액세스 할 수 없으며 SQL Server 백업을 사용하여 백업을 수행해야합니다.

SQL Writer Service를 사용하면 SQL Server가 실행되는 동안 Windows 백업 프로그램이 SQL Server 데이터 파일을 복사 할 수 있습니다.

SQL Writer Service 섹션 에서 인용 : "목적"

이것이 기본적으로 Windows Server 백업에서 발생하는 모든 것입니다.

SQL Server가 실행되는 동안 Windows Server 백업으로 생성 된 백업은 일관 되어야 하지만 아직 디스크에 기록되지 않은 트랜잭션은 볼륨 섀도 복사본에 없습니다. 온라인 상태 일 때 데이터베이스 스냅 샷이 작성되었습니다.

그러나 MSDN 기사 Snapshot Backups 는 다음과 같이 말합니다.

다음 유형의 백업 만 스냅 샷 백업이 될 수 있습니다.

  • 전체 백업
  • 부분 백업
  • 파일 백업
  • 차등 데이터베이스 백업. 벤더가 VSS 인터페이스를 사용하는 경우에만 지원됩니다.

그리고 추가적으로 :

이 항목의 앞부분에서 언급 한 것을 제외하고 스냅 샷 백업은 기능적으로 해당하는 기존 백업과 동일합니다. 스냅 샷이 아닌 전체 백업, 차등 백업 및 로그 백업과 함께 복원 순서에서 스냅 샷 백업을 사용할 수 있습니다. 다른 백업과 마찬가지로 스냅 샷 백업은 msdb 데이터베이스에서 추적되며 여기서 backupset.is_snapshot = 1로 스냅 샷 백업이 식별됩니다. msdb에 대한 자세한 내용은 msdb 데이터베이스를 참조하십시오.

SQL Server는 스냅 샷 백업에서 온라인 복원을 지원하지 않습니다. 스냅 샷 백업을 복원하면 데이터베이스가 자동으로 오프라인 상태가됩니다. 단편 복원은 스냅 샷 백업을 통합 할 수 있지만 모든 복원 시퀀스는 오프라인 복원입니다. 단편 복원에 대한 자세한 정보는 단편 복원 수행을 참조하십시오.

질문에 대답하려면 :

  • .mdf를 백업해야합니까? .mdf와 .ldf?
  • 온라인 또는 오프라인?
  • 이 방법으로 백업 된 SQL Server 데이터베이스를 복원하는 공식 절차는 무엇입니까?
  • 증분 / 차등 백업을 수행 할 때 고려해야 할 사항이 있습니까?
  • 이 모든 것이 어디에 기록되어 있습니까?

답변:

  1. 예. .mdf 및 .ldf 파일의 Windows Server 백업 (VSS) 사본을 수행 할 수 있습니다. 백업 일관성이 있어야 하지만 복원 후 데이터베이스는 오프라인 상태입니다.
  2. SQL Server가 중지되고 데이터베이스가 분리되어 있고 데이터베이스가 오프라인 상태 인 경우 .mdf 및 .ldf 파일의 VSS 복사본은 100 % 일관성이 있습니다.
  3. 데이터베이스가 오프라인 상태로 복원되기 때문에 Windows Server 백업으로 수행 된 데이터베이스를 특정 시점으로 복원하는 방법을 잘 모르겠습니다. OFFLINE 상태의 데이터베이스는 더 이상 복원 / 복구 할 수 없으며 데이터베이스를 ONLINE으로 가져 오면 데이터베이스가 완전히 복구 된 것으로 간주됩니다. 특정 시점으로 데이터베이스 복원을 수행 할 수 있도록 별도의 SQL Server FULL, DIFF 및 TLOG 백업을 권장합니다.
  4. 트랜잭션 로그는 Window Server 백업으로 생성 된 스냅 샷의 일부가 아니므로 추가로 수행해야합니다. 차등 스냅 샷은 백업 시퀀스의 일부로 타사 공급 업체에서 지원하지만 Windows Server 백업은 차등 백업을 수행 할 수 없습니다. 이 경우 추가 차등 백업을 수행해야합니다. (3 참조)
  5. 다른 참조

실제 구현에서 설명

우리 환경에서는 VMware가 스냅 샷을 수행하고 DBA가 Commvault를 사용하여 SQL Server 덤프를 수행하는 것과 유사한 상황이 있습니다. 백업 기록은 다음과 같습니다.

DBNAME  TYPE BACKUPSET_NAME            IS_SNAPSHOT BACKUP_START_DATE        
------- ---- ------------------------- ----------- -----------------------  
DB_NAME  Full  NULL                    1           2016-12-10 18:23:59.000  
DB_NAME  Full  CommVault Galaxy Backup 0           2016-12-10 20:07:41.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-11 06:00:40.000  
DB_NAME  Full  NULL                    1           2016-12-11 18:24:00.000  
DB_NAME  Diff  CommVault Galaxy Backup 0           2016-12-11 20:03:38.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 06:02:29.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 07:02:17.000  

VMware 스냅 샷은 매일 수행되는 각 VMware 스냅 샷 IS_SNAPSHOT = 1과 함께 그리고 MSDB 데이터베이스 히스토리 테이블에 항목을 작성합니다 FULL. 기본 (기본을 사용하는 Commvault) SQL Server 백업은 FULL, DIFF 및 TLOG 백업을 사용하여 수행됩니다. 이러한 백업은 IS_SNAPSHOT로 표시되지 않으며 msdb 데이터베이스의 백업 테이블에 추가 FULL (일주일에 한 번), DIFF (매일) 및 LOG (시간별) 항목으로 존재합니다.

이 설정을 사용하면 snaphot 날짜 시간으로 복원 한 다음 데이터베이스를 온라인 상태로 만들거나 "기본"SQL Server 백업을 사용하여 특정 시점으로 개별 복원을 수행 할 수 있습니다.


1

당신은 할 수 없습니다. 또는 적어도 당신은 아마해서는 안됩니다. SQL Server 데이터베이스와 관련하여 기본 백업이 지원되는 방법입니다.

TechNet 기사의 내용을 잘못 이해했을 수도 있습니다. 인용 한 주석은 SQL Server 데이터베이스에 Windows Server 백업을 사용할 수 있음을 나타내지 않습니다. 실제로 Windows Server 백업은 SQL Server에서 사용하는 것과 동일한 볼륨 섀도 복사본 서비스를 사용한다는 것을 강조합니다. 추가 정보 : TechNet : SQL Writer Service


문서화가 잘되지 않은 기능에 대해 데이터를 맡기지 말아야한다는 것을 알고 있습니다. 여전히 이론적으로 가능한지 궁금합니다 .SQL Server VSS 기록기를 제공하고 Windows Server 백업 VSS 요청자이므로 질문을 열어 두겠습니다. 어쩌면 그것은 두 가지를 일치시키는 문제 일 것입니다 (예를 들어 Hyper-V VSS 기록기를 위해이 작업을 수행하는 방법대한 온라인 지침이 있습니다 ).
Heinzi

1
분명히 Windows Server 백업 일종의 SQL Server 백업을 트리거합니다 . 쿼리를 참조하십시오 .
Heinzi

1

SQL 백업은 데이터를 복사 할뿐만 아니라 로그도 자릅니다. 맨 페이지에서 백업 파일을 즉시 압축하는 것과 같이 수백 가지 옵션이 도움이 될 것입니다.

정적 이미지를 백업하기 위해 정지 된 가상 머신을 복사하거나 SAN에서 LUN을 스냅 샷하는 데 vss 백업이 사용되었지만 백업은 전원 중단과 마찬가지로 "충돌 일관성"이어서 실제로 일관성이없는 것으로 기억합니다.

관련


0

나는 생각 은 "스냅 샷 백업"라는 특별한 백업 유형을 사용합니다.

SQL Server 2008 설명서에서 :

SQL Server 스냅 샷 백업은 Microsoft Windows Server 2003 VSS (볼륨 섀도 복사본 서비스)와이 프레임 워크를 사용하는 모든 백업 소프트웨어 및 저장소 소프트웨어에서도 사용됩니다. 자세한 내용은 SQL Writer Service를 참조하십시오.

그것은 나에게 매우 불분명하다. 특히 트랜잭션 로그가 잘리는 경우.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.