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.
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.
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.
Ändern Sie die Verbindungszeichenfolge so, dass immer eine bestimmte Datenbank angegeben wird.
Überprüfen Sie, ob die für jede Anmeldung definierte Standarddatenbank weiter vorhanden ist und auf sie zugegriffen werden kann. Überprüfen Sie das SQL Server-Fehlerprotokoll, um zu bestimmen, warum auf eine bestimmte Datenbank nicht zugegriffen werden kann.
Verwenden Sie ein Tool wie OSQL, um eine bestimmte Datenbank während der ersten Verbindung anzugeben. Führen Sie nach dem Herstellen der Verbindung sp_defaultdb aus, um die Standarddatenbank für Ihren Anmeldenamen in eine Datenbank zu ändern, auf die aktuell zugegriffen werden kann.
Melden Sie sich mit einem Konto an, das Mitglied der festen Serverrolle sysadmin oder securityadmin ist, und führen Sie sp_defaultdb aus, um die Standarddatenbank für die fehlerhafte Anmeldung in eine Datenbank zu ändern, auf die zugegriffen werden kann. Weitere Informationen zu Standarddatenbanken finden Sie in der Onlinedokumentation unter "sp_defaultdb" sowie im Microsoft Knowledge Base-Artikel 307864.
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 |
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>
<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>