안녕하세요
오늘은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다운로드하여 설치를 수행합니다.
이어서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 - 백업 파일에서 복원 (복원)
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다운로드하여 설치를 수행합니다.
설치가 완료되면 SQLServer Management Studio를 시작합니다.
다음과 같은 로그인 화면에 사용SQLServer서버 이름,로그인 이름 사용자, 비밀번호 입력<연결>를 선택합니다.
2 - SQLServer Agent 시작
3 - 유지 보수 일정 설정
화면 왼쪽 트리에서 [관리] - [유지보수계획]을선택합니다.
오른쪽 클릭으로 선택하고 표시되는 팝업에서[유지보수 마법사]를 선택합니다.
아래 그림의 화면에서[다음(N)>]를 선택합니다.
아래 그림의 화면에서 "이름(M)에서 작성할 유지보수 계획의 이름을 설정할 수 있습니다.
<변경>버튼을 선택합니다.
※위 그림과 같이 표시가 무너지는 경우가 있습니다.
표시되는[새로운 직업 일정]에서 실행할 일정을 설정합니다.
아래 그림 설정의 경우 매일1:00에처리실행하는 설정입니다.
설정이 완료되면[OK]를 선택합니다.
계속[유지보수 마법사]에서[다음(N)]를 선택합니다.
이어서 표시되는 화면에서 수행할 작업을 선택합니다.
모든 체크박스를 사용하도록 설정[다음(N)]를 선택합니다.
아래 그림의 화면에서[다음(N)]를 선택합니다.
다음에 표시되는 아래 그림의 화면에서[일반]탭을 설정합니다.
드롭다운 목록 데이터베이스에서 백업할 데이터베이스를 선택합니다.
이어서[백업 대상]탭에서 백업한 파일의 저장 경로를 설정합니다.
아래 그림의 "..."를 클릭하여 백업할 파일 경로를 설정할 수 있습니다.
※아래 그림의 설정의 경우, 위에서 선택한 데이터베이스마다 「데이터베이스명_backup_년_달_일_시분초_···.bak라는 백업이 파일로 생성됩니다.
이어서[옵션]탭을 엽니다.
백업을 압축하려면 "백업 압축 설정(M)'설정 확인/변경합니다.
이상, 설정하면[다음(N)]를 선택합니다.
아래 그림의 화면에서 보고서 출력 설정을 수행합니다.[다음(N)]를 선택합니다.
아래 그림의 화면에서 설정을 확인하고,[완료(F)]를 선택합니다.
생성된 유지보수 계획은 아래 그림과 같이 표시됩니다.
설정은 이상으로 끝납니다.
다음 조작으로 설정한 유지보수 플랜을 실행할 수 있습니다.