반응형
MSSQL Database T-SQL 이용하여 Backup 및 RESTORE 하는 방법에 대해서 알아보겠습니다.
MSSQL Database T-SQL Backup 및 RESTORE
- T-SQL Backup 및 RESTORE 하는 방법도 지난 시간에 설명했던 SSMS 이용하는 방법하고 같습니다.
- 단, T-SQL Backup 및 RESTORE 은 세부적 옵션을 사용하여 사용할 수 있습니다.
- T-SQL Backup 및 RESTORE를 이용하여 백업 및 복원 모델을 사용하므로 기본적으로 숙지해야 합니다.
- 이번 글에서 사용하는 T-SQL Backup 및 RESTORE 기본 옵션이므로 실습할 예정입니다.
- SSMS 사용 방법은 여기를 참고하세요.
- 백업 방법: https://aurumguide.tistory.com/86
- 복원 방법: https://aurumguide.tistory.com/87
MSSQL Database T-SQL Backup
- Database 생성을 합니다.
- 생성된 Database 안에 테이블 생성합니다.
- 생성된 테이블에 data를 insert 합니다.
- c: 드라이브에 full 백업을 합니다.
- 백업된 파일을 확인 합니다.
use master
GO
-- CREATE DATABASE
CREATE DATABASE aurumGuideDB
GO
USE aurumGuideDB;
DROP TABLE IF EXISTS AurumGuide_Backup;
-- Create Sample Table
CREATE TABLE AurumGuide_Backup (
AurumId INT NOT NULL,
AurumNm VARCHAR(255) NOT NULL,
AurumAge INT NULL,
AurumAddress VARCHAR(500) NULL
);
-- Create Sample Data
INSERT INTO dbo.AurumGuide_Backup(AurumId,AurumNm)
VALUES (272, N'Ken')
,(273, N'Brian')
,(274, N'Stephen')
,(275, N'Michael')
,(276, N'Linda');
-- FULL BACKUP
BACKUP DATABASE aurumGuideDB
TO DISK = 'C:\aurumGuideBackup\aurumGuide.bak'
WITH FORMAT,
MEDIANAME = 'SQLServerBackups',
NAME = 'Full Backup of YourDatabaseName';
GO
-- Check Backup
RESTORE HEADERONLY
FROM DISK = N'C:\aurumGuideBackup\aurumGuide.bak';
GO
MSSQL Database T-SQL RESTORE
- Database를 master 이동합니다.
- 생성된 Database를 삭제합니다.
- c: 드라이브 백업된 파일을 복원합니다.
- 테이블에서 복원된 데이터를 확인합니다.
use master
GO
-- DROP DATABASE
DROP DATABASE aurumGuideDB
GO
-- start RESTORE
RESTORE DATABASE aurumGuideDB
FROM DISK = N'C:\aurumGuideBackup\aurumGuide.bak';
;
GO
-- Check RESTORE
USE aurumGuideDB;
SELECT *
FROM AurumGuide_Backup;
동시 접속자가 있는 경우는 접속 모드를 SINGLE_USER 모드로 변경하세요.
- Database의 모드를 SINGLE_USER로 변경 방법.
--aurumGuideDB DB의 모드를 SINGLE 로 변경 방법
ALTER DATABASE aurumGuideDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
SELECT DATABASEPROPERTYEX('aurumGuideDB','UserAccess');
SELECT SERVERPROPERTY('IsSingleUser');
- Database의 모드를 MULTI_USER로 변경 방법.
--aurumGuideDB DB의 모드를 MULTI 로 변경 방법
ALTER DATABASE aurumGuideDB SET MULTI_USER WITH NO_WAIT;
SELECT DATABASEPROPERTYEX('aurumGuideDB','UserAccess');
SELECT SERVERPROPERTY('IsSingleUser');
다음 글에서는 압축 및 백업된 파일에 정보에 관해서 설명합니다.
반응형