SQL Server 2012: Security_error_ring_buffer_recorded: ImpersonateSecurityContext

10

alguns servidores que eu gerencio estão gravando muitos eventos na sessão system_health XE.

O error_code 5023 deve ser ( códigos de erro do sistema ):

ERROR_INVALID_STATE    5023 (0x139F)

The group or resource is not in the correct state to perform the requested operation.

Não ocorreu nenhum evento de logon com falha no log de segurança do evento nem no log do SQL Server.

Jens W.
fonte
Você entrou em contato com o suporte da Microsoft ou abriu um ticket? Parece um erro interno.
23914 Jon Seigel
Qual é o número de compilação da sua instância e versão do SO?
É um SQL 2012 simples com SP1: 11.00.3000.00. Desejo entrar em contato com o suporte da MS assim que tiver certeza de que não há erro na minha instalação. Esperando para o gabarito aqui ...
Jens W.

Respostas:

4

Eu vou assumir que você está procurando a definição e a causa raiz desses eventos.

De como funciona: Buffer de anel de segurança do SQL Server 2005 SP2 - RING_BUFFER_SECURITY_ERROR ( arquivo morto ) :

O SQL Server 2005 SP2 adicionou novas entradas de buffer de anel ( sys.dm_os_ring_buffers) para vários erros de segurança. A razão pela qual as entradas do buffer de anel foram adicionadas foi fornecer ao DBA mais detalhes sobre o motivo pelo qual um cliente está recebendo um logon com falha ou outro erro desse tipo.

Você declara que não teve entradas de logon com falha no log de eventos nem no log de erros. Em vez disso, você pode consultar esse buffer de anel diretamente:

SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
dateadd (ms, (a.[Record Time] - sys.ms_ticks), GETDATE()) as [Notification_Time],
a.* , sys.ms_ticks AS [Current Time]
FROM
(SELECT
x.value('(//Record/Error/ErrorCode)[1]', 'varchar(30)') AS [ErrorCode],
x.value('(//Record/Error/CallingAPIName)[1]', 'varchar(255)') AS [CallingAPIName],
x.value('(//Record/Error/APIName)[1]', 'varchar(255)') AS [APIName],
x.value('(//Record/Error/SPID)[1]', 'int') AS [SPID],
x.value('(//Record/@id)[1]', 'bigint') AS [Record Id],
x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type],
x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_SECURITY_ERROR') AS R(x)) a
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

O tempo de notificação pode lançar alguma luz sobre a causa raiz.

Acho que você descobrirá que a data / hora das entradas se alinhará com as entradas de falha de login no log de erros semelhante a:

"Falha no logon para o usuário 'domínio \ usuário'. Motivo: a validação de acesso ao servidor baseado em token falhou com um erro de infraestrutura. Verifique se há erros anteriores. [CLIENT:] Erro: 18456 Gravidade: 14 Estado: 11."

Na solução de problemas de mensagens de erro com falha de logon específico ( arquivo morto ) :

O estado 11 corresponde a "Login válido, mas falha no acesso ao servidor", que indica que o login é válido, mas faltam certos privilégios de segurança que concederiam acesso à instância.

  1. Verifique se esse logon está diretamente mapeado para um dos logons do SQL Server, procurando na saída de sys.server_principals.
  2. Se o logon for mapeado diretamente para um dos logons disponíveis na instância SQL, verifique se o SID do logon corresponde ao SID do logon do Windows.

Se alguém abandonou o login no nível do Windows / AD e o adicionou novamente, ele obterá um novo SID que não corresponderá ao SQL do SID armazenado no catálogo do sistema e falhará.

stacylaray
fonte
11
O problema é: novo servidor, todas as contas novas e eu consigo entrar com elas. Mas ainda assim dezenas de eventos - sem impacto claro / nenhum. Vou tentar ler o buffer do anel o mais rápido possível.
Jens W.
3
Eu já vi esse mesmo comportamento em servidores que não são do AD e eles não estão associados a nenhuma falha de logon ou outros erros. Ele está apenas efetuando login no buffer do anel de erro de segurança e inunda system_health e não há outros motivos para isso ocorrer.
Jonathan Kehayias 15/06