Zum Inhalt

Home / Allgemeines / Installation / Die Datenbank / Microsoft SQL

TSQL Fernzugriff konfigurieren

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!