ms sql 파일을 백업하는 스크립트입니다. Microsoft SQL Server 데이터베이스 백업. 백업 유형

2. 데이터베이스의 백업 및 복원 이벤트에 대한 정보 보기

언제 생성되었는지 알아보기 위해 백업 복사본특정 데이터베이스를 백업하는 것뿐만 아니라 백업 복사본에서 데이터베이스를 복원하는 경우에도 표준 보고서 " » ( 백업 및이벤트 복원). 이 보고서를 생성하려면 개체 브라우저(서버 개체)를 클릭해야 합니다. 마우스 오른쪽 버튼으로 클릭해당 데이터베이스에 마우스를 놓고 상황에 맞는 메뉴선택하다 " 보고서"(제보) - " 표준 보고서"(표준 보고서) - " 백업 및 복원 이벤트» (백업 및 복원 이벤트).

생성된 보고서에는 다음 데이터가 포함됩니다.

  • 백업 작업에 소요되는 평균 시간
  • 성공적인 백업 작업
  • 백업 작업 오류
  • 성공적인 복원 작업

이 정보를 보려면 보고서에서 해당 그룹을 확장해야 합니다.

이 기사가 도움이 되었나요?

MS SQL Server 데이터베이스에서 테이블을 복사하는 방법에는 여러 가지가 있습니다. 테이블 복사본을 생성하기 위한 몇 가지 옵션을 제공합니다. 어떤 것을 선택할지는 테이블의 구조, 테이블에 있는 인덱스, 트리거 등의 존재 여부는 물론 수동으로 작업하려는 욕구에 따라 달라집니다.

1. 테이블 구조를 수동으로 복사하는 방법

마이크로소프트 SQL에서 매니지먼트 스튜디오데이터베이스를 선택하고 테이블을 선택한 후 마우스 오른쪽 버튼을 클릭하고 "테이블 스크립트" -> "CREATE TO" -> "새 쿼리 편집기 창"을 선택합니다. 쿼리 창에서 테이블을 생성하는 코드가 열립니다. 여기에는 테이블 복사본을 만들려는 데이터베이스의 이름을 지정하고, 데이터베이스가 변경되지 않는 경우 새 이름을 지정해야 합니다. 기존 테이블의 구조를 생성하는 코드를 생성하는 방법은 아래 그림과 같습니다.

이 방법은 테이블 인덱스를 생성하지만 트리거를 복사하지는 않습니다. 비슷한 방식으로 복사해야 합니다.

이미 생성된 테이블에 데이터를 복사하려면 다음 SQL 쿼리를 사용해야 합니다.

..tmp_tbl_Deps에 삽입 SELECT * FROM ..tbl_Deps

2. 복사 SQL 테이블한 줄 요청

하나의 데이터베이스 내에서 테이블 구조와 데이터의 복사본을 만듭니다.

tbl_Deps에서 tmp_tbl_Dep으로 * 선택

한 데이터베이스에서 다른 데이터베이스로 테이블 구조와 해당 데이터를 복사합니다.

SELECT *를 ..tmp_tbl_Deps에서 ..tbl_Deps로 선택

이 솔루션의 단점은 인덱스가 복사되지 않는다는 것입니다.

“정보를 소유한 사람이 세상을 소유한 것이다” - 메이어 암셸 로스차일드

모든 비즈니스에서 가장 귀중한 자산은 정보입니다. 정보 손실은 예측할 수 없는 결과, 특히 재정적 결과를 초래할 수 있습니다. 따라서 다음 중 하나 주요 작업 IT 전문가는 전체 IT 인프라 백업을 담당합니다. 이는 MS SQL Server 데이터베이스에도 적용됩니다.


사용된 데이터베이스의 정보 안전을 보장하고 기능 복원 시간을 단축하려면 SQL 서버를 정기적으로 백업해야 합니다.

간단한 예를 살펴보겠습니다. 데이터베이스 백업을 별도의 디스크에 구성해야 합니다.

