SQLServerのバックアップ

SQLServer 백업

안녕하세요

오늘은Microsoft SQLServer백업 방법에 대해 소개하겠습니다.

Microsoft SQLServer는 다양한 응용 프로그램에서 사용됩니다.Microsoft개발 데이터베이스 (관계 데이터베이스 관리 시스템 :RDBMS)입니다.

SigmaNEST하지만 다양한 정보의 관리에 이용되고 있습니다.

날마다 축적되는 중요한 정보를 예기치 않은 문제로부터 지키기 위해서 백업이 중요하다는 것에 대해서는 지금 더 말할 필요는 없다고 생각합니다만, 그 백업 방법에 대해서는 의외로 모르는 분도 많지 않을까요?

참고로 하기 위해서3두 가지 방법을 설명하겠습니다.

 

1. 배치 파일과 작업 스케줄러를 이용하는 방법

SQLServer Express라고 하는 무료로 이용할 수 있는 에디션의 경우, 메인터넌스 플랜이라고 하는 자동 백업을 실시하는 기능을 이용할 수 없습니다.이러한 경우에도 다음 방법으로 자동 백업을 예약할 수 있습니다.

 개요로서 백업 수행SQL파일(SQLServer에서 다양한 처리를 지시하는 파일)을 만들고 실행할 배치 파일을 만듭니다.라는 흐름이 됩니다.

1 - SQL 파일 만들기

SQL파일은 메모장 등으로 만들 수도 있지만,SQLServer Management Studio를 사용하여 쉽게 만들 수 있습니다.SQLServer Management Studio 란 무엇입니까?SQLServer의 다양한 관리 툴을 이용할 수 있는 어플리케이션으로,생략하고 SSMS라는되다그렇습니다.

 

다음 페이지에서SQLServer Management Studio다운로드하여 설치를 수행합니다.

https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16

 

이어서SQLServer Management Studio를 시작합니다.

다음과 같은 로그인 화면에 사용SQLServer서버 이름, 로그인 이름 사용자, 비밀번호 입력<연결>를 선택합니다.

 

시작되면 화면 왼쪽 트리에서[데이터베이스]에서 데이터베이스 이름을 선택하고 마우스 오른쪽 버튼을 클릭합니다.

표시된 팝업 중에서[작업]-[백업]를 선택합니다.

 

이어서 표시되는 아래 그림의 화면에서<추가>선택하고 백업 파일의 저장 경로, 파일 이름을 설정합니다.

상기 설정 후, 아래 그림 빨간색 프레임 부분의[스크립트]를 선택합니다.

여기서는[스크립트 작업을 파일에 저장]에서 직접SQL파일로 출력합니다.

메모장과 같은 텍스트 편집기로 만든SQL파일 내용 확인·편집할 수도 있습니다.

구문과 인수에 대한 자세한 내용은 다음 페이지를 참조하세요.

https://docs.microsoft.com/ja-jp/sql/t-sql/statements/backup-transact-sql?view=sql-server-ver16

2 - 배치 파일 작성

이어서 위의 절차에 따라SQL파일을 실행하기 위한 배치 파일을 작성합니다.

메모장과 같은 텍스트 편집기에서 다음 내용을 입력합니다.

 

sqlcmd -S서버 이름-U SQLServer의 사용자 이름-P SQLServer비밀번호-i실행하다SQL파일의 전체 경로>백업 파일의 전체 경로

 

다음은 예입니다.

sqlcmd -S localhost\SQLEXPRESS -U sa -P password -i D:\BACKUP\BACKUP.sql > D:\BACKUP\BACKUP.log

이 내용이라면localhost\SQLEXPRESS라는 서버이름으로sa라는 사용자 이름로 로그인하고,D:\BACKUP\BACKUP.sql실행하고 로그 파일을D:\BACKUP\BACKUP.log에 저장합니다. 라는 내용이 됩니다.

 

인수의 내용은 명령 프롬프트에서SQLCMD /? 를 실행하여 확인할 수 있습니다.

".bat라는 이름으로 저장하면 배치 파일의 작성은 종료입니다.

배치 파일을 실행하여 동작을 확인합니다.

 

