728x90
반응형

DB (데이터베이스)/MS-SQL 39

[ms-sql] ms-sql 복원 시 데이터 보기 (standby 옵션)

ms-sql 에 복원의 옵션은 아래 3가지가 있다. * recovery : 복원 후 DB 사용가능 상태 (사용자가 DB에 접근, 변경 가능) * norecovery : 복원 후 DB 사용 불가능 (사용자 접근 불가) * standby : 복원 후 DB 읽기모드 상태 따라서 여러 파일을 복원할 때 어디까지 복원 되었는지 데이터를 보고 싶을 때 standby 옵션을 사용할 수 있다. standby옵션의 특징은 standby복원 후 무조건 '트랜잭션로그 백업'만 수행할 수 있다는 점이 특징이다. 1. 전체백업 복원(norecovery) 우선 전체백업을 norecovey옵션으로 복원한다. DB마우스 우클릭 -> 태스크 -> 복원 -> 데이터베이스 전체백업 파일 선택 후 옵션에서 norecovery로 한다 nor..

[ms-sql] ms-sql norecovery상태의 DB를 recovery로 변경

ms-sql복원을 진행 하는 과정중 복원을 계속 진행한다면 norecovery로 복원을 하고, 마지막 복원파일을 복원 후 DB를 open한다면 recovery로 진행한다. 하지만 마지막 복원파일을 복원했을 때 norecovery옵션으로 복원을 했다. 이 때 recovery로 변경하여 DB를 사용할 수 있게 하는 법을 알아보자. 우선 (복원중..)이라는 DB를 확인한다. DB마우스 우클릭 -> 태스크 -> 복원 -> 트랜잭션로그 복원할 로그 백업없이 아무것도 선택하지 않는다. 그리고 옵션에서는 recovery옵션을 선택한다. 이렇게 진행한다면 정상적으로 DB가 recovery상태로 돌아와서 사용자가 접근 할 수 있다.

[ms-sql] ms-sql 전체백업, 차등백업, 로그백업 순서로 복원하기

우선 전체백업, 차등백업, 로그백업을 받아준다. 1. test용 테이블 생성 create table test (name varchar(100), value varchar(100)); insert into test values ('full' , 'full_backup'); 위와 같이 데이터를 넣어놓는다. 1. 전체백업 받기 DB마우스 우클릭 -> 태크스 -> 백업 백업유형을 '전체' 로 해서 백업을 받는다 2. 차등백업 받기 test table에 데이터를 insert 해보자 insert into test values('differnet', 'differ_backup'); 전체백업과 같이 DB마우스 우클릭 -> 태스크 -> 백업 들어간 후 백업유형을 '차등'으로 변경하고, 백업 파일명도 변경해준다. 백업 옵..

[ms-sql] DB를 다른 DB명으로 복원

ms-sql DB를 다른이름으로 복원하는 방법에 대해 알아보겠습니다. 1. DB전체 백업 우선 복원하고자 하는 DB 전체백업을 받아줍니다. DB마우스 우클릭 -> 태스크 -> 백업 백업 스케쥴이 있다면 '복시전용백업'을 선택하여 백업 스케쥴에 영향이 없도록 한다. 2. 다른이름으로 복원 만들고자 하는 DB 마우스 우클릭 -> 태스크 -> 복원 -> 데이터베이스 이 때 디바이스를 체크하여 마지막으로 백업받은 .bak파일을 선택해도 되지만, 데이터베이스를 선택하여 마지막으로 백업받은 파일을 자동으로 찾아서 복원해도 된다. 그리고 데이터베이스의 이름에 _old를 붙여 DB명을 변경시켜 준다. 파일 탭 -> 다음으로복원 파일 확인 파일 탭에서 다음으로 복원하는 파일명을 꼭 확인하여야 한다. 새로운 DB이기 때문..

[ms-sql] 복구모델 '단순' 일 때 복원방법