해결책:

  1. 열리는 마이크로소프트 SQL 서버 관리 스튜디오. 오른쪽 탐색 메뉴에서 탭을 엽니다. "제어". 거기에 탭이 있습니다 "서비스 계획". 마우스 오른쪽 버튼을 클릭하세요 -> "서비스 계획 만들기"계획에 이름을 지정합니다(그림 1).

그림 1. 새로운 서비스 계획 생성.

2. 도구 모음에 작업 추가 "지원데이터 베이스"(그림 2):

그림 2 "데이터베이스 백업" 작업 추가.

3. 생성된 작업에서 마우스 오른쪽 버튼 클릭 -> "변화"(그림 3):

4. 작업 속성 창에서 백업 유형(제 경우에는 전체)을 선택하고 원하는 데이터베이스(ka_cons가 있음), 백업 디렉터리, 백업 복사본의 무결성 확인 기능 및 압축 옵션을 선택합니다( 그림 4-6):


그림 4 백업 유형 - 전체.

그림 5 백업할 데이터베이스 선택.

그림 6 백업용 디렉터리 정의, 무결성 및 압축 비율 확인.

5. 오른쪽 서비스 요금제 설정 패널에서. 버튼을 누르세요 "일정"(그림 7):

6. 필요한 일정을 설정하고 클릭하세요. "좋아요"(그림 8):

그림 8 백업 일정 설정.

7. 서비스 계획을 저장합니다(그림 9).

그림 9 유지 관리 계획 저장.

예약된 전체 데이터베이스 백업이 구성되었습니다.

무엇보다도 Bacula Enterprise Edition의 광범위한 기능을 통해 . 예를 들어, MS SQL Server를 백업할 수 있는 도구에 대해 이야기하고 있습니다. 사용자는 특정 MS SQL 데이터베이스의 백업 복사본을 생성하여 MS SQL의 백업을 만들 수 있습니다. 대용량, 저렴한 소프트웨어 비용으로 Windows 플랫폼에서 사용 타사 제조업체, 네트워크에서 특정 시점(PITR 복구)까지 데이터를 복원하는 기능과 로컬 디스크.

MS SQL Server 백업 생성을 위한 Bacula Systems 스크립트는 신뢰성이 높은 최신 아키텍처 구현을 통해 달성되는 최고의 효율성이 특징입니다. 또한 이 소프트웨어를 사용하면 MS SQL Server의 백업을 만들고 MS SQL 백업 생성을 위한 다양한 옵션을 사용할 수 있습니다.

MS SQL Bacula Systems 백업 스크립트는 VSS와 독립적으로 작동합니다. 이는 MS SQL 백업 도구가 VSS 스냅샷을 사용하여 백업을 생성하지 않음을 의미합니다. 따라서 사용자는 Bacula FileSet에서 "Enable VSS = no" 값을 다음과 같이 설정할 수 있습니다. 효율적인 생성다음을 사용한 MS SQL Server 백업 및 복원 이 결정통해 달성됩니다 Microsoft를 사용하여 SQL Server용 API. 이를 통해 Bacula Systems는 Microsoft SQL Server에 구현된 보안 메커니즘과 모든 유형의 인증을 지원할 수 있습니다.

MS SQL 트랜잭션 로그 백업 및 MS SQL 특정 시점 복구: Bacula Enterprise Edition 소프트웨어를 사용하면 MS SQL 데이터 블록을 복구하거나 특정 설정특정 시점까지. 모델 구현 덕분에 완전한 회복및 대량 로그 복구의 경우 PITR 복구를 사용하여 MS SQL을 복구하거나 LSN을 사용하여 시스템을 특정 상태로 복원할 수 있습니다. 특정 시점에서 MS SQL 데이터베이스의 특정 상태를 초 단위까지 복원할 수 있습니다. MS SQL 트랜잭션 로그 백업의 경우 복원 시 선택한 다양한 백업에서 데이터베이스 상태가 복원됩니다.

