MS SQL-Datenbank aufsetzen
Hier sind die erforderlichen Konfigurationen für die Verwendung einer MS SQL-Datenbank mit Logo beschrieben.
Die Anbindung der Datenbank an Logo wird in der INI-Datei konfiguriert, diese liegt im Logo-Stammverzeichnis. Rollen und Benutzer werden auf der Datenbank selbst angelegt.
Konfigurationsdatei
Die Konfigurationsdatei muss minimal folgende Angaben enthalten:
[Database]
DatabaseType=
Server=
Database=
Username=
Password=
Beispiel einer Konfigurationsdatei für eine MS SQL-Verbindung:
[Database]
DatabaseType=MSSQL
Server=BSMSSQL01
Database=testdatenbank
Port=1433
Username=logouser
Password=logouser
AdminUsername=logoadmin
AdminPassword=logoadmin
UseWindowsLogin=False
NativeClient=False
UseOLEDB=False
UseBuiltInSequences=False
LockTimeout=60000
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:
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:
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:
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 Logo 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
Benutzer
Standardmässig sollte für Logo ein Benutzer mit der Rolle db_owner erstellt werden. Falls dies nicht möglich ist, können die Rollen auf die Benutzer Admin (db_owner) und User (db_datareader, db_datawriter) aufgeteilt werden.
Wenn immer möglich sollte auf diese Aufteilung verzichtet und ein Benutzer erstellt werden.
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.
Einstellungen
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: