SQL Server 2012: Security_error_ring_buffer_recorded: ImpersonateSecurityContext


10

Un par de servidores que administro registran muchos eventos en la sesión system_health XE.

El error_code 5023 debe ser ( Códigos de error del sistema ):

ERROR_INVALID_STATE    5023 (0x139F)

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

No tengo ningún evento de inicio de sesión fallido en el registro de seguridad de eventos, ni en el registro de SQL Server.


¿Se ha comunicado con el soporte de Microsoft o ha abierto un ticket? Esto parece un error interno.
Jon Seigel

¿Cuál es el número de compilación de su instancia y versión del sistema operativo?

Es un SQL 2012 simple con SP1: 11.00.3000.00. Quiero contactar al Soporte de MS tan pronto como esté seguro de que no es un error en mi configuración. Esperando comentarios aquí ...
Jens W.

Respuestas:


4

Voy a suponer que está buscando la definición y la causa raíz de estos eventos.

De cómo funciona: SQL Server 2005 SP2 Security Ring Buffer - RING_BUFFER_SECURITY_ERROR ( archivo ) :

SQL Server 2005 SP2 agregó nuevas entradas de buffer de anillo ( sys.dm_os_ring_buffers) para varios errores de seguridad. La razón por la que se agregaron las entradas del búfer en anillo fue para proporcionar al DBA más detalles sobre por qué un cliente recibe un inicio de sesión fallido u otro error similar.

Usted declara que no tiene entradas de inicio de sesión fallidas en el registro de eventos ni en el registro de errores. En su lugar, puede consultar este buffer de anillo directamente:

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

El tiempo de notificación podría arrojar algo de luz sobre la causa raíz.

Creo que encontrará que la fecha / hora de las entradas se alineará con las entradas de error de inicio de sesión en el registro de errores similar a:

"Error de inicio de sesión para el usuario 'dominio \ usuario'. Motivo: la validación de acceso al servidor basada en token falló con un error de infraestructura. Compruebe si hay errores anteriores. [CLIENTE:] Error: 18456 Gravedad: 14 Estado: 11."

Desde la resolución de problemas de mensajes de error específicos de inicio de sesión ( archivo ) :

El estado 11 corresponde a "Inicio de sesión válido pero error de acceso al servidor" que indica que el inicio de sesión es válido pero le faltan ciertos privilegios de seguridad que le otorgarían acceso a la instancia.

  1. Compruebe si ese inicio de sesión está directamente asignado a uno de los inicios de sesión de SQL Server mirando la salida de sys.server_principals.
  2. Si el inicio de sesión se asigna directamente a uno de los inicios de sesión disponibles en la instancia de SQL, compruebe si el SID del inicio de sesión coincide con el SID del inicio de sesión de Windows.

Si alguien dejó caer el inicio de sesión en el nivel de Windows / AD y lo agregó de nuevo, obtendrá un nuevo SID que no coincidirá con el SID que SQL ha almacenado en su catálogo del sistema y fallará.


1
El problema es: nuevo servidor, todas las cuentas nuevas y puedo iniciar sesión con ellas. Pero, sin embargo, docenas de tales eventos, sin ningún impacto claro. Intentaré leer el buffer de anillo lo antes posible.
Jens

3
He visto este mismo comportamiento en servidores que no son de AD y no están asociados con ningún error de inicio de sesión u otros errores. Solo está iniciando sesión en el búfer de anillo de error de seguridad e inunda system_health y no hay otras razones por las que ocurre.
Jonathan Kehayias
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.