기능 요약Bacula Enterprise를 통한 MS SQL 자동 백업 및 복구

Bacula Systems는 Bacula Enterprise Edition과 함께 사용할 MS SQL Server 백업 플러그인을 만들었습니다. Bacula를 사용한 MS SQL Server 백업에는 다음과 같은 기능이 있습니다.

  • 전체 및 차등 MS SQL 백업 지원
  • MS SQL 증분 백업 지원
  • 네트워크 및 로컬 드라이브에 MS SQL 백업
  • 예약된 MS SQL 백업
  • MS SQL Server 데이터베이스 수준에서 백업 생성
  • 백업 생성 절차에서 데이터베이스를 포함/제외하는 기능
  • 읽기 전용 데이터베이스 백업 생성 지원
  • MS SQL 백업을 디스크에 복원
  • 백업 스트림을 스토리지 데몬으로 직접 보내기
  • MS SQL 특정 시점 복구

백업 MS SQL 2008, 2008 R2, 2012 및 2014 검토 및 구성

이 문서에서는 Bacula Enterprise Edition 8.4 이상에 대한 솔루션을 제공합니다. 이후 버전, 이는 지원되지 않습니다. 이전 버전에 의해. MS SQL 데이터베이스 백업은 테스트되었으며 MS SQL 2003 R2, MS SQL 2008 R2, MS SQL 2012, MS SQL 2005, MS SQL 2008, MS SQL 2014에서 지원됩니다. Bacula의 MS SQL 백업은 SQL Express에서 작동할 수 있습니다.

MS SQL 백업 용어집 2008, 2008 R2, 2012 및 2014

  • MS SQL마이크로소프트 SQL 서버를 의미합니다.
  • 거래 로그.모든 MS SQL Server 데이터베이스에는 모든 트랜잭션과 해당 트랜잭션 중에 수행된 데이터베이스 수정 사항을 기록하는 트랜잭션 로그가 있습니다. 트랜잭션 로그는 데이터베이스의 중요한 요소입니다. 시스템 오류가 발생한 경우 데이터베이스를 작동 상태로 복원하려면 트랜잭션 로그가 필요할 수 있습니다. 더 자세한 정보 https://msdn.microsoft.com/en-us/library/ms190925.aspx에서 찾을 수 있습니다.
  • MS SQL Server 데이터베이스의 차등 백업.차등 백업은 마지막 전체 백업을 기반으로 합니다. 차등 백업 중에는 마지막 전체 백업이 생성된 이후 변경된 데이터만 캡처됩니다. 자세한 내용은 https://msdn.microsoft.com/en-us/library/ms175526.aspx에서 확인할 수 있습니다.
  • MS SQL Server 데이터베이스의 전체 백업.전체 데이터베이스 백업 중에 전체 데이터베이스의 백업 복사본이 생성됩니다. 백업에는 백업에서 전체 데이터베이스를 복원하기 위한 트랜잭션 로그의 일부가 포함됩니다. 전체 데이터베이스 백업에는 백업이 완료된 당시의 데이터베이스가 포함됩니다. 자세한 내용은 https://msdn.microsoft.com/en-us/library/ms186289.aspx에서 확인할 수 있습니다.
  • "복사본만" 백업(CopyOnly).복사 전용 백업은 기존 SQL Server 백업의 일반적인 흐름과 독립적인 MS SQL 백업입니다. 전체 데이터베이스 백업 및 복구 프로세스에 영향을 주지 않고 특정 요구에 맞는 백업을 생성하는 것이 유용한 경우가 있습니다. 자세한 내용은 https://msdn.microsoft.com/en-us/library/ms191495.aspx에서 확인할 수 있습니다.
  • VDI(상호 작용 가상 장치)는 다음을 만들 수 있는 Microsoft 기술입니다. 명명된 파이프프로그램 사이.
  • 표준 마스크는 와일드카드를 사용하여 문자열 세트를 지정합니다. 예를 들어, 표준 생산* 마스크에는 생산1 및 생산2 라인이 포함됩니다.
  • 정수.
  • LSN MS SQL Server 트랜잭션 로그의 각 항목은 고유한 LSN(트랜잭션 일련 번호)으로 식별됩니다. 자세한 내용은 https://technet.microsoft.com/en-us/library/ms190411%28v=sql.105%29.aspx에서 확인할 수 있습니다.

