in den letzten paar Tagen kam es öfter zu Tabellensperrungen (für ca. 30 Minuten) , habe da jetzt mal geschaut und gesehen dass ein SQL TimeOut passiert.
Betroffen ist die Tabelle [Session Events].
- Code: Alles auswählen
declare @result int;
EXEC @result = sp_getapplock @Resource = 'SessionEventTableMaintenance', @LockMode ='Exclusive', @LockTimeout=0;
IF @result = 0 DELETE FROM [DB_Live].[dbo].[Session Event]
WHERE NOT EXISTS
(SELECT 1 FROM
[DB_Live].[dbo].[Active Session] AS acs WITH(NOLOCK)
WHERE
acs.[User SID] = [DBLive].[dbo].[Session Event].[User SID]
AND acs.[Server Instance ID] = [DB_Live].[dbo].[Session Event].[Server Instance ID]
AND acs.[Session ID] = [DB_Live].[dbo].[Session Event].[Session ID]
AND acs.[Session Unique ID] = [DB_Live].[dbo].[Session Event].[Session Unique ID]
AND acs.[Login Datetime] = [DB_Live].[dbo].[Session Event].[Event Datetime])
AND DATEDIFF(Month, [Event Datetime], GETUTCDATE()) >= @0
;
Hab dann hier eine Info gefunden.
Demnach ist es eine reine Log Tabelle welche sporadisch von NAV geleert wird. Anders als bei dem Link finde ich bei uns die Optionen: Session Event Table Purge und Session Event Table Retain Period nicht.
Die Option um das Problem zu lösen scheint die Anlage eines SQL Job. Und damit kann man auch nichts kaputt machen(löschen)? :D
Wo in NAV werden die Daten aus dieser Tabelle eigentlich herrangezogen zur Auswertung? Oder sind das reine SQL Daten?
Danke