728x90
반응형

분류 전체보기 186

[Oracle] regexp_substr로 날짜 추출하기

oracle의 regexp_substr함수로 string에 날짜가 포함되어있는 경우 날짜만 추출하는 방법을 알아보겠습니다. 우선 test_c 라는 테이블에 아래와 같이 데이터가 들어가 있다고 가정합니다. value값에 aa_08_2023 aa_aa_aa_202308 aa_aa_aa_2023_08 aa_aa_aa_20230803 이런식으로 문자와 날짜데이터가 동시에 들어가 있는 경우 날짜만을 추출하고 싶을 때 아래와 같은 sql문을 작성하여 조회할 수 있습니다. SELECT CASE WHEN regexp_substr(value, '([0-9]{4}_[0-9]{2})') IS NOT NULL THEN to_date(regexp_substr(value, '([0-9]{4}_[0-9]{2})'), 'yyyy-m..

[ms-sql] ms-sql의 데이터전송

'가져오기 및 내보내기 마법사'를 통해 다른 서버의 데이터를 가져오거나 내보낼 수 있다. 개체 전송이 아니고 데이터 전송이므로 테이블 데이터 이외(인덱스, PK, FK 등)는 가져오지 않는다. 데이터 내보내기를 통해 다른 서버에 데이터 전송을 할 수 있다. 내보내고자 하는 DB 마우스 우클릭 -> 태스크 -> 데이터 가져오기 ※ 데이터 가져오기를 하던지, 데이터 내보내기를 하던지 둘다 똑같다. 물론 복사할 원본과 밀어넣을 서버 선택하는 순서가 바뀐다. 어떤 DB서버의 어떤 데이터베이스에서 가져올지 선택한다. 내 DB의 어떤 서버에 집어넣을지 선택한다 '새로만들기'버튼을 눌러서 DB를 새로 만들 수도 있다. 이 후 '하나 이상의 테이블 또는 뷰에서 데이터복사'를 누른다. 어떤 테이블을 복사할 지 선택할 수..

[ms-sql] 사용자계정에 개체 권한 할당

데이터베이스에서 권한을 할당 할 떄 가장 중요한 것은 '최소 권한 원칙'에 따라 권한을 부여야한다. 사용자계정이 데이터베이스에서 특정 object에 대한 권한을 얻는 방법에 대해 알아보겠습니다. 1. 권한부여 부여하고자 하는 object 마우스 우클릭 -> 속성 사용권한 탭에서 이 object에 접근하여를 사용자를 선택한다. 그리고 어떤 권한을 허용할지 거부할지 체크를 한다. * 허용 권한의 경우 grant명령어를 사용해 권한을 주는 것과 같다. sql문으로 표현하면 아래와 같다. use AdventureWorks2022_old go grant select on dbo.AWBuildVersion to test_2 go * 거부 권한의 경우 deny 명령어를 사용해 권한을 부여하는 것과 같다. sql로 표..

[ms-sql] ms-sql 로그인계정, 사용자계정

ms-sql 에서는 로그인 계정과 사용자 계정이 있다. * 로그인 계정 로그인 계정은 sql server에 연결할 때 사용하는 계정이다. * 사용자 계정 데이터베이스 사용자 계정이라고 하며, 특정 데이터베이스를 접근하여 사용할 때 로그인계정이 매핑되는 계정이다. ※ 즉, 로그인 계정이 있다고 해서 아무 데이터베이스나 접근이 가능한것은 아니다 1. 로그인계정 등록 (windows 계정) windows계정이 존재할 때 sql server로 연결할 수 있도록 등록하는 방법을 알아보자. 보안 -> 로그인 마우스 우클릭 -> 새 로그인 기존의 windows계정을 sql server로 연결할 수 있는 계정으로 추가해준다. 2. 로그인계정 등록 (sql server인증) sql server계정은 id와 pw만 알면 ..

[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마우스 우클릭 -> 태스크 -> 백업 들어간 후 백업유형을 '차등'으로 변경하고, 백업 파일명도 변경해준다. 백업 옵..

728x90
반응형