MS SQL Server 2008, 2008 R2, 2012 및 2014 백업

MS SQL Server 2008, 2008 R2, 2012 및 2014 데이터베이스의 전체 백업

MS SQL 데이터베이스의 전체 백업 중에 데이터베이스 파일과 트랜잭션 로그가 저장되므로 미디어 오류가 발생할 경우 MS SQL 데이터베이스를 완벽하게 보호할 수 있습니다. 하나 이상의 파일이 손상된 경우 백업에서 MS SQL 데이터베이스를 복원하면 완료된 모든 트랜잭션을 복원할 수 있습니다. 진행 중이던 모든 트랜잭션도 롤백됩니다. 안에 이 모드 master 및 mbdb 데이터베이스의 백업이 생성됩니다.

MS SQL Server 2008, 2008 R2, 2012 및 2014 데이터베이스의 차등 백업

미분 데이터베이스 백업 MS SQL Server는 MS SQL 데이터베이스의 최신 전체 백업을 기반으로 합니다. 차등 MS SQL 백업을 생성하면 마지막 전체 MS SQL 백업이 생성된 이후 변경된 데이터만 캡처됩니다. MS SQL 차등 백업 기능의 경우 백업 순서가 매우 중요합니다. 어떤 이유로든 전체 백업 MS SQL이 참조하는 을(를) 사용할 수 없으면 MS SQL Server 데이터베이스의 차등 백업을 사용할 수 없습니다. Bacula의 MS SQL 백업은 이 문제를 해결하기 위해 특정 기술을 사용합니다. 따라서 문제가 발생할 경우 차등 데이터베이스 백업 상태를 자동으로 전체 백업으로 업그레이드할 수 있습니다.

MS SQL 2008, 2008 R2, 2012 및 2014의 트랜잭션 로그 백업

MS SQL 백업 및 데이터베이스 구성 설정

백업에서 MS SQL 데이터베이스 복원

모든 것을 사용할 수 있습니다 표준 방법백업에서 MS SQL 데이터베이스를 복원하는 절차를 시작합니다. 그러나 차등 데이터를 복원하는 경우 MS SQL 데이터베이스의 이전 전체 백업도 복원되는지 확인해야 합니다. 이 경우 콘솔에서 실행하면 자동으로 복구가 진행됩니다. b콘솔복구 옵션 5 또는 12를 사용합니다. 생성된 파일 구조전체 데이터베이스 또는 데이터베이스 인스턴스의 복구를 확인해야 합니다.

백업에서 MS SQL 데이터베이스를 복원하기 위한 옵션

