Event 9646
Oftmals ist es ein Programm, welches die CDO.DLL (MAPI/CDO) nutzt. Beachten Sie, dass hier die aktuellste Version eingesetzt werden sollte. Gerade das Update Okt 2010 hat hier noch Korrekturen gebracht.
Lifting the 500 Folder Limit in Outlook
https://blog-insider.office.com/2019/06/04/lifting-the-500-folder-limit-in-outlook/
Seit Exchange 2003 kann es sein, dass manchmal ein neuer Eintrag im Eventlog ihres Servers auftaucht.
Ereignistyp: Fehler Ereignisquelle: MSExchangeIS Ereigniskategorie: Allgemein Ereigniskennung: 9646 Benutzer: Nicht zutreffend Computer: SRV01 Beschreibung: Die MAPI-Sitzung "/o=MSXFAQ/ou=Erste administrative Gruppe/cn=Recipients/cn=User1" hat die maximal zulässige Anzahl von 250 Objekten vom Typ "objtFolder" überschritten
oder
Ereignistyp: Fehler Ereignisquelle: MSExchangeIS Ereigniskategorie: Allgemein Ereigniskennung: 9646 Datum: 27.05.2005 Zeit: 09:06:23 Benutzer: Nicht zutreffend Computer: SRV01 Beschreibung: Die MAPI-Sitzung "/o=MSXFAQ/ou=Erste administrative Gruppe/cn=Recipients/cn=User1" hat die maximal zulässige Anzahl von 32 Objekten vom Typ "session" überschritten.
Diese Fehlermeldung ist als Warnung und Information zu verstehen, dass der angegebene Client aus Sicht von Exchange zu viele Elemente gleichzeitig geöffnet hat.
Natürlich ist es erst mal Aufgabe von Exchange, für die Anwender alle Dienste möglichst zügig und zuverlässig bereit zu stellen. Dafür muss Exchange aber auch jedes Objekte, welches ein Anwender anfordert aus der Datenbank suchen und vorhalten. Hierfür reserviert Exchange etwas Speicher. Damit wäre es für einen Angreifer natürlich möglich, z.B. einfach 10000 Mails gleichzeitig zu öffnen um den Exchange Server damit etwas ins Schwitzen zu bringen. Seit Exchange 2003 schützt sich Exchange damit, dass der Anwender nicht mehr als eine konfigurierte Anzahl von Objekten gleichzeitig geöffnet haben darf. Die Standardeinstellung besagt, dass eine Verbindung maximal 100 Ordner und 250 Mailelemente gleichzeitig offen halten darf. Versucht der Client mehr zu öffnen, quittiert der Server das dem Client mit einem Fehler der dann darauf reagiert.
Ursachenforschung
Nun stellt Sie die Frage, wie es denn dazu kommen kann, dass eine Sitzung wirklich 250 "Mails" gleichzeitig offen hat. Eine solche Informationsflut kann ja niemand mehr auf dem Bildschirm wirklich darstellen. Aber 250 Mail Elemente bedeutet nicht, dass ein Anwender mit Outlook auch 250 Fenster geöffnet hat, sondern dass Outlook oder jede andere Anwendung eben so viele Elemente anliest und dafür gibt es mehrere Gründe:
- Ansicht auf den eigenen Kalender
Wenn Sie in ihren "Kalender" schauen, dann "liest" Outlook auch im Kalender all die Elemente an, die er anzeigen muss. d.h. wenn Sie die Monatsansicht mit 30 Tagen und 3 Termine je Tag haben, dann sind Sie schon bei 90 geöffneten Mailobjekten. Outlook muss ja die Terminbeschreibung "lesen".
Weil dass aber schon länger so ist, hat Outlook schon sehr früh speziell den Kalender in eine OST-Datei repliziert und von dort geöffnet (Auch ohne explizit aktivierten Offline Mode), so dass das heute sehr selbst passiert. - Terminplanung und fremde Kalender
Das wird um so deutlicher, wenn z.B.: ein Sekretariat mehrere Terminkalender verschiedener Leute in einer Vorschau anzeigt oder einen Termin plant und in den Frei/Belegt Seiten auch die Termindetails angezeigt werden. - Suche durch den Client
Aber was natürlich weiter möglich ist, sind Client, die z.B.: nach Mails suchen und dazu nicht die erweiterte Suche mit dem Exchange Index oder Sharepoint nutzen oder die ihr Postfach replizieren. Das "öffnet" natürlich auch viele Mails auf einmal. Das kann auch passieren, wenn Sie z.B. Desktop Suchmaschinen a la Lookout oder die MSN Suche einsetzen. - Eigene Programme
Manchmal ist es aber auch einfach eine selbst entwickelte Anwendung, die über Outlook auf Inhalte zugreift und die verwendeten Puffer nicht wieder ordentlich frei gibt. - Synchronisation
Auch eine Synchronisation z.B.: mit einen mobilen Gerät kann bei unsauberer Programmierung diese Meldung verursachen. (PALM, Mobiltelefon, o.ä.) - Netzwerkfehler
Manchmal ist es auch einfach das Netzwerk, dass weitere Sitzungen aufgebaut werden. (Siehe auch KB898060) - SQL-Mail
Auch der SQL-Server kann per MAPI Mails senden. Dabei startet jeder Prozess eine eigene Session, so dass die 32 Sessions schnell erreicht sein können. - WAN Accelerator
Es gibt mitterlweile Router und Geräte, die WAN-Traffic minimieren, indem Sie die Anfragen abfangen, weiter Cachen und damit sogar Dateizugriffe auf IP-Level optimiere. Siehe auch Troubleshooting Outlook RPC dialog boxes - revisited http://blogs.technet.com/b/exchange/archive/2008/05/02/3405434.aspx.
Insofern wenn es sonst keine Probleme gibt kann man diese Meldung ignorieren und mal beobachten, was der Anwender denn da mit Exchange macht. Abhilfe könnte Outlook 2003 mit Cached Mode schaffen, welches die meisten Anfragen dann lokal beantwortet.
Suche per PowerShell
Sie können natürlich mit Tools wie EventCombMT auch mehrere Server per GUI durchsuchen. Ich bin aber ein Freund der Powershell und seit Get-WinEvent ist das sehr einfach möglich. Hier ein Beispiel:
Get-ExchangeServer ` | %{ get-winevent ` -ComputerName $_.name ` -FilterHashTable @{LogName = "Application"; ID = 9646; Providername="MSExchangeIS"} }
Oder etwas besser aufbereitet
$serverlist = get-exchangeserver | select name -expandproperty name Invoke-Command ` -ScriptBlock {get-winevent -FilterHashTable @{LogName = "Application"; ID = 9646; Providername="MSExchangeIS"}} ` -ComputerName $serverlist ` | %{$_.message -match "Mapi Session.*cn=(.*)"| out-null; $matches[1]} ` | group -noelement ` | ft -autosize
So erhalten Sie von allen Exchange Servern in ihrer Topologie alle entsprechenden Events. Sie können natürlich mit Get-WinEvent noch weiter filtern (z.B. Start/Endezeit) und die Ausgaben weiter verarbeiten.
- PowerShell Beispiele : Eventlog
- Use FilterHashTable to Filter Event Log
with PowerShell
https://blogs.technet.microsoft.com/heyscriptingguy/2014/06/03/use-filterhashtable-to-filter-event-log-with-powershell/ - User PowerShell CMDLet to filter
eventlog for easy parsing
https://blogs.technet.microsoft.com/heyscriptingguy/2011/01/24/use-powershell-cmdlet-to-filter-event-log-for-easy-parsing/
Anpassen der Limits
Natürlich sind diese Grenzwerte von Microsoft nicht willkürlich gewählt worden, sondern dürften in den meisten Fällen sowieso nicht erreicht werden. für die Anwender oder Prozesse, die davon jedoch betroffen sind, ist es zumindest störend und bitten um Abhilfen. Sie können die Grenzwerte natürlich auch anpassen. Trotzdem sollten Sie eher die Ursache ausfindig machen. Vielleicht ist es ja doch ein Mailwurm oder eine andere Software, die so viel Last macht, dass die Leistung ihres Exchange Servers für andere Anwender beeinträchtigt ist. Dann wäre die Änderung der Grenzen gerade kontraproduktiv.
Die Anpassung der Grenzen erfolgt in der Registrierung:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem] "Maximum Allowed Sessions Per User"=dword:00000020
Die Werte sind auch in folgendem KB-Artikel noch einmal genauer beschrieben.
- 830829 Your Exchange Server 2003 computer may stop responding after a MAPI client opens more than the default value of certain server objects
- Grenzwerte für den Exchange-Informationsspeicher
https://technet.microsoft.com/de-de/library/ff477612(v=exchg.141).aspx
Sie können in einem Unterschlüssel damit noch feiner die Grenzen für die verschiedenen Objekte steuern. Hier eine REG-Datei, die die Standardwerte (Exchange 2003 SP1) einträgt. ändern Sie die Werte bitte nicht ohne genaue Analyse vorher ab. EXMON und andere Werkzeuge können ihnen dabei helfen, die Ursache zu ermitteln, welcher Client an die Grenzen stößt und warum das so ist.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem] "Maximum Allowed Sessions Per User"=dword:00000020 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\MaxObjsPerMapiSession] "objtMessage"=dword:000000FA "objtFolder"=dword:000001F4 "objtAttachment"=dword:000001F4 "objtFolderView"=dword:000001F4 "objtMessageView"=dword:000001F4 "objtAttachView"=dword:000001F4 "objtStream"=dword:000000FA "objtACLView"=dword:0000032 "objtRulesView"=dword:0000032 "objtFXSrcStrm"=dword:0000032 "objtFXDstStrm"=dword:0000032 "objtCStream"=dword:0000032 "objtNotify"=dword:0007A120
Weitere Links
- 830829 Your Exchange Server 2003 computer may stop responding after a MAPI client opens more than the default value of certain server objects
- 830836 Event ID 9646 is logged when you try to send many messages in Exchange Server 2003
- 842022 Event ID 9646 is logged in the application event log of your Exchange Server 2003 computer when a client opens many MAPI sessions
- 905184 Exchange 2000 Server and Exchange Server 2003 performance may be affected when desktop search engine software is running on Outlook or other MAPI client computers
- 898060 Installing security Update MS05-019 or Windows Server 2003 Service Pack 1 may cause network connectivity between clients and servers to fail
- 925815 An Exchange 2007 server stops responding to a MAPI client and logs event ID 9646 in the Application log 9646
- Troubleshooting Outlook RPC dialog boxes - revisited
http://blogs.technet.com/b/exchange/archive/2008/05/02/3405434.aspx - Lifting the 500 Folder Limit in Outlook
https://blog-insider.office.com/2019/06/04/lifting-the-500-folder-limit-in-outlook/ - EVENT ID 9646 AND CONVERTING MsexchMailboxGuid from the Event Message
http://blogs.technet.com/b/ramm/archive/2009/10/30/event-id-9646-and-converting-msexchmailboxguid-from-the-event-message.aspx - How to get rid of 9646 events
http://blogs.technet.com/b/jeff_stokes/archive/2008/11/25/how-to-get-rid-of-9646-events.aspx - 9646 still seen on Exchange 2013 even after applying "View Information store
status"
http://blogs.msdn.com/b/dvespa/archive/2014/01/06/9646-still-seen-on-exchange-2013-even-after-applying-quot-view-information-store-status-quot.aspx - Windows 2003 Scalable Networking pack and its possible effects on Exchange
Part1: http://blogs.technet.com/b/exchange/archive/2007/07/18/3403490.aspx
Part2: http://blogs.technet.com/b/exchange/archive/2008/03/12/3405136.aspx - Time to revisit recommendations around Windows networking enhancements usually
called Microsoft Scalable Networking Pack
http://blogs.technet.com/b/exchange/archive/2011/11/14/time-to-revisit-recommendations-around-windows-networking-enhancements-usually-called-microsoft-scalable-networking-pack.aspx