Blockierung der Windows 10 Defender Firewall für MS SQL Server 2014 aufheben

2526
feetwet

Ich habe eine Instanz von MS SQL Server 2014 (nennen Sie es MSSQL) auf einem Windows 10-Computer (nennen Sie es WINTEN).

Wenn Sie SSMS ausführen WINTEN, kann ich mich sowohl mit dem lokalen SQL Server als auch mit SQL Server-Instanzen auf anderen Computern im privaten Netzwerk verbinden.

Ich kann jedoch keine Verbindungen von SSMS auf einem anderen Computer zur SQL Server-Instanz herstellen, WINTEN\MSSQL wenn ich die Windows Defender Firewall nicht vollständig deaktivieren kann .

Nach allen Anweisungen, die ich finden konnte, habe ich der Windows-Firewall zwei eingehende Regeln hinzugefügt, WINTENwie hier gezeigt:

Windows Defender Firewall-Einstellungen

Auch wenn diese Regeln gelten, sobald die Windows Defender Firewall aktiviert ist, schlagen alle SSMS-Verbindungen WINTEN\MSSQLmit der folgenden Meldung fehl:

SSMS-Verbindungsfehler 26

Wie kann Windows Defender Firewall so konfiguriert werden, dass andere private Netzwerkcomputer eine Verbindung zu MS SQL Server herstellen können?


Update per ersten Vorschlag: Ich hatte bereits TCP-Port 1433 für den SQL Server aktiviert, wie hier gezeigt:

SQL Server-Konfigurations-Manager

2

2 Antworten auf die Frage

3
pholcroft

Öffnen Sie Dienste und finden Sie folgende Einträge:

SQL Server-Browser

SQL Server (WINTEN)

Gehen Sie in ihre Eigenschaften und notieren Sie sich die Pfade zu den ausführbaren Dateien.

Erstellen Sie in der Windows-Firewall mit erweiterter Sicherheit 4 neue eingehende Regeln, die die Verbindung dieser beiden Programme für TCP und UDP zulassen.

Windows Defender Settings

Normalerweise mache ich das über die Standard-Windows-Firewall (firewall.cpl), die diese Regeln mit weniger Aufwand für Sie erstellt. Öffnen Sie firewall.cpl und wählen Sie "App oder Feature über die Windows-Firewall zulassen". Wählen Sie eine andere App zulassen und fügen Sie die zwei zuvor gefundenen ausführbaren Pfade hinzu.

Der Grund dafür, dass Sie das Programm anstelle eines Ports durch die Firewall zulassen müssen, besteht darin, dass sich der SQL-Browser zwar immer auf Port 1433 befindet, Ihre SQL-Instanz sich jedoch auf einem zufälligen / dynamischen Port befindet, zu dem der SQL-Browser die Verbindung leitet. Wenn Sie Ports anstelle von Programmen zulassen möchten, müssen Sie die SQL-Instanz in eine Standardinstanz ändern und die Verwendung eines festen Ports erzwingen, bei dem der SQL-Browser deaktiviert ist.

Stellen Sie außerdem sicher, dass Ihr SQL-Browserdienst so konfiguriert ist, dass er beim Start automatisch gestartet wird und dass in SQL Configuration Manager TCP / IP für Ihre SQL-Instanz aktiviert ist.

