728x90

SQL Server 2005 Cluster 설치 후 Fail-over 테스트 과정에서 SQL Agent Service 가 온라인 되지 않는
문제가 발생하였습니다.  Passive Node 의 메모리 옵션에서 페이지 잠그기 옵션을 활성화 하여 SQL Server
실행 권한을 가진 계정을 추가해야 하는 이슈입니다.


[환경]
Windows Server 2003 Enterprise Edition SP2
SQL Server 2005 (MSCS)
 

[현상]
SQL Server 2005 Cluster 설치 후 Passive Node로 Fail-over 하였을 때 SQL Agent Service 가 온라인 되지
않습니다.

 
[원인]
AWE 메모리를 이용하려면, 메모리 권한에 잠금 페이지가 할당된 계정에서 SQL Server 데이터베이스 엔진을
실행해야 합니다. SQL Server 설정 권한이 MSSQLServer 서비스 계정 권한에 자동으로 부여되므로 메모리의
페이지 잠그기 사용할 수 있습니다. 현재 Passive Node 에는 로컬 보안 정책 '메모리의 페이지 잠금' 권한이
없습니다.
 

[분석결과]
 
1. 이벤트 로그
 
 이벤트 형식:        오류
 이벤트 원본:        SQLSERVERAGENT
 이벤트 범주:        Failover
 이벤트 ID:        53
 날짜:                2008-06-10
 시간:                오전 5:32:11
 사용자:                N/A
 컴퓨터:        LAIGO
 설명:
 [sqagtres] OnlineThread: Error 435 bringing resource online.

 
2. SQL Error Log
 
 SQL Server blocked access to
프로시저 'dbo.sp_sqlagent_get_startup_info' of component 'Agent XPs'
 because this component is turned off as part of the security configuration for this server.
 A system administrator can enable the use of 'Agent XPs' by using sp_configure.
 For more information about enabling 'Agent XPs', see "Surface Area Configuration" in SQL Server Books Online.
 

3. Passive Node에서 SP_configure 쿼리
 
 sp_configure

 Agent XPs 0 1 1 0
 awe enabled 0 1 1 0

 
 RECONFIGURE; 

  AWE(Address Windowing Extensions)에는 현재 프로세스의 액세스 토큰에 없는 '메모리의 페이지 잠금' 권한이 있어야 합니다.

 
[해결 방법]
 
메모리 옵션에서 페이지 잠금을 활성화하려면
 1. 시작 메뉴에서 실행을 누른 다음 열기 상자에 gpedit.msc를 입력합니다.
 2. 그룹 정책 트리 창에서 컴퓨터 구성을 확장한 다음 Windows 설정을 확장합니다.
 3. 계속해서 보안 설정과 로컬 정책을 차례로 확장합니다.
 4. 사용자 권한 할당 폴더를 선택합니다.
 5. 로컬 정책이 세부 정보 창에 표시됩니다.
 6. 세부 정보 창에서 메모리의 페이지 잠그기를 두 번 누릅니다.
 7. 로컬 보안 정책 설정 대화 상자에서 추가를 누릅니다.
 8. 사용자 또는 그룹 선택 대화 상자에서 Sqlservr.exe 실행 권한이 있는 계정을 추가합니다.
  - LAIGO\SQLCluster

 
[참고자료]
How to: Enable the Lock Pages in Memory Option (Windows)
http://technet.microsoft.com/en-us/library/ms190730.aspx


작성자 : Lai Go / 작성일자 : 2008.06.11
728x90

32비트운영체제에서 MSSQL 2005은 메모리가 기본적으로 2기가만 지원을 하게 됩니다.

이것을 4기가까지 확장 할 수 있도록 하는 방법을 알려드립니다.


 작업환경

OS : Windows Server 2003 Standard Edition 32Bit

SQL : MSSQL 2005 Server Standard Edition

RAM : 4GB


