Microsoft SQL

Allgemein

Wichtig

Beim Einsatz kundeneigener Microsoft SQL-Server Instanzen, liegt die Verantwortung der Nutzung und der Konfiguration beim jeweiligen Datenbank-Systembetreuer und nicht beim XPhone Connect Softwarehersteller C4B oder dem XPhone Connect Partner.

Vorsicht

Beachten Sie nachfolgende Hinweise für einen reibungslosen Betrieb bei der Verwendung eigener SQL Server Instanzen bzw. Datenbanken:

  • Achten Sie darauf, dass ausreichend freier Plattenspeicher auf dem Laufwerk verfügbar ist auf dem die SQL-Server Instanzen bzw. Datenbanken installiert wurden. Der Platzbedarf ist u.a. abhängig von der Anzahl der Benutzer, dem Anruf- und Chataufkommen (Journaltabellen), Anzahl versendeter Bilder, Statistikdaten für Analytics.

  • Es sollten generell regelmäßige Backups für die Datenbanken XPDATA, XPSTATS und XPSTATSRaw konfiguriert werden. Es ist nicht erforderlich Backups für die Datenbank XPVDIR zu erstellen, da die dort enthaltenen Index-Tabellen ohnehin zyklisch aus den angebundenen XPhone Connect Directory Datenquellen neu generiert werden.

  • Für alle verwendeten Datenbanken wird empfohlen das Wiederherstellungsmodell “Einfach“ bzw. „Simple “zu verwenden. Weitere Informationen dazu in der Online-Hilfe für Microsoft SQL Server.

  • Wenn der XPhone Connect Server zusammen mit dem SQL Server auf dem gleichen System betrieben wird, sollte die Nutzung des Arbeitsspeichers für den SQL Servers begrenzt werden, dies können Sie z.B. über das SQL Management Studio konfigurieren.

Die persistenten Daten des XPhone Connect Servers werden in vier Datenbanken, verteilt auf zwei Microsoft SQL Server Express Instanzen gespeichert. Diese Instanzen werden vom Setup installiert und tragen die Namen XPCONNECT und XPANALYTICS. Diese Instanzen sind unabhängig von anderen SQL Server Installationen und können auch parallel zu vorhandenen SQL-Server-Installationen anderer Editionen betrieben werden.

In der Instanz XPCONNECT werden die beiden Datenbanken XPDATA und XPVDIR angelegt. In der erstgenannten werden alle Konfigurationsinformationen und die Journale der Benutzer gespeichert, während die andere ausschließlich die für Connect Directory notwendigen Indizes und, gegebenenfalls, die replizierten Kontaktdaten enthält.

In der Instanz XPANALYTICS werden die beiden Datenbanken XPSTATS und XPSTATSRaw angelegt. In diesen Datenbanken werden die für Analytics gesammelten Daten gespeichert.

Bemerkung

Bitte beachten Sie auch den Hinweis und Workaround für den Fall, dass die internen Datenbanken nicht mit installiert worden sind und sich in der Folge ggf. das Dienstkonto im XPhone Connect Server Manager nicht umstellen lässt.

Die Konfiguration der Datenbanken findet sich in der Datei atlas.xml (Aufrufbar über den XPhone Connect Servermanager) und hat im Default folgenden Inhalt:

<Databases databaseMigrationSQLTimeOut="900">

<Main type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=XPDATA;Data Source=(local)\XPCONNECT" autoLockDown="5" organisationDN="ou=Organisation" configurationDN="ou=Configuration" />

<Stats type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=XPSTATS;Data Source=(local)\XPANALYTICS" autoLockDown="5" />

<VDir type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=XPVDIR;Data Source=(local)\XPCONNECT" autoLockDown="5" />

</Databases>

Beschreibung der Parameter:

Name

Standardwert

Format

Beschreibung

type

MSSQL

Text

Aktuell wird nur MSSQL unterstützt

connection

(siehe oben)

speziell

Dies ist der ConnectionString für die Verbindung zur Datenbank. Die erlaubten Parameter sind in der Dokumentation zur Klasse SqlConnection von .NET in der SQL Server-Dokumentation zu finden. Um die Verbindung zu einem vorhandenen SQL-Server herzustellen, ist im Wesentlichen nur der Parameter „Data Source“ zu verändern.

autolockDown

5 (1, wenn Eintrag nicht vorhanden)

Nummer

(siehe unten)

organisationDN

speziell

Für Active Directory Integration notwendig

configurationDN

speziell

Für Active Directory Integration notwendig

useLogin

All

Optionale Einstellung, bei der angegeben wird, mit welchen Credentials der Anmeldeversuch ausschließlich erfolgen soll.

„All“ - alle Benutzer

„Internal“ - - nur interne SQL-Benutzer, kein Windows Account des Dienstes

