728x90
반응형

DB (데이터베이스) 108

[ms-sql] ms-sql 인증방법, 인증모드 변경

ms-sql의 인증방법과 인증모드에 대해 알아보자 1. 인증 방법 1-1. windows인증 로그인 게정에 대해 인증을 windows운영체제가 담당하는 방법 sql server에 로그인할 떄 별도의 암호를 제공하지 않음 1-2. sql server인증 sql server자체 계정으로 sql server에 로그인함 windows계정을 사용할 수 없는 경우 사용하는 인증 방법 2. 인증 모드 2-1. windows인증 모드 windows인증 방법만 허가함 2-2. 혼합모드 windows인증 방법과 sql server인증 방법을 모두 허가함 3. SSMS로 인증모드 변경하는 방법 데이터베이스 마우스 우클릭 -> 속성 보안탭에서 windows인증 모드로 변경한다. 이 내용을 적용하려면 sql server를 다시..

[ms-sql] ms-sql 특정시점 복원

ms-sql의 특정시점으로 복원하는 과정을 알아보기 위해 데이터를 잘못 업데이트를 했다고 가정하겠습니다. 예를 들어 2024-02-01 16:24:20 에 잘못된 데이터를 업데이트 쳤다고 가정한다. 이 문제가 발생 했을 때 특정 시점으로 복원하는 방법에 대해 알아보자. 1. 로그꼬리 백업 우선 현재 전체백업을 받고 있고, 트랜잭션 로그 백업을 주기로 받는다고 가정한다. 이 때 전체백업과 트랜잭션 로그 백업은 존재하고, 방금 잘못된 업데이트는 로그꼬리 백업을 통해 백업을 받는다. 2. 전체백업 및 로그백업 복원 현재 DB에 직접 복원을 해도되지만 운영중인DB라면 복사본 DB를 만들어서 확인을 하는 과정을 꼭 거치도록 하자 데이터베이스 마우스 우클릭 -> 데이터베이스 복원 디바이스에서 전체백업과 방금 받은 ..

[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)을 선택한다. 백업파일을 추가하면 아래와 같이 추가가 된다 이 후 '파일'탭으로 가서 꼭 복원하고자 하는 위치를 잘 보고 지정을 해준다 (매우 중요) 확인을 누르고 복원을 완료한다.

728x90
반응형