MSSQL 2016: не удается открыть базу данных пользователя по умолчанию. Ошибка входа

Microsoft.SQLServer.2016.Cannot_open_user_default_database._Login_failed_1_5_Rule (Rule)

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

Knowledge Base article:

Сводка

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

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

Решения

Вам нужно либо сделать доступной базу данных по умолчанию или не использовать эту конкретную базу данных. Возможные варианты:

Дополнительные сведения о базах данных по умолчанию см. в разделе sp_defaultdb электронной документации и в статье 307864 базы знаний Майкрософт.

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

Название

Описание

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

Включено

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

Да

Приоритет

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

1

Серьезность

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

2

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID4064
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: не удается открыть базу данных пользователя по умолчанию. Ошибка входа
{0}
Event LogApplication
CommentMom2016ID='{4FFA6A6A-3E49-468E-8C4A-DF5029908802}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2016.Cannot_open_user_default_database._Login_failed_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{4FFA6A6A-3E49-468E-8C4A-DF5029908802}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>4064</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Cannot_open_user_default_database._Login_failed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>