Falls OMExecute.exe-Prozesse unerwartet abbrechen (z. B. durch System-Neustart bei noch laufenden Anträgen), bleiben die abgebrochenen Anträge in der Queue stehen.
Um Anträge, zu denen es keine laufende OMExecute.exe mehr gibt, aus der Queue zu entfernen, kann folgendes SQL-Script benutzt werden (VOR AUSFÜHRUNG DISPATCHER-DIENST STOPPEN UND AUF GGF. LAUFENDE OMEXECUTE-PROZESSE PRÜFEN):
Declare @TableRequests Table (RequestId int, MyRowCount Int Identity(1,1))
Declare @i Int, @MaxI Int, @RequestId int
Insert into @TableRequests
Select id
From tblQueueRequest
Where (Status='processing')
Select @MaxI = @@RowCount, @i = 1
While @i <= @MaxI
Begin
Select @RequestId = RequestId from @TableRequests where MyRowCount = @i
exec sp_DelQueueRequest @RequestId
Select
@i = @i + 1, @RequestId = null
End
Da gelöschte Anträge im Protokoll nicht mehr eingesehen werden können, gibt es auch die Möglichkeit, verwaiste Anträge ins Log zu übertragen. Hierzu ist es notwendig in der Warteschlange des OMHome die RequestId des Mantel-und ggf. des Unterantrags zu ermitteln, bei dem die Ausführung abgebrochen wurde. Anschließend können die Aträge durch Ausführung des folgenden Befehls ins Log kopiert werden:
exec sp_CopyToLog RequestId