본문 바로가기
㏈ª By β┖υΕJini/MS-SQL

SQL 2008 Policy Based Management (SQL 2008 새로운 관리자 기능)

by ㏈ª ☞ β┖υΕJini.κR 2010. 1. 28.

SQL 2008 Policy Based Management

SQL 2008을 통해 현재 우리 회사에서 운영중인 데이터 베이스를 관리함에 있어서 편리한 기능에

대해서 알아 보도록 하자.

1.정책기반 관리

2.리소스 관리자

3.데이터 컬렉션

4.데이터 변경 내용 추적

4개의 각각의 세션을 통해 SQL2008을 이용하여 다른 SQL2008   SQL2005, SQL2000 관리를

자동화 하고 집중화 하여 성능 최적화에 도움을 받을수 있을 것이다.

 

 

정책 기반 관리

정책 기반 관리라 함은 일관성 서버관리의 필요성으로 나오게 되었습니다. 예로 현재 우리회사에서 사용하고 있는 데이터베이스 서버의 복구 모델은 전체(Full)로 설정한다. 저장 프로시져는 USP_ 시작해야 하며 , 테이블은 TBL_ 로 시작해야 한다. 등등 정책을 결정하여 배포함으로써 일관성 있는 서버관리를 할수 있게 됩니다. 이로인해 중요 시스템에 대한 변경을 모니터링하거나 변경을 방지 할수 있으며 손쉬운 정책 평가 및 정책 반영으로 인해 관리작업이 감소화 하여 궁극적으로는 기업 환경의 일관된 구성 정책을 가져올수 있게 됩니다.

 

관련 용어

- 패싯(Facets) : 특정 유형의 관리 대상에 대한 동작 또는 특징을 갖는 논리적 속성들의 그룹
-
조건(Conditions) : 패싯과 관련하여 정책 기반 관리에 의해 관리되는 대상에게 허용될 상태
                  
집합을 지정하는 판별식

- 정책(Policies) : 평가모드, 대상 필터 및 일정과 같은 정책 기반 관리 조건 및 예상 동작으로 하나의 조건만을 포함할수 있음

 

정책 기반 관리 만드는 순서

-       조건  --> 정책 (식을 먼저 정의 하고 정책을 구성한다.)



[그림1] SSMS 에서 관리 < 정책 관리 < 정책,조건,패식 세 항목이 보이실겁입니다.

사용자 삽입 이미지

                                          [그림1]



패싯(Facets)
패싯은 정책을 통해 관리 할수 있는 SQL Server 의 다양한 기능이라고 말할수 있습니다.
테이블의 정의 하는 테이블 패싯, 데이터베이스의 정책을 정의 하는 데이터베이스 패싯, 저장 프로시져의 정책을 정의 할수 있는 저장프로시져 패싯등이 있다.

 

사용자 삽입 이미지

조건(Conditions)
정책을 정의하기 위해서는 먼저 조건을 정의 해야만 합니다. 조건을 통해 어떤 패싯에 대한 속성을 어떻게 설정 할지는 정의 하는 것입니다. 예를 들어 테이블 이름을 ‘TBL_’로 시작되게 하겠다면 여러 부분으로 구성된 이름 패싯을 정하고 조건 항목에서 새조건을 선택하여 조건을 만들수 있습니다.

 

 

사용자 삽입 이미지

새 조건 만들기 창에서 테이블 이름을 TBL로 시작하도록 정의 하는 화면의 예를 보여 줍니다. 조건 이름을 테이블 이름 조건 이라고 했으면 패싯(F) 부분에서 여러부분으로 구성된 이름을 선택했음을 알수 있습니다. 또한 필드 부분에서 @Name 을 선택하고 연산자에 LIKE 를 선택했으며 값에는 ‘TBL%’을 입력해 테이블 이름이 ‘TBL’ 시작됨을 정의 합니다.

사용자 삽입 이미지
 테이블 이름 조건이라는 조건이 만들어 졌음을 알수 있습니다.

 

 

사용자 삽입 이미지

조건 확인(H) 부분에 적용할 조건 을 선택 합니다.


사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지



위와 같은 과정을 거쳐 sqlDB 라는 데이터베이스에 테이블 조건 정책을 정함으로써 정책 만들기가 완료 되었음을 알수 있습니다.


사용자 삽입 이미지
 


요청 시 실행 모드는 정책을 자동으로 실행하지 않고 필요 시 수동으로 평가하도록 하는 방법입니다. 평가에 대한 결과는 로그로 기록됩니다.

 

예약 시 실행 모드는 일정을 설정해 예약하면 해당 일정으로 정책에 대한 평가가 실행되도록 하는 방법입니다. 평가에 대한 결과를 로그로 기록됩니다.

 

변경 시 - 로그만 실행 모드는 개체에 대한 변경(생성 및 변경) 작업에 대해 실시간으로 정책이 평가되어 정책에 위배되는 경우 이에 대한 내용을 로그로 남기도록 하는 방법입니다.

 

변경 시 - 방지 실행 모드는 개체에 대한 변경(생성 및 변경) 작업에 대해 실시간으로 정책이 평가되어 정책에 위배되는 경우 해당 작업이 수행되지 못하도록 방지하는 방법입니다. 물론 로그도 기록됩니다.

 

실행 모드(E) 부분에 변경 시 - 방지를 선택하고 사용(E) 부분을 체크해 실시간으로 평가되어 정책 위반 시 해당 작업이 수행되지 못하도록 하겠다고 설정한 예입니다.



정책 실행 여부 테스트


모든 과정을 마친후 ‘TBL_’ 시작하는 테이블이 아닌 DDDD 라는 테이블을 만들어 보았습니다.
정책에 위반되기 때문에 만들지지 않고 에러가 발생함을 알수 있습니다.

 

사용자 삽입 이미지

 

 

수동으로 정책 평가

사용자 삽입 이미지

현재 구성된 데이터의 베이스의 정책을 수동으로 평가 할수 있습니다.

 

SQL 2008 이전의 DB 에서는 DDL 트리거를 코딩해서 관리해야 했지만 이제는 정책 기반 관리 기능을 통해서 더욱더 효율적 관리를 할수 있게 되었습니다. 한서어에서 만들어진 정책은 다은 서버또는 서버 그룹에 쉽게 반영 할수 있는 정책 가져오기, 내보내기 기능이 제공되어 관리효율 향상 및 비용 절감을 꾀할수 있게 되었습니다.


정책 저장소

정책은 msdb 저장되기 때문에 정책/조건 변경시 msdb 는 백업이 이루어져야 한다.
정책 평가 기록
- msdb 시스템 테이블 유지
- 다른 데이터베이스 엔젠, 기타 서비스 보존되지 않음
기본적인 정책 XML 파일
- 기본 설치 위치에서 " 정책 가져오기" 가능
- C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1042
정책 위한 경고
- 자동화된 평가 모드 중 위반이 발생하면 로그에 기록
- 메시지 번호로 경고 생성, 운영자에게 알림 가능