3 - 작업 스케줄러 설정

작업 스케줄러는 Windows 기능에서 정기적인 작업을 자동화하는 데 사용됩니다.

다음 절차에서는 위에서 만든 배치 파일 실행 일정을 설정하고 자동화합니다.

Windows의 시작 메뉴 > 제어판 > 관리 도구 > 작업 타이머로 시작할 수 있습니다.

다음 방법으로 더 쉽게 시작할 수 있습니다.[Windows ]+ [R ]키를 동시에 누르십시오.

아래 그림 화면에 taskschd.msc를 입력하십시오. 를 눌러 시작할 수 있습니다.

표시되는 아래 그림의 화면에서[작업 기본 만들기]를 선택합니다.

아래 그림의 이름으로 작성할 태스크의 이름을 설정하고 다음(N) >을 선택하십시오.

태스크를 실행할 타이밍을 설정합니다.

다음은 "매일(D)'를 선택한 경우의 화면입니다.

다음 설정에서매일1:00에작업를 실행한다는 내용이 됩니다.

배치 파일을 실행하려면 다음 화면에 나타나는 프로그램 시작(T)를 선택합니다.

아래 그림의 "참조"에서 실행할 배치 파일을 선택합니다.

다음 화면에서<완료>를 누르면 작업 생성이 완료됩니다.

이것으로 설정이 종료됩니다.

4 - 백업 파일에서 복원 (복원)

생성된 백업 파일에서 복원(복원)은 다음과 같이 수행합니다.

SQLServer Management Studio를 시작합니다.

화면의 왼쪽 트리에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 복원]선택합니다.

아래 그림의 화면에서 "장치"를 선택하고 "..."로 백업 파일을 선택합니다.

「전송처」데이터베이스에서 복원할 데이터베이스의 이름을 설정합니다.

을 누르다및 복원이 수행됩니다.

※오류가 발생했을 경우는,Windows서비스에서 한 번SQLServer다시 시작한 다음 위의 단계를 수행해 보십시오.

2.BCP 유틸리티를 이용한 백업

아래에서 소개하는 방법은모든 테이블 전용 백업 방법입니다.

BCP 유틸리티란 무엇입니까?SQLServer에 등록된 정보를 임의의 파일 형식으로 출력하거나 입력할 수 있는 기능입니다.

 

중요한 정보가 특정 테이블에 집계되어 있고 일상적인 백업은 모든 테이블로만 만들고 싶다면,BCP을 이용한 다음의 순서로 백업을 할 수 있습니다.

1 - BCP를 이용한 테이블 정보 출력

명령 프롬프트를 시작합니다.

테이블별 백업은 다음 구문으로 수행할 수 있습니다.

bcp이름 데이터베이스.데이터베이스 이름.테이블 이름out출력 파일 전체 경로/S서버 이름/T /c /t 구분 기호

다음은 예입니다.

bcp SNDBase.dbo.material out D:\material.txt -S localhost\SQLEXPRESS -T -c -t ,

이 경우,localhost\SQLEXPRESS라는 서버SNDBase라는 데이터베이스material라는 테이블D:\material.txt라는 파일명으로 출력해 컬럼 마다의 단락 문자를 「,"(쉼표)명령그렇게 됩니다.

인수-t생략하면 탭으로 구분됩니다.

인수에 대한 자세한 내용은 다음 페이지를 참조하세요.

https://docs.microsoft.com/ja-jp/sql/tools/bcp-utility?view=sql-server-ver16

 

이 내용을 배치 파일로 저장하고 실행할 수 있으므로 위의 작업 일정에서 자동 실행할 수 있습니다.

2 - BCP를 이용한 테이블 정보 입력

※입력하는 경우는, 입력하는 테이블내의 레코드가 존재하지 않는 상태로 할 필요가 있습니다.

입력할 때 다음 구문으로 실행할 수 있습니다.

bcp 데이터베이스 이름, 이름 이름, 테이블 이름 in 입력 할 파일의 전체 경로 -S 서버 이름 /T /c /t 구분 기호

다음은 예입니다.

