Когда клиент подключается к экземпляру SQL Server без указания контекста базы данных, используется база данных по умолчанию, определенная для учетных данных клиента. Приведенное выше сообщение появляется, если эта база данных недоступна по какой-либо причине.
Когда клиент подключается к экземпляру SQL Server без указания контекста базы данных, используется база данных по умолчанию, определенная для учетных данных клиента. Приведенное выше сообщение появляется, если эта база данных недоступна по какой-либо причине.
Примечание. Если эта учетная запись входа является членом одной группы Linux или нескольких групп, которые также определены как учетные записи входа в SQL Server, то может использоваться база данных по умолчанию для одной из таких групп. Не существует надежного способа прогнозирования того, какая из баз данных по умолчанию будет выбрана при попытке входа. Поэтому важно проверять членство в группе этой учетной записи входа, а затем набор баз данных по умолчанию для всех групп, чтобы определить доступность всех таких баз данных.
Необходимо сделать базу данных по умолчанию доступной или избегать использования этой конкретной базы данных. Доступные варианты:
Дополнительные сведения о базах данных по умолчанию см. в разделе sp_defaultdb электронной документации и в статье 307864 базы знаний Майкрософт.
Измените применяемую строку подключения и всегда указывайте конкретную базу данных.
Убедитесь, что для каждой учетной записи входа база данных по умолчанию существует и доступна. Просмотрите журнал ошибок SQL Server, чтобы определить причину недоступности конкретной базы данных.
С помощью такого средства, как OSQL, укажите конкретную базу данных во время первоначального подключения. После подключения выполните процедуру sp_defaultdb, чтобы изменить базу данных по умолчанию для своей учетной записи входа на доступную в данный момент базу данных.
Войдите с учетной записью, являющейся членом предопределенной роли сервера sysadmin или securityadmin, и выполните процедуру sp_defaultdb, чтобы изменить базу данных по умолчанию для неудачного входа на доступную базу данных. Дополнительные сведения о базах данных по умолчанию см. в разделе sp_defaultdb электронной документации и в статье 307864 базы знаний Майкрософт.
Имя | Описание | Значение по умолчанию |
Включено | Включает или отключает рабочий процесс. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс. | 300 |
Приоритет | Определение приоритета оповещений. | 1 |
Важность | Определяет серьезность предупреждения. | 2 |
Время синхронизации | Время синхронизации |
|
Время ожидания (в секундах) | Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем. | 200 |
Время ожидания для подключения к базе данных (секунды) | Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени. | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{4FFA6A6A-3E49-468E-8C4A-DF5029908802}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Cannot_open_user_default_database._Login_failed_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{4FFA6A6A-3E49-468E-8C4A-DF5029908802}';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.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>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>4064</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.Cannot_open_user_default_database._Login_failed_1_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>