|
|
|
Beheben von Protokollierungsproblemen in Forefront TMG 2010Die Informationen in diesem Artikel beziehen sich auf:
Bei einer Installation von Forefront TMG 2010 in deutscher
Sprache kommt es zu einem Problem, dass in der Protokollierung zwar der aktuelle
Datenverkehr angezeigt wird, allerdings z.B. die Filteroption "Letzte Stunde"
keine Ergebnisse liefert. Zunächst vermutet man hier eventuell falsch gesetzte
Filter, jedoch wird man schnell feststellen, dass dem nicht so ist und das
Problem an anderer Stelle zu suchen ist. Ursache des Problems sind falsche
Spracheinstellungen in der SQL Express-Datenbank, die Forefront TMG 2010 für die
Protokollierung verwendet. Aufgrund der Unterschiede im Datumsformat zwischen
der deutschen und englischen Sprache kommt es deshalb zu Problemen in der
Abfrage. Dieser Arikel beschreibt die notwendigen Schritte, um die
Protokollierung von Forefront TMG 2010 wieder zum laufen zu bekommen. 1. Aktualisierung der Datenbank MSFWIn Forefront TMG 2010 gibt es zwei Datenbankinstanzen, in denen Daten abgespeichert werden, um Protokolle und Berichte zu generieren. Eine davon ist die Datenbankinstanz MSFW. Diese Datenbankinstanz beinhaltet alle Informationen über den Datenverkehr der von Forefront TMG 2010 protokolliert wurde.Dies ist somit die richtige Datenbank an der geschraubt werden muss.Um die Spracheinstellungen der Datenbank zu ändern gibt es mehrere Wege. Einer davon wäre das Managenent Studio Express herunter zu laden und die Änderungen über die grafische oberfläche vorzunehmen. Letztendlich ist dies aber wieder ein Stück Software auf einer Firewall die nicht unbedingt benötigt wird. Deshalb ist es sinnvoller die Änderungen über die Eingabeaufforderung vorzunehmen. Die folgenden Schritte beschreiben die Umstellung der Spracheinstellung für die Datenbankinstanz MSFW. 1.1 Umstellen der Standard-DatenbankspracheEs gibt in der Datenbank die Einstellung der Standard-Datenbanksprache die angewendet wird, wenn neue Anmeldungen (Logins) für die Datenbank erstellt werden. Diese steht auf der Spracheinstellung Deutsch und muss auf die Spracheinstellung English geändert werden.Melden Sie sich als Administrator am Server an und öffnen Sie zunächst eine Eingabeaufforderung über Start->Ausführen->cmd. Mit Hilfe des Befehlszeilenkommandos OSQL kann man SQL-Befehle auch ohne grafische Oberfläche an die Datenbank senden. Die korrekte Syntax für die Anmeldung an der Datenbankinstanz MSFW lautet: osql -E -S .\MSFW. Hierbei wird die integrierte Authentifizierung verwendet, deshalb ist es wichtig, dass Sie sich als Administrator am Server angemeldet haben. Nach erfolgreicher Anmeldung meldet sich das Tool mit 1> und wartet auf die Eingabe der Befehle. Kopieren Sie folgende Befehle in die Zwischenablage und fügen Sie diese über Copy&Paste ein. Bestätigen Sie anschließend über die Eingabetaste die Ausführung der SQL-Befehle.
Der SQL-Befehl exec sp_configure 'default language', 0; setzt die Spracheinstellung der Datenbank auf English und reconfigure; veranlasst die Datenbank diese Einstellung zu übernehmen. Durch das GO wird letztendlich die Ausführung der Befehle durchgeführt. Lassen Sie sich von der Meldung "Führen Sie zum Installieren die RECONFIGURE-Anweisung aus" nicht verwirren, dies ist nur die Ausgabe des ersten Befehls, auf den die Reconfigure-Anweisung folgt. Dass die Datenbanksprache erfolgreich umgestellt wurde erkennen Sie an der Ausgabe "Die Konfigurationsoption 'default language' wurde von 1 in 0 geändert", wobei die Werte 0 und 1 für English bzw. Deutsch stehen. Melden Sie sich danach über den Befehl quit von der Datenbank ab. 1.2 Umstellen der Datenbanksprache für BenutzerDie Standard-Datenbanksprache hat nur eine Auswirkung auf neue Benutzer, somit gilt diese nicht für bereits existierende Anmeldungen, welche bereits von Forefront TMG 2010 genutzt werden. Letztendlich wird von Forefront TMG 2010 nur die Anmeldung NT-AUTORITÄT\NETZWERKDIENST benötigt, es ist allerdings nicht schädlich sämtliche Anmeldungen auf die Sprache English umzustellen. Hierzu müssen Sie zunächst herausbekommen, welche Anmeldungen für die Datenbank MSFW exisiteren. Melden Sie sich dazu wieder an der Datenbank mit dem Befehl osql -E -S .\MSFW an. Nach erfolgreicher Anmeldung wartet das Tool wieder auf die Eingabe der Befehle. Kopieren Sie folgende Befehle in die Zwischenablage und fügen Sie diese über Copy&Paste ein. Bestätigen Sie anschließend über die Eingabetaste die Ausführung der SQL-Befehle und beenden Sie die Abfrage mit dem Befehl quit.
Die SQL-Abfrage select name from master.dbo.syslogins where language ='Deutsch'; liefert als Ergebnis alle Anmeldungen zurück, die als Standardsprache Deutsch konfiguriert haben. Diese Anmeldungen müssen nun auf die Sprache English aktualisiert werden. Kopieren Sie sich die aufgeführten Anmeldenamen per Copy&Paste zunächst in eine Textdatei und ersetzen Sie anschließend in der SQL-Abfrage ALTER LOGIN [#NAME#] WITH DEFAULT_LANGUAGE = us_english; den Platzhalter #NAME# mit dem Anmeldenamen. Wiederholen Sie diesen Schritt für jeden ausgegebenen Anmeldenamen. Diese SQL-Abfragen müssen nun wieder ausgeführt werden. Melden Sie sich hierzu wieder mit dem Befehl osql -E -S .\MSFW an der Datenbank an und kopieren Sie die SQL-Abfragen per Copy&Paste in das Eingabefenster. Führen Sie anschließend die SQL-Abfragen mit dem Befehl GO und der Eingabetaste aus. Sofern alle SQL-Abfragen erfolgreich verarbeitet werden konnten erhalten Sie keine weitere Ausgabe durch die Befehle. Beenden Sie nun die Abfrage über den Befehl quit.
Nachdem nun alle Benutzer auf die Standardsprache English geändert wurden müssen Sie den Dienst der Datenbank in der Eingabeaufforderung über den Befehl: net stop "SQL Server (MSFW)" && net start "SQL Server (MSFW)" neu starten. Forefront TMG 2010 kann zu diesem Zeitpunkt allerdings keine Protokolldaten in die Datenbank schreiben. Dies ist allerdings nicht problematisch, da seit Forefront TMG 2010 bei Ausfall der Datenbank die Protokolle in Textdateien zwischengespeichert werden und zu einem späteren Zeitpunkt in die Datenbank übernommen werden. Wenn Sie jetzt die Abfrage in Forefront TMG 2010 erneut ausführen, bekommen Sie wie gewohnt die Ergebnisse wieder angezeigt. HINWEIS: Es gibt ein weiteres Problem mit Forefront TMG 2010 das mit der Spracheinstellung der Datenbank zu tun hat. Hierbei können Berichtsaufträge zur Benutzeraktivität nur erstellt werden, wenn die Datenbanksprache auf Schwedisch steht. Weitere Informationen hierzu unter http://blog.forefront-tmg.de/?p=463. Wenn Sie die Datenbanksprache auf English umgestellt haben können Sie demnach keine Berichte zur Benutzeraktivität erstellen. Einen Hotfix hierfür wird es hoffentlich bald geben. 2. Aktualisierung der Datenbank ISARSIn Forefront TMG 2010 gibt es eine weitere Datenbankinstanz namens ISARS, die für die Berichtgenerierung der Reporting Services verwendet wird. Diese Datenbank steht in den Spracheinstellungen ebenfalls auf Deutsch. Es besteht kein Zwang diese Datenbankinstanz ebenfalls zumzustellen, da anscheinend alle Berichte problemlos erstellt werden können. Wer dennoch diese Datenbankinstanz ebenfalls umstellen will kann dies mit folgenden Befehlen durchführen. Die einzelnen Schritte werden folgend nur kurz beschrieben, da sich diese nicht von den bereits erklärten Schritten wesentlich unterscheiden.2.1 Umstellen der Standard-DatenbankspracheZunächst müssen Sie wieder eine Verbindung mit der Datenbank über das Tool osql herstellen. Die Anmeldung hierfür lautet dazu: osql -E -S .\ISARS Über die nachstehenden Befehle wird die Standardsprache der Datenbank auf English umgestellt.
Nachdem die Befehle ausgeführt wurden beenden Sie die Sitzung über den Befehl quit. 2.2 Umstellen der Datenbanksprache für BenutzerStellen Sie wieder eine Verbindung mit der Datenbank über den Befehl osql -E -S .\ISARS her und lassen Sie sich über folgenden den Befehl alle Anmeldungen ausgeben, die als Datenbanksprache Deutsch voreingestellt haben. Beenden Sie danach die Verbidnung über den Befehl quit
Kopieren Sie die ermittelten Anmeldenamen der Abfrage in eine Textdatei und ersetzen Sie den Platzhalter #NAME# im SQL-Befehl ALTER LOGIN [#NAME#] WITH DEFAULT_LANGUAGE = us_english; durch den Anmeldenamen. Führen Sie diese Schritte für jeden Anmeldenamen durch den die Abfrage geliefert hat. Wenn Sie die Vorbereitungen abgeschlossen haben stellen Sie wieder eine Verbindung mit der Datenbank über osql -E -S .\ISARS her und fügen Sie die SQL-Befehle mit Coppy&Paste ein.
Beenden Sie nach Ausführung der Befehle die Verbindung zur Datenbank über den Befehl quit. Nachdem Sie die Datenbanksprache geändert haben sollten Sie die Dienste dieser Datenbankinstanz ebenfalls über den Befehl net stop "SQL Server (ISARS)" && net start "SQL Server (ISARS)" neu. Nach dem Neustart der Dienste ist die Datenbanksprache für die Datenbank ISARS ebenfalls auf English umgestellt.
Stand: Wednesday, 08. June 2011/CG |
|
|