D:\material.txt 의 bcp SNDBase.dbo.material -S localhost\SQLEXPRESS -T -c -t ,

이 경우 localhost\SQLEXPRESS라는 서버의 SNDBase라는 데이터베이스의 material이라는 테이블에 D:\material.txt의 정보를 입력하는 명령이 됩니다.

3. 메인터넌스 스케줄을 이용한 스케줄 백업

※이 방법은,SQLServer Express무료로 사용할 수 있는 에디션에서는 사용할 수 없습니다.

SQLServer Standard등의 에디션을 이용하면 다음 방법을 이용할 수 있습니다.

절차는 다음과 같습니다.

1 - SQLServer Management Studio 시작

다음 페이지에서SQLServer Management Studio다운로드하여 설치를 수행합니다.

https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16

 

설치가 완료되면 SQLServer Management Studio를 시작합니다.

다음과 같은 로그인 화면에 사용SQLServer서버 이름,로그인 이름 사용자, 비밀번호 입력<연결>를 선택합니다.

2 - SQLServer Agent 시작

예약 백업 설정/실행하기 위해,SQLServer Agent라는 서비스를 시작해야 합니다.SQLServer Management Studio에서 실행할 수 있습니다.

SQLServer Management Studio화면 왼쪽 트리에서 "SQLServer에이전트 ····라고 하는 항목을 확인합니다.

이 경우이 항목을 마우스 오른쪽 버튼으로 클릭하십시오.[시작]을 실행합니다.

시작되면 아래 그림과 같이 표시됩니다.

3 - 유지 보수 일정 설정

화면 왼쪽 트리에서 [관리] - [유지보수계획]선택합니다.

오른쪽 클릭으로 선택하고 표시되는 팝업에서[유지보수 마법사]를 선택합니다.

아래 그림의 화면에서[다음(N)>]를 선택합니다.

아래 그림의 화면에서 "이름(M)에서 작성할 유지보수 계획의 이름을 설정할 수 있습니다.

<변경>버튼을 선택합니다.

 

※위 그림과 같이 표시가 무너지는 경우가 있습니다.

 

표시되는[새로운 직업 일정]에서 실행할 일정을 설정합니다.

아래 그림 설정의 경우 매일1:00처리실행하는 설정입니다.

설정이 완료되면[OK]를 선택합니다.

계속[유지보수 마법사]에서[다음(N)]를 선택합니다.

이어서 표시되는 화면에서 수행할 작업을 선택합니다.

모든 체크박스를 사용하도록 설정[다음(N)]를 선택합니다.

아래 그림의 화면에서[다음(N)]를 선택합니다.

다음에 표시되는 아래 그림의 화면에서[일반]탭을 설정합니다.

드롭다운 목록 데이터베이스에서 백업할 데이터베이스를 선택합니다.

이어서[백업 대상]탭에서 백업한 파일의 저장 경로를 설정합니다.

아래 그림의 "..."를 클릭하여 백업할 파일 경로를 설정할 수 있습니다.

※아래 그림의 설정의 경우, 위에서 선택한 데이터베이스마다 「데이터베이스명_backup____시분초_···.bak라는 백업이 파일로 생성됩니다.

이어서[옵션]탭을 엽니다.

백업을 압축하려면 "백업 압축 설정(M)'설정 확인/변경합니다.

이상, 설정하면[다음(N)]를 선택합니다.

 

아래 그림의 화면에서 보고서 출력 설정을 수행합니다.[다음(N)]를 선택합니다.

아래 그림의 화면에서 설정을 확인하고,[완료(F)]를 선택합니다.

생성된 유지보수 계획은 아래 그림과 같이 표시됩니다.

설정은 이상으로 끝납니다.

다음 조작으로 설정한 유지보수 플랜을 실행할 수 있습니다.

シグマネスト

문의·무료 상담

SigmaNEST에 관한 문의는 이쪽

Takehito Iizuka

니가타현 출생입니다. 시그마텍에서는 6년째에 기술팀으로서 고객에의 도입 지원, 커스터마이즈의 개발이나 서포트 등을 담당하고 있습니다. 음악과 낚시를 좋아합니다. 자동차 운전이 약하다.