Bacula Enterprise Edition 소프트웨어를 사용하면 사용자는 여러 MS SQL 복구 옵션을 사용하고 가장 많은 복구 옵션을 적용할 수 있습니다. 다양한 방법데이터베이스의 "롤백". 가장 일반적으로 사용되는 복구 옵션은 다음과 같습니다.

  • Where 매개변수: Bacula Enterprise Edition의 경우 이 매개변수를 사용하면 관리자가 데이터베이스를 특정 위치로 복원할 수 있습니다.
  • 매개변수 바꾸기: 복원 시 Bacula가 현재 데이터베이스에서 어떻게 작동해야 하는지 정의하는 데 사용됩니다. Bacula의 MS SQL 백업을 사용하면 복원 시 다음과 같은 몇 가지 추가 옵션을 사용할 수도 있습니다.
  • 인스턴스: MS SQL은 여러 인스턴스를 사용하므로 Bacula의 MS SQL 데이터베이스 백업을 통해 복원할 인스턴스를 선택할 수 있습니다. 이 매개변수는 선택사항이며, 지정하지 않을 경우 백업 생성 시 지정한 값이 복원 시 사용됩니다. 기본적으로 "MSSQLSERVER"라는 인스턴스가 사용됩니다.
  • 데이터 베이스. 복원할 데이터베이스의 이름을 지정하는 옵션으로, 데이터베이스 생성 시 지정한 값을 사용한다. 이 매개변수는 선택사항입니다. 기본적으로 SQL Server 데이터베이스 백업에서는 Where 매개변수를 사용하여 새 데이터베이스의 이름을 결정합니다. Where 및 Database 매개변수 모두에 유효한 데이터베이스 이름이 할당된 경우 Database 매개변수가 사용됩니다.
  • 사용자. MS SQL 데이터베이스 인스턴스에 연결하는 데 사용되는 사용자 이름입니다. 이 매개변수는 선택사항이며, 지정하지 않을 경우 백업 생성 시 지정한 값이 복원 시 사용된다.
  • 비밀번호. MS SQL 데이터베이스 인스턴스에 연결하는 데 사용되는 비밀번호입니다. 이 매개변수는 선택사항이며, 지정하지 않을 경우 백업 생성 시 지정한 값이 복원 시 사용된다.
  • 도메인. MS SQL 데이터베이스 인스턴스에 연결하는 데 사용되는 도메인입니다. 이 매개변수는 선택사항이며, 지정하지 않을 경우 백업 생성 시 지정한 값이 복원 시 사용된다.
  • 회복. 이 매개변수를 사용하면 복구 중에 데이터베이스를 이전 상태로 롤백할지 여부를 결정할 수 있습니다. 기본적으로 데이터베이스를 복원하면 이전 상태로 롤백됩니다.
  • Stop_before_mark. STOPBEFOREMARK가 있는 조건 = 플래그 바로 앞의 트랜잭션 로그 항목이 복원 지점임을 나타내는 데 사용됩니다. 복구 지점은 날짜 및 시간, LSN 또는 mark_name 플래그일 수 있습니다.
  • Stop_at_mark. STOPATMARK가 있는 조건 = 표시된 트랜잭션이 복구 지점임을 나타내는 데 사용됩니다. STOPATMARK는 플래그로 이동하여 표시된 트랜잭션을 재생합니다. 복구 지점은 날짜 및 시간, LSN 또는 mark_name 플래그일 수 있습니다.
  • Stop_at= . STOPAT 조건 = 복원 지점이 날짜/시간임을 나타내는 데 사용됩니다.
  • Restrict_user. WITH RESTRICT_USER 절은 복원된 데이터베이스에 대한 액세스를 제한하는 데 사용됩니다. 기본값은 아니오입니다.

MS SQL을 특정 시점으로 복원하는 작업은 MS SQL 백업 플러그인에서 직접 수행할 수 있습니다. 또한 파일을 로컬로 복원하고 Microsoft SQL Server 관리 콘솔에서 작업을 수행하여 더 많은 기능을 얻을 수도 있습니다.

LSN

특정 백업 및 복구 이벤트가 발생한 로그 항목의 LSN 번호는 다음 방법 중 하나로 볼 수 있습니다.

  • Bacula 소프트웨어를 사용하여 백업을 생성하는 작업에 대한 설명을 표시하는 경우
  • 로그 파일 이름에
  • msdb.backupset 테이블에서
  • msdb.backupfile 테이블에서

MS SQL 데이터베이스의 백업을 생성하는 작업을 수행할 때 작업 설명을 표시할 때 LSN 번호에 대한 다음 정보가 표시됩니다.

숫자 첫 번째 LSN마지막 트랜잭션 로그 백업의 마지막 LSN 번호에 해당합니다. 이러한 백업은 첫 번째 전체 백업일 수도 있고 마지막 백업(증분)일 수도 있습니다.

숫자 마지막 LSN저널에 기록된 마지막 거래와 일치합니다.

