Zum Inhalt

Home

Datenbank-Installationshinweise

Je nach geplanter Datenbank-Umgebung finden sich hier alle relevanten Informationen für eine Basis-Installation.
Weitergehende Hinweise und Empfehlungen (z.B. zur Sicherheit, Benutzererstellung und Rechtevergabe innerhalb der Datenbank, etc.) entnehmen Sie bitte Ihrem IT-Admin, Datenbank-Admin oder dem Internet.

Download

Microsoft SQL Server Downloads ⧉

WICHTIG

Von einer SQL-Express-Installation wird dringend abgeraten. Diese Version ist nicht nur in der maximalen Datenbankgröße beschränkt sondern auch in der Performance, so dass ein positives Nutzererlebnis nicht gewährleistet werden kann.
Mit Blick auf anfallende Lizenzkosten und unbeschränkte Performance empfehlen wir dagegen die in diesem Artikel angeführten Alternativen.

Connectionstring

Der sich zu notierende Connectionstring für die spätere Infodesk-Installation sieht wie folgt aus:

XpoProvider=MSSqlServer; Pooling=false; Data Source=<Hostname SQL Server>\<InstanzName>; Initial Catalog=<Datenbank>; Integrated Security=SSPI; Encrypt=false
XpoProvider=MSSqlServer; Pooling=false; Data Source=<Hostname SQL Server>\<InstanzName>; Initial Catalog=<Datenbank>; User=<InfodeskDBUser>; Password=<Passwort>; Encrypt=false

Einstellungen zum Fernzugriff

Aktivieren von TCP/IP

Der erste Schritt, um eine SQL Server Instanz für Andere sicht- und erreichbar zu machen, ist das Aktivieren von TCP/IP.

Der Zugriff vom Client auf eine SQL Server Instanz erfolgt immer über ein Netzwerk-Protokoll, auch wenn die Instanz auf dem Computer installiert ist, mit dem Sie sich verbinden. Das hier verwendete Netzwerk-Protokoll ist TCP/IP. Dieses ist allerdings standardmäßig ausgeschaltet und muss manuell aktiviert werden.

Die Aktivierung von TCP/IP erfolgt über den SQL Server Configuration Manager. Dieser wird
automatisch mit einer SQL Server Instanz installiert und kann über die Windows-Suche auf dem lokalen Host der Instanz geöffnet werden.

  • Innerhalb des Configuration Managers gibt es den Reiter SQL Server Network Configuration.
    Öffnen Sie diesen mit einem Linksklick. Hier werden nun alle Protokolle der lokal installierten
    SQL Server Instanzen aufgelistet. In unserem Fall haben wir eine SQL Server 2019 Instanz mit
    dem Namen TEST_INSTANCE.

  • Mit einem Klick auf Protocols for TEST_INSTANCE erscheinen auf der rechten Seite nun drei Auswahlmöglichkeiten für ein Protokoll.

  • An unterster Stelle ist TCP/IP mit dem Status disabled zu finden. Mit einem Rechtsklick auf TCP/IP kann nun die Option enable ausgewählt werden.

Vergeben eines Ports

Der nächste wichtige Schritt, um eine Instanz nach außen hin sichtbar zu machen, ist die Vergabe eines Ports. Ein solcher Port hilft generell dabei, parallele Kommunikationsverbindungen einer oder mehrerer Anwendungen voneinander unterscheiden zu können. Ähnlich wie IP-Adressen zur Adressierung von Rechnern in Netzwerken dienen, adressieren Ports spezifische Anwendungen und ihre Verbindungen, die auf einem Rechner laufen.

Datenpakete, die über eine IP ihr Ziel erreichen, werden von TCP zusammengesetzt und an eine Anwendung übergeben. Da nun mehrere Anwendungen, oder in diesem Fall, SQL Server Instanzen, gleichzeitig eine TCP-Verbindung aufbauen können, muss eine Zuordnung zwischen Datenpaket und Anwendung erfolgen. Zu diesem Zweck wird eine Kennung zwischen Daten und Anwendung definiert, die als Port bezeichnet wird.

Will nun eine Anwendung oder eine SQL Server Instanz zu einem Server Kontakt aufnehmen, dann vergibt TCP den Standard Port für den Empfänger-Port und vergibt einen freien Port für den Sender-Port. Hat der Server nun die Daten erhalten und eine Antwort zurückgeschickt, werden die Portnummern vertauscht. Damit kann sicher gestellt werden, dass die Daten nicht an eine falsche Anwendung übergeben werden.