„Windows“ - nur Windows Account des Dienstes

databaseMigrationSQLTimeOut

Gibt den Timeout für SQL-Abfragen in Sekunden an, die ausgeführt werden müssen, um die, nach Updates eventuell erforderlichen Anpassungen, an den Datenbanken durchzuführen.

Die Datenbanken können auch auf einer bereits vorhandenen SQL-Server-Instanz betrieben werden. Um einen vorhandenen SQL-Server zu verwenden muss der Parameter connection angepasst werden. Der ConnectionString enthält den Parameter Data Source, der im Wesentlichen das Format <DNS-Name des Computers>\<Name der SQL-Instanz> besitzt. (local) steht für den lokalen Computer; für die Default-Instanz genügt der erste Teil ohne \.

Vorgehensweise

Um beispielsweise die vorhandene SQL Server Instanz sqlserver\connect zu verwenden, wird empfohlen, wie folgt vorzugehen:

  1. Prüfen Sie die Voraussetzungen des vorhandenen SQL Servers:

    • Unter Server Network Configuration muss das TCP/IP Protokoll aktiviert sein.

    • Auf dem vorhandenen SQL-Server muss der Remotezugriff aktiviert sein.

    • Der SQL-Browser Dienst muss auf dem vorhandenen SQL-Server laufen.

  2. Im Active Directory einen Benutzeraccount (aduserxphoneserver) anlegen, unter dem der Dienst des XPhone Connect Servers laufen soll.

  3. In der gewünschten SQL-Instanz eine Datenbank (xphoneserverdata) anlegen, die der XPhone Connect Server verwenden soll.

  4. In der gewünschten SQL-Instanz eine Datenbank (xphoneservervdir) anlegen, die der XPhone Connect Directory verwenden soll.

  5. In der SQL-Instanz einen Login für den Benutzer aduserxphoneserver anlegen.

  6. In der SQL-Instanz dem soeben angelegten Login auf die Datenbank xphoneserverdata die Rolle db_owner geben.

  7. In der SQL-Instanz dem soeben angelegten Login auf die Datenbank xphoneservervdir die Rolle db_owner geben

  8. Den XPhone Connect Server beenden.

  9. In atlas.xml die Datenbankeinstellungen auf die SQL-Instanz ändern.

  10. In atlas.xml die Datenbank XPDATA durch xphoneserverdata und XPVDIR durch xphoneservervdir ersetzten

  11. In atlas.xml bei beiden Datenbanken die Anmeldeversuche auf integrierte Windowsanmeldung einschränken (uselogin="Windows") und Autolockdown auf 0 stellen.

  12. Den XPhone Connect Server-Diensteaccount mit Hilfe des XPhone Connect Servermanager auf aduserxphoneserver umstellen.

  13. Den XPhone Connect Server starten:

    <Databases databaseMigrationSQLTimeOut="900">
    
    <Main type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=xphoneserverdata;Data Source=sqlserver\connect" autoLockDown="0" uselogin="Windows" organisationDN="ou=Organisation" configurationDN="ou=Configuration" />
    
    <Stats type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=XPSTATS;Data Source=(local)\XPANALYTICS" autoLockDown="5" />
    
    <VDir type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=xphoneservervdir;Data Source=sqlserver\connect" autoLockDown="0" uselogin="Windows" />
    
    </Databases>
    

Vorgehensweise für Analytics

