Bu olayların tanımını ve temel nedenini aradığınızı varsayacağım.
Gönderen Nasıl Çalışır: SQL Server 2005 SP2 Güvenlik Halkası Tampon - RING_BUFFER_SECURITY_ERROR ( arşiv ) :
SQL Server 2005 SP2 sys.dm_os_ring_buffers
, çeşitli güvenlik hataları için yeni halka arabelleği girdileri ( ) ekledi . Ring buffer girişlerinin eklenmesinin nedeni, DBA'ya bir istemcinin neden başarısız bir oturum açma veya benzeri bir hata aldığına ilişkin daha fazla bilgi sağlamaktı.
Olay günlüğünde veya hata günlüğünde başarısız giriş girişi olmadığını belirtirsiniz. Bunun yerine bu halka arabelleğini doğrudan sorgulayabilirsiniz:
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
Bildirim süresi kök nedene biraz ışık tutabilir.
Ben girişlerin tarih / saat hata günlüğüne benzer hata günlüğü giriş girişleri ile aynı hizaya olacağını düşünüyorum:
"'Domain \ user' kullanıcısı için oturum açılamadı. Sebep: Belirteç tabanlı sunucu erişim doğrulaması bir altyapı hatasıyla başarısız oldu. Önceki hataları kontrol edin. [İSTEMCİ:] Hata: 18456 Şiddet: 14 Durum: 11."
Gönderen Giderme özgü Giriş Başarısız hata iletileri ( arşiv ) :
Durum 11 , oturum açmanın geçerli olduğunu ancak örneğe erişmesine izin verecek bazı güvenlik ayrıcalıklarının eksik olduğunu belirten "Geçerli oturum açma ancak sunucu erişim hatası" na karşılık gelir .
- Sys.server_principals çıktısına bakarak bu girişin doğrudan SQL Server oturum açmalarından birine eşlenip eşlenmediğini kontrol edin.
- Oturum açma, SQL örneğindeki kullanılabilir oturum açma işlemlerinden biriyle doğrudan eşlenirse, oturum açma işleminin SID değerinin Windows Oturum Açma İşleminin SID değeriyle eşleşip eşleşmediğini denetleyin.
Birisi oturum açma işlemini Windows / AD düzeyinde bırakıp geri eklerse, sistem kataloğunda depolanan SID SQL ile eşleşmeyen yeni bir SID alır ve başarısız olur.