Windows의 MSSQL: '메모리의 페이지 잠금' 권한이 없어 Address Windowing Extensions를 사용할 수 없습니다.

Microsoft.SQLServer.Windows.EventRule.DBEngine.AWE__Could_not_use_Address_Windowing_Extensions_because__lock_pages_in_memory__privilege_was_not_granted_5_Rule (Rule)

'메모리의 페이지 잠금' 권한이 없어 SQL Server가 Address Windowing Extensions를 사용할 수 없는 경우 규칙이 알림을 트리거합니다.

Knowledge Base article:

요약

SQL Server에 대해 AWE를 구성하려면 먼저 메모리의 페이지 잠금 권한을 부여해야 합니다.

원인

SQL Server에서는 기본적으로 메모리의 페이지 잠금 옵션이 선택 해제되어 있습니다.

해결 방법

시스템 관리자 권한이 있는 경우 Windows 그룹 정책 도구(gpedit.msc)를 사용하여 수동으로 이 옵션을 사용하도록 설정하고 SQL Server가 실행 중인 계정에 이 권한을 할당할 수 있습니다.

그룹 정책 콘솔에서 컴퓨터 구성을 확장한 다음 Windows 설정을 확장합니다.

보안 설정을 확장한 다음 로컬 정책을 확장합니다.

사용자 권한 할당 폴더를 선택합니다.

세부 정보 창에 정책이 표시됩니다.

세부 정보 창에서 메모리의 페이지 잠그기를 두 번 클릭합니다.

로컬 보안 정책 설정 대화 상자에서 추가를 클릭합니다.

사용자 또는 그룹 선택 대화 상자에서 sqlservr.exe를 실행할 권한이 있는 계정을 추가합니다.

재정의 가능한 매개 변수

이름

설명

기본값

사용

워크플로 사용하거나 사용하지 않도록 설정합니다.

간격(초)

워크플로를 실행하는 반복 시간 간격(초)입니다.

300

우선 순위

알림 우선 순위를 정의합니다.

1

심각도

알림 심각도를 정의합니다.

2

동기화 시간

동기화 시간

 

시간 제한(초)

닫히고 실패한 것으로 표시되기 전에 워크플로를 실행할 수 있는 시간을 지정합니다.

200

데이터베이스 연결 시간 제한(초)

워크플로는 지정된 기간 동안 데이터베이스에 액세스할 수 없으면 실패하며 이벤트를 등록합니다.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Windows의 MSSQL: '메모리의 페이지 잠금' 권한이 없어 AWE(Address Windowing Extensions)를 사용할 수 없습니다.
{0}
CommentMom2017ID='{D2616971-B256-4F53-A630-48D833A03F5C}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.AWE__Could_not_use_Address_Windowing_Extensions_because__lock_pages_in_memory__privilege_was_not_granted_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{D2616971-B256-4F53-A630-48D833A03F5C}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>17179</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.AWE__Could_not_use_Address_Windowing_Extensions_because__lock_pages_in_memory__privilege_was_not_granted_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>