Um beispielsweise die vorhandene SQL Server Instanz MySqlServer\MyInstance für Analytics zu verwenden, gehen Sie wie folgt vor:

  1. Prüfen Sie die Voraussetzungen der vorhandenen SQL Server Instanz MySqlServer\MyInstance:

    • Unter Server Network Configuration ist das TCP/IP Protokoll aktiviert.

    • Auf dem vorhandenen SQL-Server ist der Remotezugriff aktiviert.

    • Der SQL-Browser Dienst läuft auf dem vorhandenen SQL Server.

    • Gegebenenfalls muss der SQL Server nach der Änderung der Konfiguration neu gestartet werden, damit die Änderungen wirksam werden.

    • Gegebenenfalls muss eine Firewall-Regel eingerichtet werden, die den Zugriff auf die SQL Server-Instanz erlaubt.

  2. Zugriff des XPhone Connect Servers auf die Analytics Datenbanken (z.B. für Schema-Updates).

    (Empfohlene Vorgehensweise bei einem Web-Server-Cluster)

    1. Im Active Directory einen Benutzer-Account (aduserxphoneserver) anlegen, unter dem der Dienst des XPhone Connect Servers laufen soll.

    2. In der gewünschten SQL-Instanz MySqlServer\MyInstance zwei Datenbanken anlegen (XPAnalytics und XPAnalyticsRaw), die von Analytics verwendet werden sollen.

      Hinweis

      Der Name der zweiten Datenbank muss dem der ersten entsprechen plus dem Suffix Raw.

    3. In der SQL-Instanz ein Login für den Benutzer aduserxphoneserver anlegen.

    4. In der SQL-Instanz dem soeben angelegten Login die Rolle db_owner auf die Datenbanken XPAnalytics und XPAnalyticsRaw geben.

    5. Den XPhone Connect Server beenden.

    6. In atlas.xml die Datenbankeinstellungen für Analytics (Connection String Name Stats) auf die SQL-Instanz ändern:

      • In atlas.xml die Datenbank XPSTATS durch XPAnalytics ersetzten.

      • In atlas.xml die Anmeldeversuche auf integrierte Windowsanmeldung (uselogin="Windows") einschränken und Autolockdown auf 0 stellen.

    7. Das XPhone Connect Server Dienstkonto mit Hilfe des XPhone Connect Servermanagers auf aduserxphoneserver umstellen.

  3. Zugriff der Analytics Web-Applikation auf die Analytics Datenbanken (für Auswertungen):

    1. Im Active Directory einen Benutzer-Account (aduseranalyticsapppool) anlegen, unter dem der AppPool von Analytics im IIS laufen soll.

    2. Im IIS dem Anwendungs-Pool XPhoneConnectAnalytics den soeben angelegten Domänen-Account zuweisen.

    3. In der SQL-Instanz ein Login für den Benutzer aduseranalyticsapppool anlegen.

    4. In der SQL-Instanz dem soeben angelegten Login in den Datenbanken XPAnalytics und XPAnalyticsRaw die Rollen db_datareader und db_datawriter zuweisen.

    5. Den XPhone Connect Server starten.

Beispiel der atlas.xml:

<Databases databaseMigrationSQLTimeOut="900">
  ...
<Stats type="MSSQL" connection="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=XPAnalytics;Data Source=MySqlServer\MyInstance" autoLockDown="0" />
  ...
</Databases>

Datenbanksicherheit

Grundsätzlich muss der XPhone Connect Server in der SQL-Serverrolle db_owner auf die Datenbank zugreifen können. Um die teilweise persönlichen Daten vor unberechtigten Zugriff (Viren, Spy-Programme) zu schützen, sollte die Sicherheit der Datenbank den Zugriff anderer Personen so weit wie möglich beschränken. Für die vom Setup installierten Microsoft SQL Server Instanzen werden diese Anpassung vollständig automatisch vorgenommen. Der Parameter autoLockDown steuert diese automatische Anpassung der Datenbanksicherheit.

Vorsicht

Bei der Verwendung von vorhandenen SQL-Servern ist hier höchste Vorsicht geboten, da unter Umständen ein Zugang zur Datenbank für administrative Zwecke oder andere Anwendungen verhindert wird.

Der vom Setup installierte SQL Server läuft im Mixed Mode, d.h. die Authentifizierung erfolgt sowohl über die Windows-Anmeldung als auch über im SQL Server angelegte Benutzerkonten. Die SQL-Anmeldung ermöglicht z. B. den Zugriff der Clients auf das zentrale Adressbuch, auch wenn diese nicht über Windows authentifiziert werden können (z. B. für Mobilcomputer ohne Domänenanmeldung).

Hinweis

Wenn ein vorhandener SQL Server nicht im Mixed Mode läuft, sollte die automatische Anpassung abgeschaltet werden. Sie müssen ebenfalls manuell sicherstellen, dass das Dienstkonto des XPhone Connect Servers die notwendigen Zugriffsrechte (SQL-Serverrolle db_owner) auf den SQL Server bekommt.

Flag

Beschreibung

0

Keine Anpassung oder Veränderung der Sicherheit

1

Ein Datenbank Admin Account für Notfälle wird hinzugefügt. Das Passwort des Admin Accounts ist nur dem Server bekannt.

2

Alle nicht explizit aktivierten Accounts (SQL und Windows) werden entfernt

4

Der stets vorhandene sa Account wird mit einem nur dem Server bekannten Passwort versehen.

8

Der lokale Administrator wird als Datenbank Admin eingerichtet.

Die Flags sind additiv, d.h. 1+4=5 ergibt die oben genannte Einstellung für die vom Setup installierte SQL Server-Datenbank. Außer im Modus 0 wird auch stets der Account, unter dem der XPhone Connect Server Dienst läuft, eingerichtet. Dies ist nur möglich, wenn für die Änderung des Dienst-Accounts der Dienst Manager des XPhone Connect Servers verwendet wurde.

Haben Sie einen Fehler auf dieser Seite entdeckt?

Bitte schicken Sie uns einen Hinweis auf diesen Fehler per Mail an doku@c4b.de. Vielen Dank!