Ja, nach dem in `Firewall.cpl` beschriebenen Vorgang war unkompliziert und endlich funktioniert! * Wenn nur * wir könnten eine Datenbank, ein O / S und eine Firewall erhalten, die alle von derselben Firma entwickelt wurden. *** Stellen Sie sich vor, wie cool es wäre ***: Wenn ein Benutzer die Datenbank so konfiguriert, dass Remote-Verbindungen zugelassen werden, Es könnte * automatisch * prüfen, ob die Firewall-Ports geöffnet sind, und möglicherweise wird der Benutzer sogar aufgefordert, die erforderlichen Ports * automatisch * zu öffnen! Ich weiß, ich weiß, meine Vision übertrifft meinen Griff ....;) feetwet vor 6 Jahren 0
Einige Dinge passen hier nicht zusammen. Erstens befindet sich der Browser auf UDP-Port 1434, nicht auf 1433. Zweitens hat OP bestätigt, dass er einen festen Port von TCP 1433 für seine Instanz festgelegt hat, sodass der SQL-Browser nicht erforderlich sein sollte. vic vor 6 Jahren 0
@vic - das mag wahr sein, und diese Lösung kann * mehr hinzufügen, als nötig * ist, insbesondere wenn meine bisherigen Bemühungen mich in Anspruch genommen haben. Ich kann das nicht von einem "sauberen" Zustand aus verifizieren, aber ich vermute, wenn man bei diesem Problem von vorne anfängt, würde dies alle Grundlagen abdecken. feetwet vor 6 Jahren 0
1
vic

Öffnen Sie den SQL Server Configuration Manager unter WINTEN.

Wählen Sie in der SQL Server-Netzwerkkonfiguration Ihre Instanz MSSQL aus und überprüfen Sie die Einstellungen für TCP / IP.

Stellen Sie sicher, dass das Protokoll aktiviert ist und der Server Port 1433 überwacht . (Registerkarte IP-Adressen, Abschnitt IPAll, Feld TCP-Port )

Danke: Im Verlauf des Versuchs, dies zum Laufen zu bringen, habe ich diesen Port aktiviert und eingestellt. Ich habe gerade einen Screenshot zum OP hinzugefügt. (Ich gehe davon aus, dass eingehende Verbindungen ohne Firewall bei weit geöffneter Firewall nicht funktionieren würden.) feetwet vor 6 Jahren 0
Ich gehe davon aus, dass die Schnittstelle "IP8" für Sie nicht relevant ist, da sie offensichtlich nicht mit Ihrem Netzwerk verbunden ist. Die einzige andere Sache, die ich mir vorstellen kann, ist, den Eintrag "Dynamische TCP-Ports" zu entfernen und dann den Server neu zu starten. Versuchen Sie auch, die Verbindung mit der IP-Adresse herzustellen, und informieren Sie mich, wenn Sie dieselbe Fehlermeldung erhalten. vic vor 6 Jahren 0
Das Entfernen des TCP-Ports für dynamische Ports hat nicht funktioniert. Ich kann jedoch sofort unter Verwendung der LAN-IP-Adresse des Servers eine Verbindung herstellen! Beleuchtet das die Probleme? feetwet vor 6 Jahren 0
Sie können ausschließen, dass Ihr Problem etwas mit SQL Server oder den jeweiligen Firewall-Einstellungen zu tun hat. Meine Vermutung ist, dass Sie sich nicht in einer Domäne befinden, sondern in einer Windows-Arbeitsgruppe und daher Windows-Dateifreigabe- und Netbios-Ports in der Firewall öffnen müssen, damit dies funktioniert. Versuchen Sie, TCP / UDP 135-139 und TCP / UDP 445 für Ihre private Zone zu öffnen. vic vor 6 Jahren 0
@feetwet Hast du ein Update zu deiner Situation? Wenn meine letzten Anmerkungen geholfen haben, füge ich sie der Antwort hinzu und wir können das Problem als gelöst markieren. vic vor 6 Jahren 0
Entschuldigung, ich bin gerade auf dieses Problem und diese Maschine zurückgekommen: Sie haben Recht, dass es sich nicht in einer Domäne befindet; Es befindet sich in einer Arbeitsgruppe und die Verbindung wird als "Privat" klassifiziert. Ich schaue mir die Firewall-Einstellungen an und für dieses "Private" -Profil sehe ich bereits "UDP" für "System" auf UDP 137, 138 und TCP 139, 445. Sind die anderen notwendig? Es muss einen besseren Weg geben, diese Berechtigungen zu steuern, als eine solche Anzahl von Regeln manuell einzugeben. (Keiner der anderen Windows 10-Computer hat dieses Problem.) feetwet vor 6 Jahren 0