Windows의 MSSQL: 로그인 실패

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

잘못된 암호 또는 사용자 이름과 관련된 인증 실패로 인해 연결 시도가 거부되는 경우 클라이언트에 다음과 같은 메시지가 반환됩니다. "사용자 'user_name'이(가) 로그인하지 못했습니다. (Microsoft SQL Server, 오류: 18456)".

Knowledge Base article:

요약

잘못된 암호 또는 사용자 이름과 관련된 인증 실패로 인해 연결 시도가 거부되는 경우 클라이언트에 다음과 같은 메시지가 반환됩니다. "사용자 'user_name'이(가) 로그인하지 못했습니다. (Microsoft SQL Server, 오류: 18456)".

원인

보안을 강화하기 위해 클라이언트에 반환되는 오류 메시지에는 인증 오류의 특성이 의도적으로 숨겨져 있습니다. 그러나 SQL Server 오류 로그의 해당하는 오류에는 인증 실패 조건에 매핑되는 오류 상태가 포함되어 있습니다. 로그인 실패 이유를 확인하려면 오류 상태를 다음 목록과 비교하세요.

상태

설명

1

오류 정보를 사용할 수 없습니다. 이 상태는 일반적으로 오류 정보를 받을 수 있는 권한이 없음을 의미 합니다. 자세한 내용은 SQL Server 관리자에게 문의하세요.

2

사용자 ID가 유효하지 않습니다.

5

사용자 ID가 유효하지 않습니다.

6

Windows 로그인 이름을 SQL Server 인증에 사용하려고 했습니다.

7

로그인이 사용하지 않도록 설정되어 있고 암호가 올바르지 않습니다.

8

암호가 잘못되었습니다.

9

암호가 유효하지 않습니다.

11

로그인이 유효하지만 서버에 액세스하지 못했습니다. 이 오류의 가능한 원인 한 가지는 Windows 사용자가 로컬 관리자 그룹의 구성원으로 SQL Server에 액세스할 수 있지만 Windows에서 관리자 자격 증명을 제공하지 않는 경우입니다. 연결하려면 [관리자 권한으로 실행] 옵션을 사용하여 연결 프로그램을 시작한 후 Windows 사용자를 SQL Server에 특정 로그인으로 추가합니다.

12

로그인이 유효하지만 서버에 액세스하지 못했습니다.

18

암호를 변경해야 합니다.

다른 오류 상태가 존재하며 예기치 않은 내부 처리 오류를 나타냅니다.

해결 방법

재정의 가능한 매개 변수

이름

설명

기본값

사용

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

간격(초)

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

300

우선 순위

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

1

심각도

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

1

동기화 시간

동기화 시간

 

시간 제한(초)

여기서 지정한 시간 동안 워크플로가 실행된 후 워크플로가 닫히고 실패로 표시됩니다.

200

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

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

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Windows의 MSSQL: 로그인 실패
{0}

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.Login_failed__Account" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_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>18456</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Login_failed__Account.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>