Ich führe MS SQL Server 2008 auf meinem lokalen Computer aus. Ich weiß, dass der Standardport 1433 ist, aber einige, wie er an diesem Port nicht lauscht. Die SQL ist eine Express-Edition.
Ich habe bereits das Protokoll, SQL Server Management Studio, die Registrierung und die erweiterte gespeicherte Prozedur zum Auffinden des Ports ausprobiert. Aber ich konnte es nicht finden. Bitte hilf mir. Vielen Dank.
sql-server
sql-server-2008
Royalghost
quelle
quelle
Antworten:
Klicken Sie
Start
in Windows auf die Schaltfläche. Gehe zuAll Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager
Klicken Sie auf
SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP
Doppelklick (Rechtsklick auswählenProperties
) aufTCP/IP
.Sie werden finden
Default Port 1433
.Je nach Verbindung kann die Portnummer variieren.
quelle
Sie könnten auch mit einem schauen
Es gibt den Ports die entsprechende Anwendung, die sie offen hält.
Bearbeiten : oder TCPView .
quelle
Hier sind 5 Methoden, die ich gefunden habe:
Methode 4: sys.dm_exec_connections DMV
Ich denke, dies ist fast der einfachste Weg ...
DMVs geben den Serverstatus zurück, der zur Überwachung der SQL Server-Instanz verwendet werden kann. Wir können sys.dm_exec_connections DMV verwenden, um die Portnummer zu identifizieren, die die SQL Server-Instanz mithilfe des folgenden T-SQL-Codes abhört :
Methode 1: SQL Server Configuration Manager
Schritt 1. Klicken Sie auf Start> Alle Programme> Microsoft SQL Server 2012> Konfigurationstools> SQL Server Configuration Manager
Schritt 2. Gehen Sie zu SQL Server Configuration Manager> SQL Server-Netzwerkkonfiguration> Protokolle für
Schritt 3. Klicken Sie mit der rechten Maustaste auf TCP / IP und wählen Sie Eigenschaften
Schritt 4. Wechseln Sie im Dialogfeld TCP / IP-Eigenschaften zur Registerkarte IP-Adressen und scrollen Sie nach unten zur Gruppe IPAll.
Wenn SQL Server für die Ausführung an einem statischen Port konfiguriert ist, ist es im Textfeld "TCP-Port" verfügbar. Wenn es am dynamischen Port konfiguriert ist, ist der aktuelle Port im Textfeld "Dynamische TCP-Ports" verfügbar. Hier lauscht meine Instanz auf Portnummer 61499.
Die anderen Methoden finden Sie hier: http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/
quelle
Ich bin darauf gestoßen, weil ich gerade Probleme beim Erstellen einer Remoteverbindung hatte und nicht verstehen konnte, warum das Einrichten des 1433-Ports in der Firewall nicht funktioniert. Ich habe jetzt endlich das ganze Bild, also dachte ich, ich sollte es teilen.
Zuallererst ist es ein Muss, "TCP / IP" mit dem SQL Server Configuration Manager unter Protokolle für SQLEXPRESS zu aktivieren!
Wenn eine benannte Instanz verwendet wird (in diesem Fall "SQLExpress"), überwacht dies einen dynamischen Port. Um diesen dynamischen Port zu finden, haben Sie mehrere Möglichkeiten. um ein paar zu nennen:
Überprüfung
ERRORLOG
von SQL Server in'{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'
(im Inneren finden Sie eine Zeile ähnlich der folgenden:"2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]"
-> 51118 ist in diesem Fall der dynamische Port.Überprüfung der Registrierung :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
, für meinen FallTcpDynamicPorts=51118
.Edit :
{MSSQL instance name}
ist so etwas wie:MSSQL10_50.SQLEXPRESS
nicht nurSQLEXPRESS
Wenn Sie diesen TCP-Port in der Firewall zulassen und eine Remoteverbindung herstellen, indem Sie Folgendes übergeben:
"x.x.x.x,51118"
(wobei xxxx die Server-IP ist), wird dies bereits zu diesem Zeitpunkt behoben.Aber dann wollte ich eine Remoteverbindung herstellen, indem ich den Instanznamen übergab (zB :)
x.x.x.x\SQLExpress
. Dies ist der Zeitpunkt, an dem der SQL Browser-Dienst ins Spiel kommt. Dies ist die Einheit, die den Instanznamen in den 51118-Port auflöst. Der SQL Browser-Dienst überwacht den UDP-Port 1434 (Standard und statisch), daher musste ich dies auch in der Firewall des Servers zulassen.Um die eigentliche Antwort ein wenig zu erweitern: Wenn jemand anderes keine dynamischen Ports mag und einen statischen Port für seine SQL Server-Instanz möchte, sollte dieser Link verwendet werden .
quelle
Im ERROLOG-Protokoll für eine Zeile wie unten. Wenn Sie es nicht sehen, ist der SQL Server nicht für den Remotezugriff aktiviert oder nur nicht über TCP. Sie können dies über den SQL Server Configuration Manager ändern.
quelle
xp_readerrorlog 0, 1, N'Server is listening on'
Ich habe das Problem gelöst, indem ich TCP / IP mit dem SQL Server Configuration Manager unter Protokolle für SQLEXPRESS2008 aktiviert habe. Ich habe den Dienst neu gestartet und jetzt wird in der ERRORLOG-Datei "Server lauscht" angezeigt
quelle
Versuchen Sie dies (erfordert Zugriff auf
sys.dm_exec_connections
):quelle
[Identifizieren des von der benannten Instanz des SQL Server-Datenbankmoduls verwendeten Ports durch Lesen der SQL Server-Fehlerprotokolle]
quelle
xp_readerrorlog 0, 1, N'Server is listening on'
Sie können diese beiden Befehle verwenden:
tasklist
undnetstat -oan
Tasklist.exe
ist wietaskmgr.exe
aber im Textmodus.Mit
tasklist.exe
oder könnentaskmgr.exe
Sie eine PID von erhaltensqlservr.exe
Mit
netstat -oan
wird eine Verbindungs-PID angezeigt, die Sie filtern können.Beispiel:
In diesem Beispiel lautet der SQLServer-Port 1280
Auszug aus: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html
quelle
Ich verwende das folgende Skript in SSMS
quelle
Dies kann auch über einen Port-Scan erfolgen. Dies ist die einzig mögliche Methode, wenn Sie keinen Administratorzugriff auf einen Remote-Server haben.
Wenn Sie Nmap ( http://nmap.org/zenmap/ ) verwenden, um einen "intensiven TCP-Scan" durchzuführen, erhalten Sie für alle Instanzen auf dem Server folgende Ergebnisse :
Wichtiger Hinweis: Zum Testen mit Query Analyzer oder MS SQL Server Management Studio müssen Sie Ihren Servernamen und Ihren Port anders bilden, als Sie normalerweise eine Verbindung zu einem Port herstellen würden, z. B. über HTTP, indem Sie anstelle eines Doppelpunkts ein Komma verwenden .
10.0.0.1,49843
Data Source=10.0.0.1,49843
jedoch
jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
quelle
Dies funktioniert für SQL Server 2005 - 2012. Suchen Sie im Fehlerprotokoll unter Anwendungen nach Ereignis-ID = 26022. Daraufhin werden die Portnummer des SQL-Servers sowie die IP-Adressen angezeigt, auf die zugegriffen werden darf.
quelle
Zusätzlich zu den oben aufgeführten Funktionen musste ich sowohl TCP- als auch UDP-Ports aktivieren, damit SQLExpress eine Remoteverbindung herstellen konnte. Da ich drei verschiedene Instanzen auf meinem Entwicklungscomputer habe, aktiviere ich
1430-1435
sowohl TCP als auch UDP.quelle