728x90
반응형

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

[MS-SQL] 백업 기록 조회 sql

아래 쿼리를 이용해 백업기록을 조회할 수 있다.-- backup type /* D : 데이터베이스 백업 ( Database backup ) I : 차등 백업 ( Differentail Database backup ) L : 트랜젝션 로그 백업 ( Transaction log backup ) F : 파일 또는 파일그룹 백업 ( File or filrgroup backup ) G : 차등 파일 백업 ( Differentail file backup ) P : 부분 백업 ( Partial backup ) Q : 차등 부분 백업 ( Differentail partial backup ) */ select backupset.database_name, backupset.backup_start_date, backups..

[MS-SQL] ms-sql 스냅샷으로 복구

- ms-sql은 스냅샷 데이터베이스에 대한 일관된 뷰(특정 시점의 데이터)를 제공한다. - 특정 시점의 데이터 보고서로 작성되거나, 반복된 복원대신에 스냅샷을 활용할 수 있다. - 스냅샷은 오로지 읽기 전용이며, 중요 데이터베이스 변경 시 스냅샷 데이터베이스를 만들어두고 작업을 하면 문제가 생길 시 바로 원복이 가능하다. 이 때 3번 째인 중요 데이터베이스 변경 시 작업하고 문제가 생길 시 바로 복원이 가능한 방법 예제를 알아보자 USE masterGOCREATE DATABASE AW2022_snapshot_20240313_1349ON ( NAME = 'AdventureWorks2022', FILENAME = 'C:\SQLServer\SQLData\AdventureWorks2022.ss') AS SN..

[MS-SQL] ms-sql 유지관리 계획 백업 스케쥴 조정

ms-sql에서 유지관리계획 마법사를 통해 백업 스케쥴을 정할 수 있습니다. 관리 -> 유지 관리 계획 -> 유지 관리 계획 마법사다음을 누릅니다유지 관리 계획의 이름을 지정하고 일정을 지정하기 위해서 '변경'을 누릅니다.일정을 디테일하게 정할 수 있습니다.다음은 해당 시간에 어떤 작업을 할지 정할 수 있습니다. 필자는 '데이터베이스 백업(전체)', '유지 관리 정리 태스크' 두개를 지정했습니다. '유지 관리 정리 태스크'는 일정 기간이 지난 백업 파일을 지울 때 사용합니다.생성할 유지 관리 태스크의 실행 순서를 지정합니다.우선 '유지 관리 정리 태스크'가 먼저 실행 될 것이기 때문에 어떤 작업을 진행 할지 지정합니다. 필자는 생성된 bak파일을 삭제하는데 7일이 경과된 파일을 삭제하도록 지정하였습니다...

[MS-SQL] ms-sql job(작업) 생성

ms-sql에서 jobs(작업)생성하는 방법 개체탐색기에서 SQL Server 에이전트 -> '작업'마우스 우클릭 -> 새 작업 일반 탭에서 작업의 이름을 지정한다. 나는 '테이블 목록 확인' 이라는 작업 이름을 지정하였다. 단계 탭에서 '새로 만들기'를 누른다. 단계이름과 진행할 database명, sql구문을 입력한다. 필자는 지정한 DB에서 table을 조회해서 current_table에 저장하는 sql을 작성한다. 일정 탭에서 '새로 만들기'를 누른다. 새 작업일정의 정보를 입력한다. 마지막으로 확인을 누르면 jobs생성이 완료된다. SQL Server 에이전트 -> 작업 에서 방금 추가한 작업이 생성된걸 확인 할 수 있다. 작업의 모니터링을 위해서는 SQL Server 에이전트 -> '작업 확동..

[MS-SQL] ms-sql 시스템 데이터베이스

ms-sql의 시스템 데이터베이스 / 데이터베이스 구조 / 파일 그룹에 대해 간단하게 정리 1.시스템 데이터베이스 1-1. master - 서버수준의 정보가 저장되는 핵심시스템 데이터베이스 - 로그인 계정정보, 데이터베이스 파일 위치 1-2. model - 새로운 데이터베이스를 만들 때 사용되는 템플릿 데이터베이스 - model 데이터베이스에 변화를 주면 이후 만들어지는 데이터베이스에도 반영됨 1-3. msdb - SQL Server운영과 관련된 정보들을 저장하는 시스템 데이터베이스 - 백업이력, 복원이력, 에이전트 작업 내용, 작업 수행이력 등 저장 1-4. tempdb - 쿼리 수행 시 사용되는 임시 저장 공간 - 수 많은 쿼리들이 공유하는 데이터베이스이므로 성능과 연관이 있음 SQL Server재 ..

[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를 만들어서 확인을 하는 과정을 꼭 거치도록 하자 데이터베이스 마우스 우클릭 -> 데이터베이스 복원 디바이스에서 전체백업과 방금 받은 ..

728x90
반응형