MSSQL für Linux: Standardbenutzerdatenbank kann nicht geöffnet werden. Fehler bei Anmeldung.

Microsoft.SQLServer.Linux.EventRule.DBEngine.Cannot_open_user_default_database._Login_failed_1_5_Rule (Rule)

Wenn ein Client eine Verbindung mit einer SQL Server-Instanz herstellt, ohne einen Datenbankkontext anzugeben, wird die für die Anmeldung definierte Standarddatenbank verwendet. Wenn diese Datenbank aus irgendeinem Grund nicht verfügbar ist, wird die oben angegebene Meldung angezeigt.

Knowledge Base article:

Zusammenfassung

Wenn ein Client eine Verbindung mit einer SQL Server-Instanz herstellt, ohne einen Datenbankkontext anzugeben, wird die für die Anmeldung definierte Standarddatenbank verwendet. Wenn diese Datenbank aus irgendeinem Grund nicht verfügbar ist, wird die oben angegebene Meldung angezeigt.

Hinweis: Wenn das Anmeldekonto Mitglied mindestens einer Linux-Gruppe ist, die auch für die Anmeldung innerhalb von SQL Server definiert ist, kann die Standarddatenbank für eine dieser Gruppen verwendet werden. Es kann nicht zuverlässig vorausgesagt werden, welche dieser Standarddatenbanken während eines Anmeldeversuchs ausgewählt wird. Es ist deshalb wichtig, die Gruppenmitgliedschaft für das Anmeldekonto und anschließend die Standarddatenbanken für alle Gruppen im Hinblick auf ihre vollständige Verfügbarkeit zu überprüfen.

Lösungen

Sie müssen den Zugriff auf die Standarddatenbank ermöglichen, oder Sie sollten die Verwendung dieser Datenbank vermeiden. Ihnen stehen folgende Optionen zur Verfügung:

Weitere Informationen zu Standarddatenbanken finden Sie unter "sp_defaultdb" in der Onlinedokumentation sowie im Microsoft Knowledge Base-Artikel 307864.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

2

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

200

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL für Linux: Standardbenutzerdatenbank kann nicht geöffnet werden. Fehler bei Anmeldung.
{0}
CommentMom2017ID='{4FFA6A6A-3E49-468E-8C4A-DF5029908802}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

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.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>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<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>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>