Die Anbindung der Datenbank an SmartTraffic wird in der INI-Datei konfiguriert, diese liegt im SmartTraffic-Stammverzeichnis. Rollen und Benutzer werden auf der Datenbank selbst angelegt.
Konfigurationsdatei
Instanz
Falls es sich um eine Standard-Instanz handelt, sieht der Servereintrag folgendermassen aus:
Server=Servername
Falls es sich um eine benannte Instanz handelt, sieht der Servereintrag folgendermassen aus:
Server=Servername\Instanzname
Wird eine benannte Instanz verwendet, muss der Native Client zwingend installiert und aktiviert werden, da sonst gewisse Funktionen (Backup, Reorganisation) nicht funktionieren.
Port
Wird nicht der Standard-Port 1433 verwendet, kann der Port entsprechend angegeben werden:
Port=1824
SQL-Login / Windows-Login
Standardmässig werden SQL-Logins verwendet, d. h. die Benutzer werden auf dem SQL-Server definiert. Sollen stattdessen die normalen Windows-Logins für den Zugriff auf die Datenbank verwendet werden, muss folgender Eintrag gemacht werden:
UseWindowsLogin=True
SQL Native Client
Standardmässig wird automatisch nach einem geeigneten Provider gesucht:
Wenn ein Native Client installiert ist, wird dieser verwendet.
Wenn kein Native Client installiert ist, wird OLE DB verwendet.
Mit NativeClient=True kann die Verwendung des Native Client erzwungen werden. Ist kein Native Client vorhanden, kann mit dieser Einstellung die Applikation nicht gestartet werden.
Mit UseOLEDB=True kann die Verwendung von OLE DB erzwungen werden. Auch wenn ein Native Client vorhanden ist, wird bei dieser Einstellung OLE DB verwendet.
Die Kombination von NativeClient=True und UseOLEDB=True ist widersprüchlich und somit nicht sinnvoll.
UseBuiltInSequences
Mit UseBuiltInSequences=True werden fortlaufende IDs intern vergeben und nicht über einen externen UID-Generator (wird ab SQL Server 2012 unterstützt).
LockTimeout
Bestimmt die Anzahl Millisekunden, die eine Transaktion auf eine Sperre wartet:
Für SmartTraffic ist standardmässig 60000 Millisekunden eingestellt (Standardwert UniDAC = 2000).
Kann beim Auftreten des Fehlers Lock request time out period exceeded weiterhelfen.
Aufsetzen einer neuen Datenbank
...
Standardmässig sollten für SmartTraffic 2 die zwei foldenden Benutzer/Logins erstellt werden:
trafficadmin mit der Rolle db_owner
trafficuser mit den Rollen db_datareader und db_datawriter
Der Benutzer trafficuser wird beim normalen Arbeiten mit SmartTraffic verwendet.
Der Benutzer trafficadmin wird verwendet wenn SmartTraffic erweiterte Rechte benötigt, um z.B. nach der Installation einer neuen Version von SmartTraffic die Datenbankstruktur anzupassen. Auch beim Restore einer mit SmartTraffic erstellten Backup-Datei, werden die erweiterten Rechte von trafficadmin benötigt.
Sollen nicht die auf dem Datenbankserver erstellten SQL-Logins, sondern die normalen Windows-Logins der Benutzer verwendet werden, müssen die entsprechenden Rollen für die verwendeten Windows-Logins auf der Datenbank definiert werden.
...
Unter Optionen als Wiederherstellungsmodell, wenn möglich, das Modell Einfach wählen. Das standardmässig eingestellte Modell Vollständig generiert u. U. riesige Transaktionsprotokolle und hat schon mehrmals zu Problemen mit dem vorhandenen Speicherplatz geführt.
Datenbankserver-Einstellungen
Da beim Ausführen von SQL-Befehlen die Anzahl der betroffenen Records erwartet wird, darf folgendes Kontrollfeld NICHT gesetzt sein:
Bekannte Probleme
Datenbank-User nach einem Restore
Nach einem Restore einer Datenbank, welche an einem anderen Ort aufgesetzt wurde, können Probleme mit den Datenbank-Usern auftreten. Der User ist bereits in der DB vorhanden und das entsprechende Login kann nicht zugeordnet werden. In dem Falle kann der folgende Befehl für alle benötigten User ausgeführt werden:
EXEC sp_change_users_login 'Auto_Fix', '
logoadmintrafficadmin'
EXEC sp_change_users_login 'Auto_Fix', '
logousertrafficuser'