MSSQL em Linux: não foi possível marcar o banco de dados como suspeito. Falha na verificação de Getnext NC no sysdatabases.dbid

Microsoft.SQLServer.Linux.EventRule.DBEngine.Could_not_mark_database_as_suspect._Getnext_NC_scan_on_sysdatabases.dbid_failed_1_5_Rule (Rule)

O processo de recuperação do SQL Server tentou ativar o sinalizador suspeito para o banco de dados especificado, mas não encontrou a linha apropriada no sysdatabases ou não pôde atualizar as informações do banco de dados na memória. O motivo pelo qual o banco de dados precisa ser marcado como suspeito deve ser indicado por outras mensagens no log de erros do SQL Server ou no Visualizador de Eventos.

Knowledge Base article:

Resumo

O processo de recuperação do SQL Server tentou ativar o sinalizador suspeito para o banco de dados especificado, mas não encontrou a linha apropriada no sysdatabases ou não pôde atualizar as informações do banco de dados na memória. O motivo pelo qual o banco de dados precisa ser marcado como suspeito deve ser indicado por outras mensagens no log de erros do SQL Server ou no Visualizador de Eventos.

Um banco de dados pode se tornar suspeito por vários motivos. As causas possíveis incluem negação de acesso a um recurso de banco de dados pelo sistema operacional e a não disponibilidade ou corrupção de um ou mais arquivos de banco de dados.

Resoluções

Analise o log de erros do SQL Server e o logs de eventos para obter mensagens indicando o motivo pelo qual o banco de dados precisou ser marcado como suspeito. Em seguida, resolva todos os problemas de integridade de dados do banco de dados.

Parâmetros Substituíveis

Nome

Descrição

Valor Padrão

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executar o fluxo de trabalho.

300

Prioridade

Define a Prioridade do Alerta.

1

Gravidade

Define a Severidade do Alerta.

2

Tempo de Sincronização

Tempo de Sincronização

 

Tempo Limite (em segundos)

Especifica o tempo que o fluxo de trabalho pode para ser executado antes de ser fechado e marcado como falha.

200

Tempo limite da conexão de banco de dados (segundos)

O fluxo de trabalho falhará e registrará um evento, se ele não conseguir acessar o banco de dados durante o período especificado.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL em Linux: não foi possível marcar o banco de dados como suspeito. Falha na verificação de Getnext NC no sysdatabases.dbid
{0}
CommentMom2017ID='{76A35FC2-AABD-412E-A238-649B9DBC235B}';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.Could_not_mark_database_as_suspect._Getnext_NC_scan_on_sysdatabases.dbid_failed_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{76A35FC2-AABD-412E-A238-649B9DBC235B}';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>3413</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.Could_not_mark_database_as_suspect._Getnext_NC_scan_on_sysdatabases.dbid_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>