트랜잭션 로그 백업(증분)의 경우 증분 백업 생성 작업에서 이 데이터베이스와 연결된 파일 이름은 다음과 같습니다.

우리의 경우 이름의 숫자 42000162001, 이전 작업(전체 또는 증분 백업 생성)의 마지막 LSN 번호에 해당합니다.

그림 2: 첫 번째 LSN, 마지막 번호파일 이름의 LSN 및 LSN 번호

그림 2의 예에 표시된 것처럼 관리자가 MS SQL 데이터베이스를 LSN 번호 14에 해당하는 상태로 복원해야 하는 경우 다음 단계를 수행할 수 있습니다.

  • 데이터베이스 복구 메뉴에서 옵션 5를 사용하십시오.
  • 선택하다 마지막 파일전체 백업 “data.bak”(LSN: 10)
  • 증분 백업 "log-10.trn"을 선택합니다.

또는 MS SQL Server의 최신 전체 백업을 사용할 수 없지만 이전 전체 백업을 사용할 수 있는 경우:

  • 복원 옵션 3을 사용하고 적절한 작업 ID 값을 선택하세요.
  • 데이터베이스 디렉터리 "/@mssql/db29187"을 선택합니다.
  • 전체 백업 파일 "data.bak"(LSN: 2)를 선택합니다.
  • 증분 백업 "log-2.trn", "log-3.trn", "log-10.trn"을 선택합니다.
  • stop_at_mark 매개변수를 "lsn:14"로 설정합니다.
  • 작업을 실행하여 백업 복원

MS SQL 복구 스크립트

설명 어디 데이터 베이스
디스크에 파일 복구 여기서=c:/tmp
원본 데이터베이스 복원 어디=/
새 이름으로 복원 이름 어디에=newdb
새 이름으로 복원 이름 데이터베이스=newdb
새 이름으로 복구하고 파일 이동 이름

표 1: MS SQL 복구 시나리오

2.3.1 MS SQL 데이터베이스를 원래 이름으로 복원

원래 이름으로 데이터베이스를 복원하려면 옵션 어디지정해서는 안 됩니다(빈 값). 또는 "/" 값을 지정해야 하며 매개변수는 바꾸다값을 할당해야 합니다. 언제나또는 먼저 소스 데이터베이스를 삭제해야 합니다.

새 이름으로 MS SQL 백업 복원

MS SQL 데이터베이스 백업을 새 이름으로 복원하려면 먼저 데이터베이스 파일을 디스크로 이동해야 할 수 있습니다. 이는 모두 원본 데이터베이스가 아직 존재하는지 여부에 따라 다릅니다.

소스 데이터베이스를 더 이상 사용할 수 없는 경우 매개변수 어디, 또는 "플러그인 옵션" 필드에 새 데이터베이스의 이름이 포함될 수 있습니다. Bacula의 MS SQL 백업은 새 이름으로 데이터베이스를 자동으로 생성합니다.

원본 데이터베이스가 여전히 필요한 경우 where 매개변수를 사용하여 파일을 디스크로 이동하고 플러그인 옵션 메뉴를 사용하여 새 데이터베이스의 이름을 지정해야 합니다. 복구 트리에서 레이아웃.dat 파일을 선택해야 합니다.

내 카탈로그 사용

MS SQL 복구 작업을 실행합니다.

내 카탈로그를 사용하여 MS SQL 데이터베이스 복구 작업을 실행합니다.

MS SQL을 로컬 디스크로 복구

당신이 지정하는 경우 여기서=c:/경로/을 사용하면 파일이 로컬 디스크에 복원되고 MS SQL 데이터베이스 관리자는 Microsoft SQL Server 관리 콘솔용 TSQL 절차 확장을 사용하여 데이터베이스를 복원할 수 있습니다. SQL 명령데이터베이스를 복원하는 데 필요한 사항은 설명에 나열되어 있습니다. 작업 출력아래 그림과 같이.