MSSQL на Linux: ошибка входа

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

Если попытка подключения отклонена, так как не пройдена проверка подлинности из-за неправильного пароля или имени пользователя, клиент получает сообщение, аналогичное следующему: "Произошел сбой при входе пользователя "имя_пользователя". (Microsoft SQL Server, ошибка: 18456)".

Knowledge Base article:

Сводка

Если попытка подключения отклонена, так как не пройдена проверка подлинности из-за неправильного пароля или имени пользователя, клиент получает сообщение, аналогичное следующему: "Произошел сбой при входе пользователя "имя_пользователя". (Microsoft SQL Server, ошибка: 18456)".

Причины

Для повышения безопасности в сообщении об ошибке, возвращаемом клиенту, намеренно не указывается причина непройденной проверки подлинности. Но в журнале ошибок SQL Server содержится состояние соответствующей ошибки, которое сопоставляется с условием непройденной проверки подлинности. Найдите состояние ошибки в следующем списке, чтобы определить причину невыполненного входа.

Состояние

Описание

1

Сведения об ошибке недоступны. Это состояние обычно означает, что у вас нет прав на получение сведений об ошибке. За дополнительными сведениями обратитесь к администратору SQL Server.

2

Недопустимый идентификатор пользователя.

5

Недопустимый идентификатор пользователя.

6

Предпринята попытка использовать имя для входа Linux с проверкой подлинности SQL Server.

7

Имя для входа отключено, пароль указан неправильно.

8

Неправильный пароль.

9

Недействительный пароль.

11

Имя для входа допустимо, но доступ к серверу запрещен. Возможная причина: у пользователя Linux есть доступ к SQL Server как у участника группы локальных администраторов, но Linux не предоставляет учетные данные администратора. Для подключения запустите программу подключения с помощью параметра "Запуск от имени администратора" и добавьте пользователя Linux с его учетными данными в SQL Server.

12

Имя для входа допустимо, но доступ к серверу запрещен.

18

Необходимо изменить пароль.

Существуют другие состояния ошибок, которые указывают на непредвиденную внутреннюю ошибку обработки.

Разрешения

Переопределяемые параметры

Имя

Описание

Значение по умолчанию

Включено

Включает или отключает рабочий процесс.

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс.

300

Приоритет

Определение приоритета оповещений.

1

Важность

Определяет серьезность предупреждения.

1

Время синхронизации

Время синхронизации

 

Время ожидания (в секундах)

Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем.

200

Время ожидания для подключения к базе данных (секунды)

Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL на Linux: ошибка входа
{0}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Login_failed__Account" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" TypeID="Microsoft.SQLServer.Linux.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>
<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.Linux.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>