1. 컴퓨터의 실제 메모리는 아래 보시는것처럼 4기가의 메모리를 가지고 있습니다.

사용자 삽입 이미지


2. 하지만 MSSQL2005은 2기가까지만 메모리가 설정되어 있어서 그 이상은 사용을 하지 않는것을 볼 수 있습니다.

사용자 삽입 이미지


아깝지 않습니까? 이 풍부한 하드웨어에서 반밖에 능력을 사용 못하고 있네요.

사용자 삽입 이미지


Lock Pages in Memory

3. MSSQL이 AWE를 사용하려면 Lock Rages in Memory 옵션이 지정된 윈도우 계정으로 MSSQL 엔진을 실행해야 합니다.

32비트 운영체제의 경우 SQL Server에 맞게 AWE를 구성하기 전에 Lock pages in memory권한을 얻어야 합니다.


4. 우선 MSSQL이 어떤 계정으로 구동이 되는지 알아야 합니다.

시작-> 프로그램 -> 관리 도구 -> 서비스 누른다음에 아래의 항목을 찾으면 됩니다.

'db_go' 혹은 'sql_starter'일것이다.

사용자 삽입 이미지


5. Lock Pages in Memory 옵션을 설정해야 합니다.

시작 -> 실행에서 gpedit.msc를 실행합니다.


6. 그룹 정책 개체 편집기가 나오면..

컴퓨터 구성 -> Windows 설정 -> 보안설정 -> 로컬 정책 -> 사용자 권한 할당 -> 메모리의 페이지 잠그기

더블클릭을 합니다.

사용자 삽입 이미지


7. 아까 확인한 'db_go' 사용자를 추가를 해줍니다.

사용자 삽입 이미지


awe enabled 옵션

8. 본격적으로 메모리를 늘리는 방법을 진행하도록 하겠습니다.

AWE(Address WindowingExtionsions)를 사용하여 가상 메모리에 설정된 한계봐 더 큰 실제 메모리를 액세스 할 수 있도록 설정 하도록 하겠습니다.


'awe enabled'는 고급옵션입니다. 'sp_configure' 시스템 저장 프로시저를 사용하여 설정을 변경하려면 'show advanced options'를 1로 설정해야만 'awe enabled'를 변경할 수 있습니다.

사용자 삽입 이미지

-------------------------------------------

sp_Configure 'show advanced options',1
RECONFIGURE
go
sp_Configure 'awe enabled',1
RECONFIGURE
go

-------------------------------------------


9. MSSQL을 다시 시작해야 합니다.

   MSSQL을 다시 시작 한 후 메모리를 설정하겠습니다.


  총 4기가중 3.5기가만 사용하도록 설정하겠습니다. 1024*3  = 3584

사용자 삽입 이미지

-------------------------------------------

sp_Configure 'max server memory',3584
RECONFIGURE
go

-------------------------------------------


네트워크 응용 프로그램을 위해 데이터 처리량 최대화

10. 네트워크연결에서 '파일 공유를 위해 데이터 처리량 최대화' 옵션을 선택하면 운영체제에서 파일 시스템 캐시에 I/O페이지를 캐시하여 버퍼링된 I/O작업을 수행하는 응용 프로그램에 우선 순위를 부여합니다. 이 옵션은 정상적인 작업을 수행하는 동안 SQL Server에서 사용가능한 메모리를 제한할 수 있습니다.


제어판 -> 네트워크 연결 -> 로컬 영역 연결 -> 일반 탭 -> Microsoft 네트워크용파일 및 프린터 공유 -> 속성

'네트워크 응용 프로그램을 취해 데이터 처리량 최대화'를 선택하고 확인을 누릅니다.





확인하기

여기까지 준비가 완료되었습니다.


메모리가 3.5기가까지 올라가나 확인하기 위해 무식한 쿼리를 날려보았습니다.


사용자 삽입 이미지

무하하...저 가파르게 올라가는 메모리양을 보십시오!!

성공했습니다.


+ Recent posts