Database/MSSQL Server
-
1. 장애 내용 ㉠ 한달에 1번씩 DB명을 변경하는 Job 스케줄러 존재함. DB명이 변경이 안되고 이전 DB명으로 커넥션을 맺어도 안된다는 장애 접수㉡ 확인을 위해서 DB 속성을 보려 하였는데 다음과 같은 메시지 출력 2. 확인 사항 ㉠ Job 스케줄러 정상 작동 여부 확인 (확인 결과 실패함)㉡ DB 상태 확인 SELECT name,state,state_desc FROM SYS.DATABASESWHERE NAME = '201412' 확인 했는데 별달리 특이점이 없는 듯 보였으며, ONLINE 상태 ㉢ 어떠한 프로세스가 점유하고 있는지 확인 SELECT * FROM SYS.sysprocessesWHERE DBID = 15 확인해보니 60번 세션이 뭔가를 잡고 있는듯 하여, 확인 ㉣ 확인 위해서 INPU..
MS SQL Server_952 Error1. 장애 내용 ㉠ 한달에 1번씩 DB명을 변경하는 Job 스케줄러 존재함. DB명이 변경이 안되고 이전 DB명으로 커넥션을 맺어도 안된다는 장애 접수㉡ 확인을 위해서 DB 속성을 보려 하였는데 다음과 같은 메시지 출력 2. 확인 사항 ㉠ Job 스케줄러 정상 작동 여부 확인 (확인 결과 실패함)㉡ DB 상태 확인 SELECT name,state,state_desc FROM SYS.DATABASESWHERE NAME = '201412' 확인 했는데 별달리 특이점이 없는 듯 보였으며, ONLINE 상태 ㉢ 어떠한 프로세스가 점유하고 있는지 확인 SELECT * FROM SYS.sysprocessesWHERE DBID = 15 확인해보니 60번 세션이 뭔가를 잡고 있는듯 하여, 확인 ㉣ 확인 위해서 INPU..
2015.04.09 -
MSSQL에서 대용량의 데이터베이스를 관리할때 백업 과 복원시 많은 용량을 전부 백업 및 복원 하는 것이 아닌 일부의 파일 그룹만 백업, 복원을 하여, 시간 및 저장공간을 줄일 수 있습니다. 저는 이 기법을 로그 DB에 사용하기 위해서 테스트하였으며, 용도는 사용하시는 분의 요건에 맞게 사용하면 될 듯 합니다.로그DB에서 각 일별로 파일그룹,파일을 생성하여 일별로 나눈 뒤 차후에 파일그룹별로 백업을 수행합니다. 그렇게하여, 일자별 BACKUP파일을 만들고, 복원시 해당 BACKUP파일만 복원하여 관리 하고자 하여, 테스트를 하였습니다. 테스트의 주요 확인 사항은 다음과 같습니다.1. 파일그룹 백업은 파일그룹 단위로 가능한가?2. 파일그룹 단위로 백업이 성공시 복원이 가능 한가?3. 데이터는 정상적으로 조..
MSSQL_파일그룹 백업 및 복원MSSQL에서 대용량의 데이터베이스를 관리할때 백업 과 복원시 많은 용량을 전부 백업 및 복원 하는 것이 아닌 일부의 파일 그룹만 백업, 복원을 하여, 시간 및 저장공간을 줄일 수 있습니다. 저는 이 기법을 로그 DB에 사용하기 위해서 테스트하였으며, 용도는 사용하시는 분의 요건에 맞게 사용하면 될 듯 합니다.로그DB에서 각 일별로 파일그룹,파일을 생성하여 일별로 나눈 뒤 차후에 파일그룹별로 백업을 수행합니다. 그렇게하여, 일자별 BACKUP파일을 만들고, 복원시 해당 BACKUP파일만 복원하여 관리 하고자 하여, 테스트를 하였습니다. 테스트의 주요 확인 사항은 다음과 같습니다.1. 파일그룹 백업은 파일그룹 단위로 가능한가?2. 파일그룹 단위로 백업이 성공시 복원이 가능 한가?3. 데이터는 정상적으로 조..
2015.04.09 -
DMV 몇가지 정리..MSDN에 있는 것들을 그대로 퍼왔습니다. 공부하면서 자주 사용하는거 모아 두려고 정리했습니다. 1. sys.dm_exec_sessions (https://msdn.microsoft.com/ko-kr/library/ms176013.aspx)SQL Server에서 인증된 세션당 행 하나를 반환합니다. sys.dm_exec_sessions는 모든 활성 사용자 연결 및 내부 태스크에 대한 정보를 표시하는 서버 범위 뷰입니다. 이러한 정보로는 클라이언트 버전, 클라이언트 프로그램 이름, 클라이언트 로그인 시간, 로그인 사용자, 현재 세션 설정 등이 있습니다. sys.dm_exec_sessions를 사용하여 먼저 현재 시스템 로드를 확인하고 관심 있는 세션을 파악한 다음 다른 동적 관리 뷰나..
MSSQL_DMV 모음(1)DMV 몇가지 정리..MSDN에 있는 것들을 그대로 퍼왔습니다. 공부하면서 자주 사용하는거 모아 두려고 정리했습니다. 1. sys.dm_exec_sessions (https://msdn.microsoft.com/ko-kr/library/ms176013.aspx)SQL Server에서 인증된 세션당 행 하나를 반환합니다. sys.dm_exec_sessions는 모든 활성 사용자 연결 및 내부 태스크에 대한 정보를 표시하는 서버 범위 뷰입니다. 이러한 정보로는 클라이언트 버전, 클라이언트 프로그램 이름, 클라이언트 로그인 시간, 로그인 사용자, 현재 세션 설정 등이 있습니다. sys.dm_exec_sessions를 사용하여 먼저 현재 시스템 로드를 확인하고 관심 있는 세션을 파악한 다음 다른 동적 관리 뷰나..
2015.04.09 -
RESTORE FILELISTONLY 등의 내용을 볼때 해당 내용이 너무 많거나 필요한 정보만 볼때 또는 해당 내용을 로그 테이블등에 저장 해야 하는 경우가 있습니다. 이럴때 이 내용을 테이블에 저장 할 수 있도록 하기 위해서는 다음과 같이 할 수 있습니다. 일반적인 RESTORE FILELISTONLY 구문RESTORE FILELISTONLY FROM DISK ='D:\VB_Share\201503_FG.bak' 다음과 같이 5개의 결과물이 나옵니다. 해당 내용을 테이블에 저장 할때는 다음과 같이 하면 됩니다.예시 쿼리를 보면 쉽게 이해가 되실 겁니다. -- 변수 테이블 DECLARE @TEMP_TBL TABLE ( COL1 VARCHAR(255) ,COL2 VARCHAR(255) ,COL3 VARCH..
MSSQL_쿼리 결과값 테이블에 넣기RESTORE FILELISTONLY 등의 내용을 볼때 해당 내용이 너무 많거나 필요한 정보만 볼때 또는 해당 내용을 로그 테이블등에 저장 해야 하는 경우가 있습니다. 이럴때 이 내용을 테이블에 저장 할 수 있도록 하기 위해서는 다음과 같이 할 수 있습니다. 일반적인 RESTORE FILELISTONLY 구문RESTORE FILELISTONLY FROM DISK ='D:\VB_Share\201503_FG.bak' 다음과 같이 5개의 결과물이 나옵니다. 해당 내용을 테이블에 저장 할때는 다음과 같이 하면 됩니다.예시 쿼리를 보면 쉽게 이해가 되실 겁니다. -- 변수 테이블 DECLARE @TEMP_TBL TABLE ( COL1 VARCHAR(255) ,COL2 VARCHAR(255) ,COL3 VARCH..
2015.04.09 -
가끔 DB내의 모든 테이블을 생성,삭제 스크립트를 추출해야 하는 경우가 있습니다.테이블 및 SP에 대한 스크립트 추출은 아래의 그림처럼 하면 간단히 나오지만 인덱스의 경우는 옵션을 체크해야 합니다. 인덱스 이외에도 뷰,사용자 등 여러가지 개체를 스크립트 형식으로 추출 가능 합니다.이번 포스트에서는 테이블에 있는 인덱스 및 테이블을 추출 하는 것을 테스트 해봤습니다. 옵션은 다음과 같이 설정이 가능 합니다. 스크립트를 추출 할 DB선택 -> 태스크(T) -> 스크립트 생성(E) 다음의 페이지가 나오면 다음을 클릭 합니다. 다음 화면에서 "특정 데이터베이스 개체 선택(O)"을 클릭 합니다.테스트이므로, 테이블에 있는 인덱스 생성이 목적이므로, 테이블쪽만 선택하겠습니다. 테이블을 체크하고 (만약 특정 테이블..
MSSQL_DB내의 개체 생성 스크립트 생성가끔 DB내의 모든 테이블을 생성,삭제 스크립트를 추출해야 하는 경우가 있습니다.테이블 및 SP에 대한 스크립트 추출은 아래의 그림처럼 하면 간단히 나오지만 인덱스의 경우는 옵션을 체크해야 합니다. 인덱스 이외에도 뷰,사용자 등 여러가지 개체를 스크립트 형식으로 추출 가능 합니다.이번 포스트에서는 테이블에 있는 인덱스 및 테이블을 추출 하는 것을 테스트 해봤습니다. 옵션은 다음과 같이 설정이 가능 합니다. 스크립트를 추출 할 DB선택 -> 태스크(T) -> 스크립트 생성(E) 다음의 페이지가 나오면 다음을 클릭 합니다. 다음 화면에서 "특정 데이터베이스 개체 선택(O)"을 클릭 합니다.테스트이므로, 테이블에 있는 인덱스 생성이 목적이므로, 테이블쪽만 선택하겠습니다. 테이블을 체크하고 (만약 특정 테이블..
2015.04.09 -
오라클의 내용을 보고 이해 한 글이므로 사실과 다를수 있습니다. MS Server에 Cache Hit Ratio라는 항목이 있습니다. 이것은 간단히 말해서 캐쉬의 적중률로 알고 있습니다. (필자 생각) 그런데 이게 높으면 왜 좋고 낮으면 왜 않좋은지 알고 싶어서 찾던 도중 좋은 글을 발견해서 이해 한 대로 설명하겠습니다. 1. Database의 Buffe Cache는 Disk로 부터 읽어들인 Data block의 복사본을 가지고 있는 메모리 입니다. 2. 다음과 같이 Disk로 부터 파일을 읽어 들여서 Data Block의 복사본을 가지고 있는 메모리 입니다. 3. 다음과 같이 User Process가 요구한 사항을 Server Process 가 받아서 DB Buffer Cache에서 Data를 찾게 될..
Buffer Manager/Buffer Cache Hit Ratio오라클의 내용을 보고 이해 한 글이므로 사실과 다를수 있습니다. MS Server에 Cache Hit Ratio라는 항목이 있습니다. 이것은 간단히 말해서 캐쉬의 적중률로 알고 있습니다. (필자 생각) 그런데 이게 높으면 왜 좋고 낮으면 왜 않좋은지 알고 싶어서 찾던 도중 좋은 글을 발견해서 이해 한 대로 설명하겠습니다. 1. Database의 Buffe Cache는 Disk로 부터 읽어들인 Data block의 복사본을 가지고 있는 메모리 입니다. 2. 다음과 같이 Disk로 부터 파일을 읽어 들여서 Data Block의 복사본을 가지고 있는 메모리 입니다. 3. 다음과 같이 User Process가 요구한 사항을 Server Process 가 받아서 DB Buffer Cache에서 Data를 찾게 될..
2015.04.06 -
필자는 항상 여러개의 인스턴스를 쓰면서도 인스턴스의 개념을 정확하게 알지 못했다.내가 스스로 정의하길 한대의 서버에 여러개의 DB가 있는 것으로 알고 있었다.Java배울때 붕어빵틀이 클래스면 인스턴스는 붕어빵이라고 배웠다. 책에 내용에 보니 비슷하다고 한다. SQL Server 프로그램(붕어빵틀)는 1개지만 , 컴퓨터에서 구동되는 SQL Server인스턴스(붕어빵)은 여러개 일수 있다. 물론 이말이 꼭 같은 붕어빵틀(복사)로 붕어빵을 찍어내는(붙여넣기) 개념이 아니다. 쉽게 말해서 하나의 서버에 여러개의 SQL Server를 설치하여 사용한다고 볼 수 있다.SQL Server 는 멀티 인스턴스를 지원하며 Enterprise 에디션의 경우 50개의 인스턴스까지 지원한다. 여기서 중요한건 처음에 설치하는 S..
MSSQL_인스턴스필자는 항상 여러개의 인스턴스를 쓰면서도 인스턴스의 개념을 정확하게 알지 못했다.내가 스스로 정의하길 한대의 서버에 여러개의 DB가 있는 것으로 알고 있었다.Java배울때 붕어빵틀이 클래스면 인스턴스는 붕어빵이라고 배웠다. 책에 내용에 보니 비슷하다고 한다. SQL Server 프로그램(붕어빵틀)는 1개지만 , 컴퓨터에서 구동되는 SQL Server인스턴스(붕어빵)은 여러개 일수 있다. 물론 이말이 꼭 같은 붕어빵틀(복사)로 붕어빵을 찍어내는(붙여넣기) 개념이 아니다. 쉽게 말해서 하나의 서버에 여러개의 SQL Server를 설치하여 사용한다고 볼 수 있다.SQL Server 는 멀티 인스턴스를 지원하며 Enterprise 에디션의 경우 50개의 인스턴스까지 지원한다. 여기서 중요한건 처음에 설치하는 S..
2015.04.06 -
MSSQL에는 기본적으로 생성되는 시스템 데이터베이스가 있습니다. 이중에서 가장 기본적인 몇가지를 보면 다음과 같습니다. ① master 데이터베이스② model 데이터베이스③ msdb 데이터베이스④ tempdb 데이터베이스 순차적으로 살펴 보겠습니다. ① master 데이터베이스 SQL Server에서 가장 중요한 데이터베이스이다. 만약 이 데이터베이스에 문제가 생긴다면 SQL Server 구동이 안될수도 있습니다. master 데이터베이스에는 서버에 설치된 모든 데이터베이스 상의 정보를 유지하며 데이터베이스의 생성 , 계정 관리 및 구성 , 디스크 공간, 시스템 전체의 구성 설정 정보 , 계정정보 , 사용자 데이터베이스에 대한 정보 등의 중요한 목록이 들어있다. ※이런한 이유로 master DB는 백..
MSSQL_System DatabaseMSSQL에는 기본적으로 생성되는 시스템 데이터베이스가 있습니다. 이중에서 가장 기본적인 몇가지를 보면 다음과 같습니다. ① master 데이터베이스② model 데이터베이스③ msdb 데이터베이스④ tempdb 데이터베이스 순차적으로 살펴 보겠습니다. ① master 데이터베이스 SQL Server에서 가장 중요한 데이터베이스이다. 만약 이 데이터베이스에 문제가 생긴다면 SQL Server 구동이 안될수도 있습니다. master 데이터베이스에는 서버에 설치된 모든 데이터베이스 상의 정보를 유지하며 데이터베이스의 생성 , 계정 관리 및 구성 , 디스크 공간, 시스템 전체의 구성 설정 정보 , 계정정보 , 사용자 데이터베이스에 대한 정보 등의 중요한 목록이 들어있다. ※이런한 이유로 master DB는 백..
2015.04.06