ISA Server FAQ Home | ISA 2000 | ISA 2004 | ISA 2006 | TMG | Verschiedenes | Tools | Downloads | Links | Das Buch! | Bücher | User Group | Events | Blog | About | Sitemap | Suche

Kapitel höher

 

Beheben von Protokollierungsproblemen in Forefront TMG 2010


Die Informationen in diesem Artikel beziehen sich auf:

  • Microsoft Forefront TMG 2010

 

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.


Wie Sie in der Abbildung sehen können, liefert die Abfrage keine Ergebnisse, obwohl mit hundertprozentiger Sicherheit Datenverkehr stattgefunden hat.

 

1. Aktualisierung der Datenbank MSFW

In 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-Datenbanksprache

Es 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.

 
exec sp_configure 'default language', 0;
reconfigure;
go
 

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 Benutzer

Die 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.

 
select name from master.dbo.syslogins where language ='Deutsch';
go
 

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.

 
ALTER LOGIN [sa] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [NT-AUTORITÄT\SYSTEM] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [NT SERVICE\MSSQL$MSFW] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [VORDEFINIERT\Administratoren] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [VORDEFINIERT\Benutzer] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [NT-AUTORITÄT\NETZWERKDIENST] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [##MS_PolicyEventProcessingLogin##] WITH DEFAULT_LANGUAGE = us_english;
GO
 

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 ISARS

In 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-Datenbanksprache

Zunä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.

 
exec sp_configure 'default language', 0;
reconfigure;
go
 

Nachdem die Befehle ausgeführt wurden beenden Sie die Sitzung über den Befehl quit.

 

2.2 Umstellen der Datenbanksprache für Benutzer

Stellen 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

 
select name from master.dbo.syslogins where language ='Deutsch';
go
 

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.

 
ALTER LOGIN [sa] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [NT-AUTORITÄT\SYSTEM] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [NT SERVICE\MSSQL$ISARS] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [VORDEFINIERT\Administratoren] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [VORDEFINIERT\Benutzer] WITH DEFAULT_LANGUAGE = us_english;
ALTER LOGIN [##MS_PolicyEventProcessingLogin##] WITH DEFAULT_LANGUAGE = us_english;
GO
 

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


Home | ISA 2000 | ISA 2004 | ISA 2006 | TMG | Verschiedenes | Tools | Downloads | Links | Das Buch! | Bücher | User Group | Events | Blog | About | Sitemap | Suche

Fragen oder Probleme in Zusammenhang mit dieser Website richten Sie bitte an den Webmaster. Bitte inhaltliche oder technische Fragen ausschließlich in der deutschen ISA Server Newsgroup stellen.
Verbesserungsvorschläge, Anregungen oder Fremdartikel sind jederzeit willkommen! Copyright 2001-2011. Alle Rechte vorbehalten. msisafaq.de steht in keiner Beziehung zur Microsoft Corp.
Stand: Monday, 18. March 2013 / Dieter Rauscher