MSSQL per Windows: Accesso non riuscito

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

Quando un tentativo di connessione viene rifiutato a causa di un errore di autenticazione dovuto a una password o un nome utente errati, al client viene restituito un messaggio simile al seguente: "Accesso non riuscito per l'utente 'nome_utente'. (Microsoft SQL Server, errore: 18456)".

Knowledge Base article:

Riepilogo

Quando un tentativo di connessione viene rifiutato a causa di un errore di autenticazione dovuto a una password o un nome utente errati, al client viene restituito un messaggio simile al seguente: "Accesso non riuscito per l'utente 'nome_utente'. (Microsoft SQL Server, errore: 18456)".

Cause

Per aumentare la sicurezza, il messaggio di errore restituito al client nasconde deliberatamente la natura dell'errore di autenticazione. Tuttavia, l'errore corrispondente nel log degli errori di SQL Server contiene lo stato di errore che mappa a una condizione di errore di autenticazione. Confrontare lo stato di errore con l'elenco seguente per determinare il motivo dell'errore di accesso.

Stato

Descrizione

1

Le informazioni sull'errore non sono disponibili. Questo stato significa in genere che non si è autorizzati a ricevere i dettagli dell'errore. Contattare l'amministratore di SQL Server per altre informazioni.

2

L'ID utente non è valido.

5

L'ID utente non è valido.

6

Si è provato a usare il nome di un account di accesso di Windows con l'autenticazione di SQL Server.

7

L'account di accesso è disabilitato e la password non è corretta.

8

La password non è corretta.

9

La password non è valida.

11

L'account di accesso è valido ma l'accesso al server non è riuscito. Questo errore può verificarsi quando l'utente Windows accede a SQL Server come membro del gruppo di amministratori locale ma Windows non fornisce le credenziali di amministratore. Per connettersi, avviare il programma con l'opzione Esegui come amministratore, quindi aggiungere l'utente Windows a SQL Server come account di accesso specifico.

12

L'account di accesso è valido ma l'accesso al server non è riuscito.

18

È necessario cambiare la password.

Esistono altri stati di errore che indicano un errore di elaborazione interna imprevisto.

Risoluzioni

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Attivato

Abilita o disabilita il flusso di lavoro.

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

300

Priorità

Definisce la priorità dell'avviso.

1

Gravità

Definisce la gravità dell'avviso.

1

Tempo di sincronizzazione

Tempo di sincronizzazione

 

Timeout (secondi)

Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito.

200

Timeout per la connessione di database (secondi)

Il flusso di lavoro avrà esito negativo e registrerà un evento se non riesce ad accedere al database durante il periodo specificato.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL per Windows: Accesso non riuscito
{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="true" 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>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<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>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>