Um nun also einen Port zu vergeben, auf den unsere SQL Server Instanz reagiert, verwenden wir erneut den SQL Server Configuration Manager.

  • Hierfür klappen Sie zunächst den Reiter SQL Server Network Configuration auf und wählen die Protokolle der gewünschten Instanz aus.
  • Anschließend klicken Sie auf TCP/IP und Eigenschaften. Hier wird der obere Reiter IP Addresses ausgewählt und anschließend bis zu dem Punkt IPAll gescrollt.
  • Unter TCP Port kann nun ein Port vergeben werden. Standardmäßig wird für eine Datenbankengine der Port 1433 vergeben.

Um diese Einstellung zu speichern, ist ein Neustart der Instanz erforderlich. Diese erfolgt ebenfalls über den Configuration Manager:

  • Für den Neustart wählen Sie zunächst mit einem Linksklick den Reiter SQL Server Services. Auf der rechten Seite werden nun alle Services aller lokal installierten Instanzen aufgelistet. Hier kann nun mit einem Rechtsklick die Option restart für die laufende Instanz ausgewählt werden.

Achtung: nicht mit dem SQL Server Agent verwechseln!

Nach dem Neustart der Instanz wurde TCP/IP erfolgreich aktiviert.

SQL-Server-Dienst automatisch starten

Als nächsten Schritt in „SQL Server-Dienste” den SQL Server-Browser – Dienst von „Deaktiviert” auf „Automatisch” stellen und starten.

Konfiguration der Firewall

Ein Schritt, der oft vergessen wird und meistens die Ursache für ein Verbindungsproblem ist, ist die Freigabe des zuvor konfigurierten Ports innerhalb der Firewall.

Dazu unser vorgefertigtes Script „sql firewall.ps1” als Administrator in der Windows Powershell ausführen: sql firewall.ps1 (<< rechts-klick -> Link speichern als…)

Es müssen mindestens die folgenden 3 Regeln / Ports aktiv sein:

SQL Server Authentication

Soll nicht mit Windows-Benutzern (AD) sondern mit SQL-Benutzern gearbeitet werden (wenn kein lokales AD / Domaincontroller verfügbar), ist dieser Zugriff einmalig am SQL-Server zu aktivieren:
Rechtsklick auf die oberste Ebene im SQL-Studio, Eigenschaften, Sicherheit und dort „SQL Server and Windows Authentication mode“ aktivieren:

Änderungen an SQL-Tabellen zulassen

Um Tabellen / Variablen ändern zu können, sollte diese Sperre unter Tools / Optionen / Designers deaktiviert werden:

Infodesk Datenbank anlegen

Rechte Maustatste auf „Datenbanken“, Neue Datenbank:

Hier dann DB Größe, Wachstumsschritte und Speicherort festlegen

Benutzer einrichten

Als letzten Schritt dann die SQL-Benutzer im SQL-Studio für den Zugriff auf die Datenbank einrichten.

Achtung

Für den ersten Start von Infodesk und größere Updates muss das Recht „db_owner“ vorliegen, für den normalen Betrieb genügt lesen / schreiben.

Der User ist dann im Connectionstring der Anwendung zu hinterlegen, Verschlüsselung beachten!

MariaDB ist eine Variante (ein Fork) von MySQL mit etwas anderem Fokus aber gleicher Code-Basis.
Auch hier gibt es eine kostenfreie und zeitlich unbegrenzte/uneingeschränkte Community Version sowie eine kostenpflichtige Enterprise-Version, wenn mehr Features benötigt werden.
MariaDB Downloads ⧉

Feature-Vergleich Community vs. Enterprise:
Pricing ⧉

ACHTUNG

Nach der Installation von MariaDB lässt die Datenbank ausschließlich eine Verbindung vom lokalen Rechner zu. Eine Fern-Verbindung muss manuell festgelegt werden!
[Englisch] MariaDB für Fernzugriff konfigurieren ⧉

Kurzform: Datenbank Fernzugriff konfigurieren

Bei Verwendung von LocalDB muss vor dem ersten Start von Infodesk V1 die Instanz gestartet und eine leere Datenbank angelegt werden!
CMD-Fenster öffnen:

CMD
1
2
3
4
5
6
7
8
> sqllocaldb start MSSQLLocalDB
> sqlcmd -S (localdb)\MSSQLLocalDB
#> CREATE DATABASE Infodesk;
#>   GO
--- folgender Befehl zeigt die Datenbanken an ---
#> SELECT name FROM sys.databases;
#>   GO
#> Exit

WICHTIG

Richten Sie ein regelmäßiges Backup der MDF-Dateien ein!

  • Infodesk starten und Connectionstring definieren:
data source=(localDB)\MSSQLLocalDB;integrated security=SSPI;initial catalog=Infodesk;connection timeout=15;
  • Infodesk starten
  • komplett beenden
    1. Mal starten!
      Erst dann sind alle Tabellen angelegt und up to date!!!