MSSQL 2016: Não é possível determinar a conta de serviço da instância do SQL Server

Microsoft.SQLServer.2016.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

Prioridade

Define a Prioridade do Alerta.

1

Gravidade

Define a Severidade do Alerta.

1

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID14353
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: Não é possível determinar a conta de serviço da instância do SQL Server
{0}
Event LogApplication
CommentMom2016ID='{9F3F26E8-EB1A-479F-A53F-BA44C789022D}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2016.Cannot_determine_the_service_account_for_SQL_Server_instance_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{9F3F26E8-EB1A-479F-A53F-BA44C789022D}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>14353</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Cannot_determine_the_service_account_for_SQL_Server_instance_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>