Vorbereitung von Datenquellen: Microsoft SQL Server
Übersicht
Bevor sich die Noreja-Anwendung mit SQL Server verbinden kann, muss die Datenbankadministration sicherstellen, dass der Server für Netzwerkprotokolle freigegeben ist, Remoteverbindungen zulässt, die Firewall und den SQL Server Browser korrekt konfiguriert sind und ein Benutzer mit geeigneten Berechtigungen erstellt wurde. Zusätzlich sollten Verschlüsselungsanforderungen, feste Ports für benannte Instanzen und die Gültigkeit von Verbindungszeichenfolgen berücksichtigt werden. Die folgenden Schritte orientieren sich an der offiziellen Microsoft-Dokumentation.
Remoteverbindungen aktivieren
Standardmäßig akzeptiert SQL Server möglicherweise keine Verbindungen von anderen Rechnern. Der Remotezugriff muss explizit aktiviert werden:
Remoteverbindungen zulassen
In SQL Server Management Studio (SSMS): Rechtsklicke im Objekt-Explorer auf den Server und wähle Eigenschaften.
Wechsle zum Reiter Verbindungen und aktiviere die Option „Remoteverbindungen zu diesem Server zulassen“.
Alternativ per T-SQL:
EXEC sp_configure 'remote access', 1;
RECONFIGURE;
Dies stellt sicher, dass Anmeldungen von Remote-Servern akzeptiert werden (learn.microsoft.com).
Dienste neu starten
Nachdem die Remote-Zugriffseinstellungen geändert wurden, muss der SQL Server-Dienst neu gestartet werden, damit die Änderungen wirksam werden (apesoftware.com).
Netzwerkprotokolle aktivieren und konfigurieren
Um Verbindungen über TCP/IP zuzulassen – das gängigste Protokoll für externe Tools – müssen die entsprechenden Protokolle im SQL Server Configuration Manager aktiviert und konfiguriert werden:
Configuration Manager öffnen:
Navigiere zu SQL Server Configuration Manager → SQL Server-Netzwerkkonfiguration → Protokolle für <Instanz>.
TCP/IP aktivieren:
Rechtsklick auf TCP/IP, Aktivieren auswählen und anschließend den SQL Server-Dienst neu starten
(knowledgebase.apexsql.comlearn.microsoft.com).
Festen Port setzen:
Im Reiter IP-Adressen: Trage bei TCP-Port für jede gewünschte IP-Adresse z. B. 1433 ein. Entferne alle Einträge unter TCP Dynamic Ports, um einen statischen Port zu erzwingen (learn.microsoft.com).
SQL Server Browser-Dienst
Für benannte Instanzen stelle sicher, dass der SQL Server Browser auf Automatisch gestellt ist und tatsächlich läuft. Der Dienst lauscht auf UDP-Port 1434 und leitet Clientverbindungen an den richtigen Port weiter (knowledgebase.apexsql.comlearn.microsoft.com).
Windows-Firewall (oder Netzwerk-ACLs) konfigurieren
Damit eingehender Datenverkehr zum SQL Server zugelassen wird:
Firewall-Port öffnen:
Erlaube TCP-Port 1433 (Standardinstanz) oder den von dir konfigurierten Port.
Bei benannten Instanzen mit dynamischen Ports: Füge stattdessen die Anwendung sqlservr.exe als Ausnahme hinzu (learn.microsoft.com).
SQL Server Browser freigeben:
Wenn Clients sich über Instanznamen (statt Ports) verbinden, muss UDP-Port 1434 für den Browser-Dienst erlaubt sein (learn.microsoft.com).
Konnektivität testen
Auf einem Client-Rechner nutze telnet <servername> 1433 oder Test-NetConnection -ComputerName <servername> -Port 1433 um zu bestätigen, dass der Port geöffnet ist (learn.microsoft.com)
Authentifizierungsmodus wählen und konfigurieren
SQL Server unterstützt zwei Authentifizierungsmodi – wähle den Modus, der zu deiner Sicherheitsrichtlinie passt:
- Mixed Mode (SQL- & Windows-Authentifizierung): In SSMS: Rechtsklick auf Server → Eigenschaften → Reiter Sicherheit → „SQL Server- und Windows-Authentifizierungsmodus“ aktivieren (apesoftware.com).
- Nur Windows-Authentifizierung: Wird verwendet, wenn Active Directory integriert ist. Dabei werden keine SQL-Passwörter benötigt.
Stelle sicher, dass das externe Tool integrierte Sicherheit unterstützt.
Neustart benötigt
Änderungen am Authentifizierungsmodus erfordern einen Neustart des SQL Server-Dienstes (apesoftware.com).
Login und Datenbankbenutzer erstellen
Erstelle einen dedizierten Benutzer für das externe Tool mit minimalen Rechten:
Serverweites Login erstellen:
CREATE LOGIN [tool_user] WITH PASSWORD = 'StrongP@ssw0rd';
Benutzer in der Ziel-Datenbank anlegen:
USE [YourDatabase];
CREATE USER [tool_user] FOR LOGIN [tool_user];
Berechtigungen vergeben:
Mindestens sollten folgende Berechtigungen vergeben werden, damit das externe Tool Zugriff auf die Daten erhält:
GRANT CONNECT TO [tool_user];
GRANT SELECT ON SCHEMA::dbo TO [tool_user];
Bei Bedarf weitere Rechte wie INSERT/UPDATE/EXECUTE je nach Tool-Anforderungen hinzufügen (learn.microsoft.com).
Optional: Verschlüsselung erzwingen
Wenn das Tool verschlüsselte Verbindungen erfordert:
- Serverzertifikat installieren: Verwende ein von einer Zertifizierungsstelle (CA) signiertes Zertifikat und trage es im SQL Server Configuration Manager → Protokolle → Reiter „Zertifikat“ ein.
- SSL-Verbindung erzwingen: Im Reiter Flags unter TCP/IP → Force Encryption auf Yes setzen. Anschließend Dienst neu starten (learn.microsoft.com).
- Client-Verbindung konfigurieren: Die Verbindungszeichenfolge des Tools muss enthalten:
Encrypt=True;TrustServerCertificate=False;
Verbindung prüfen und testen
In SSMS testen:
Von einem entfernten Rechner mit den Zugangsdaten des Tools und dem Servernamen/Port verbinden (learn.microsoft.com).
Logs prüfen:
Im SQL Server-Fehlerprotokoll nach fehlgeschlagenen Anmeldungen oder netzwerkbezogenen Fehlern suchen.
Verbindungen überwachen:
Verwende Dynamic Management Views, z. B.: SELECT * FROM sys.dm_exec_connections;
um Verbindungsanzahl und -typen zu überprüfen.
Wenn du diese Schritte durchläufst – Remoteverbindungen aktivieren, TCP/IP freigeben, Firewall konfigurieren, Authentifizierung einrichten, dedizierte Benutzer anlegen und ggf. Verschlüsselung erzwingen – stellst du sicher, dass externe Tools wie Noreja sicher und zuverlässig auf Microsoft SQL Server zugreifen können.