MSSQL em Linux: não é possível determinar a conta de serviço para a instância do SQL Server

Microsoft.SQLServer.Linux.EventRule.DBEngine.Cannot_determine_the_service_account_for_SQL_Server_instance_1_5_Rule (Rule)

Este erro ocorre quando uma instrução Transact-SQL contém aspas simples ou duplas não correspondentes. A configuração SET QUOTED_IDENTIFIER determinará as combinações válidas de aspas simples e duplas. Para obter mais informações sobre SET QUOTED_IDENTIFIER, consulte os tópicos nos manuais online sobre SET QUOTED_IDENTIFIER.

Knowledge Base article:

Causas

Este erro ocorre quando uma instrução Transact-SQL contém aspas simples ou duplas não correspondentes. A configuração SET QUOTED_IDENTIFIER determinará as combinações válidas de aspas simples e duplas. Para obter mais informações sobre SET QUOTED_IDENTIFIER, consulte os tópicos nos manuais online sobre SET QUOTED_IDENTIFIER.

Cada sinal de aspas simples ou duplas usado para marcar o início de uma cadeia de caracteres literal deve ter um sinal de aspas correspondente, do mesmo tipo, para marcar o fim da cadeia. Um sinal de aspas simples não pode ser combinado com um sinal de aspas duplas para delimitar uma única cadeia de caracteres literal.

As aspas que fazem parte da cadeia de caracteres literal são tratadas de modo diferente. Se um sinal de aspas simples (') fizer parte da cadeia de caracteres literal, ele poderá ser representado por duas aspas simples (''). Se uma cadeia de caracteres literal for delimitada por aspas duplas e SET QUOTED_IDENTIFIER estiver definido como OFF, a cadeia de caracteres poderá conter sinais de aspas simples inseridos, como apóstrofos. Se uma cadeia de caracteres literal for delimitada por aspas simples e SET QUOTED_IDENTIFIER estiver definido como ON ou OFF, a cadeia de caracteres poderá conter aspas duplas inseridas.

Se você não colocar o tipo e o número corretos de aspas em cada local do código, o SQL Server retornará o erro acima, possivelmente com a mensagem de erro "Sintaxe incorreta próxima a %".

Para obter mais informações sobre como gerenciar aspas em códigos, consulte estes artigos da Base de Dados de Conhecimento Microsoft:

311023 e 311021.

Para obter exemplos de uso de aspas, consulte os tópicos nos Manuais Online sobre SET QUOTED_IDENTIFIER.

Resoluções

SELECT SESSIONPROPERTY('QUOTED_IDENTIFIER')

Dependendo de suas necessidades, talvez você precise alterar a configuração com SET QUOTED_IDENTIFIER ON/OFF.

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.

1

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 SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL em Linux: não é possível determinar a conta de serviço para a instância do SQL Server
{0}
CommentMom2017ID='{9F3F26E8-EB1A-479F-A53F-BA44C789022D}';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_determine_the_service_account_for_SQL_Server_instance_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{9F3F26E8-EB1A-479F-A53F-BA44C789022D}';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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>14353</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.Cannot_determine_the_service_account_for_SQL_Server_instance_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>