우선 ms-sql에서 복구모델이 '단순'일 때는 트랜잭션 로그 백업을 받을 수 없다. 복구모델이 '단순'일 때 백업화면을 보면 위와 같이 '전체', '차등' 두 개의 백업을 선택할 수 있다. 내가 궁금해 한 것은 이 부분이다. 복구모델이 '단순'이더라도 트랜잭션 로그가 쌓이는 건 분명하다. 복구모델이 '단순'이면 트랜잭션이 완료되었을 때 사라진다. 그럼 트랜잭션이 완료 되지 않고 트랜잭션 로그에 쌓인 상태에 전체백업을 받으면 어떻게 될까? 이게 내가 가진 의문이였다. 따라서 테스트를 진행해본 결과를 공유하고자 한다. DB에서 transaction을 수행 후 종료하지 않았다. 1. 트랜잭션 시작 후 종료하지 않음 /* 트랜잭션 시작*/ create table a (a varchar(100), b varch..

[ms-sql] 복구모델 '전체' 일 때 복원방법

복구모델이 '전체' 일 때 복원방법은 3가지가 있다. 이에 대해 설명해보자. 우선 AdventureWorks2022_2 라는 DB가 있고 이 DB는 복구모델이 '전체'이다. 이 DB를 전체백업을 먼저 받는다. 그리고 이 DB가 운영중인 DB라서 변경이 발생 했다고 하자, 그러면 트랜잭션 로그에 변경이력이 남게될 것이다. create table a (a varchar(100), b varchar(100)); insert into a values (replicate('A', 100), replicate('A', 100)); 위와 같이 입력을 하면 전체백업을 받은 이 후 데이터의 변경이 일어났다. 이제부터 복원하는 방법 3가지에 대해 알아보겠다. 1. 복원방법_1 DB마우스 우클릭 -> 태스크 -> 복원 ->..

[ms-sql] ms-sql 새로운 서버에 데이터베이스 복원

ms-sql에서 받은 백업을 새로운 서버에 복원을 한다고 할 때 과정을 알아보겠습니다. 1. 전체백업 DB마우스 우클릭 -> 태스크 -> 백업 전체백업을 받는다. 2. 복원 새로운 데이터베이스 서버에 왔다. 데이터베이스 마우스 우클릭 -> 데이터베이스 복원 선택 일반 탭에서 백업파일(.bak)을 선택한다. 백업파일을 추가하면 아래와 같이 추가가 된다 이 후 '파일'탭으로 가서 꼭 복원하고자 하는 위치를 잘 보고 지정을 해준다 (매우 중요) 확인을 누르고 복원을 완료한다.

[ms-sql] ms-sql 복원방법

일단 ms-sql의 기본 복원 순서를 살펴보자 1. 기본 복원 순서 1-1. 트랜잭션 로그 꼬리 백업 1-2. 마지막 전체 백업을 복원 1-3. 그 이후로 받은 마지막 차등 백업을 복원 1-4. 그 이후로 받은 모든 로그 백업을 복원 (마지막은 1-1.에서 받은 마지막 트랜잭션 로그 꼬리백업을 복원) 위 순서로 복원을 한다. 백업받는 방식 별로 복원하는 방법을 알아보자 2. 전체백업만 하는 경우 복원 2-1 복구모델이 '전체'라면 우선 로그 꼬리 백업을 받는다 (복구모델이 '전체'인 경우에 한번도 로그를 백업 받은 적이 없다) 2-2 가장 최근 '전체백업'을 복원(norecovery)함 (로그 꼬리 백업이 없다면 recovery옵션 사용) 2-3 '로그꼬리백업'을 받았다면 이것을 복원(recovery)함..

[ms-sql] ms-sql 복원 옵션

ms-sql 의 복원 옵션인 RECOVERY, NORECOVERY옵션에 대해 알아보겠습니다. 1. RECOVERY 백업 파일을 이용하여 데이터베이스를 복원할 때 RECOVERY옵션을 사용하면 복원이 된 후 DB가 online상태로 바뀐다. 즉 사용자가 엑세스 할 수 있다는 의미이고 데이터를 사용할 수 있다. 예를들어 full백업을 받은 후 차등백업파일을 받아야 한다고 가정하고, full백업을 복원할 때 RECOVERY옵션을 지정하게 되면 복원이 되어 사용자가 접근을 할 수 있고 차등백업을 복원할 수 없다. 따라서 RECOVERY옵션은 가장 마지막 백업 파일 복원 단계 에서만 지정을 해준다. 2. NORECOVERY 복원할 백업 파일이 더 있는 경우NORECOVERY옵션을 지정해 준다. RECOVERY옵션..

[ms-sql] ms-sql 백업압축

ms-sql 의 압축백업 * 장점 :압축 백업을 수행하면 백업과 복원의 시간이 상당히 단축되며, 백업 파일 크기도 상당히 줄어듦 * 단점 : 압축을 위해 cpu 사용량이 다소 증가하는 단점이 있음 ※ 서버설정을 통해 일반백업, 압축백업을 선택할 수 있음 (서버설정으로 무조건 압축되게 할 수 있음) 1. 압축백업 압축백업 받는 방법에 대해 알아보자. DB마우스 우클릭 -> 태스크 -> 백업 백업 옵션 탭에서 백업압축설정을 '백업압축'을 설정해 준다. 2. 서버설정 변경 (백업할 때 무조건 압축) DB서버 마우스 우클릭 -> 속성 데이터베이스 설정 탭에서 '백업압축' 체크박스를 체크합니다 백업받을 때 default로 압축을 하도록 서버 설정을 변경한것입니다.

728x90
반응형