Comment trouver le port D'exécution du serveur SQL?
Oui, j'ai lu cette Comment trouver le port pour MS SQL Server 2008?
pas de chance.
telnet 1433
renvoie la connexion qui a échoué, donc je dois spécifier un autre port.
j'ai essayé d'utiliser
netstat-abn
mais je ne vois pas sqlservr.exe ou quelque chose de similaire sur cette liste.
Pourquoi est-ce si difficile de trouver ce port? : /
11 réponses
essayez ceci:
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on'
GO
http://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used /
très simple. prenez note du sqlsrvr.exe PID de taskmanager alors exécutez cette commande:
netstat -ano | findstr *PID*
il affichera les connexions TCP et UDP de votre serveur SQL (y compris les ports) la norme est 1433 pour TCP et 1434 pour UDP
exemple :
C'est celui qui travaille pour moi:
SELECT DISTINCT
local_tcp_port
FROM sys.dm_exec_connections
WHERE local_tcp_port IS NOT NULL
si vous pouvez démarrer le Gestionnaire de Configuration de serveur Sql > Configuration réseau de Serveur SQL > votre instance > TCP / IP > propriétés
si vous avez lancé "netstat-a-b-n" (À partir d'une invite de commande élevée) et que vous ne voyez pas "sqlservr.exe" alors soit votre service de serveur SQL n'est pas en cours d'exécution ou sa bibliothèque de réseau TCP/IP est désactivée.
Exécuter SQL Server Configuration Manager (Démarrer | Tous les Programmes | Microsoft SQL Server 2008 | Outils de Configuration).
naviguez vers les services SQL Server. Dans le panneau de droite, recherchez SQL Server (). Est-il arrêté? Si oui, commencez.
naviguez vers la Configuration réseau de SQL Server (ou la Configuration réseau de SQL Server (32 bits) selon le cas) puis les protocoles pour . Dans le volet de droite, cherchez "TCP/IP". Est-il désactivé? Si c'est le cas, activez-le, puis redémarrez le service SQL Server.
notez que l'ID de L'Instance sera MSSQLSERVER pour l'instance par défaut.
veuillez également noter que vous n'avez pas à activer la bibliothèque réseau TCP/IP pour connecter un client à la service. Les Clients peuvent également se connecter via la Bibliothèque du réseau de mémoire partagée (si le client est sur la même machine) ou la Bibliothèque du réseau Pipes nommé.
peut-être qu'il n'utilise pas TCP/IP
regardez le gestionnaire de Configuration du serveur SQL pour voir quels protocoles il utilise.
dans notre entreprise je n'ai pas accès au serveur MSSQL, donc je peux accéder aux tables système.
ce qui fonctionne pour moi est:
- capturez le trafic réseau
Wireshark
(exécutez en tant qu'Administrateur, sélectionnez Interface réseau),tout en ouvrant la connexion au serveur. - trouver l'adresse ip avec
ping
- filtre avec
ip.dst == x.x.x.x
le port est indiqué dans la colonne info
dans le format src.port -> dst.port
essayer d'activer le protocole par: Gestionnaire de Configuration > Configuration Réseau du serveur SQL > protocoles pour MSSQLSERVER > propriétés de TCP / IP
SQL Server 2000 Programme| MS SQL Server | Utilitaire Réseau Client | Sélectionnez TCP_IP puis Propriétés
SQL Server 2005 Programme| SQL Server | SQL Server Configuration Manager | Sélectionnez les protocoles pour MSSQLSERVER ou sélectionnez les protocoles clients et cliquez avec le bouton droit de la souris sur TCP/IP
essayer encore une fois:-
USE master
DECLARE @portNumber NVARCHAR(10)
EXEC xp_instance_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key =
'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',
@value_name = 'TcpDynamicPorts',
@value = @portNumber OUTPUT
SELECT [Port Number] = @portNumber
GO
c'est un autre script que j'utilise:
-- Find Database Port script by Jim Pierce 09/05/2018
USE [master]
GO
DECLARE @DynamicportNo NVARCHAR(10);
DECLARE @StaticportNo NVARCHAR(10);
DECLARE @ConnectionportNo INT;
-- Look at the port for the current connection
SELECT @ConnectionportNo = [local_tcp_port]
FROM sys.dm_exec_connections
WHERE session_id = @@spid;
-- Look for the port being used in the server's registry
EXEC xp_instance_regread @rootkey = 'HKEY_LOCAL_MACHINE'
,@key =
'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll'
,@value_name = 'TcpDynamicPorts'
,@value = @DynamicportNo OUTPUT
EXEC xp_instance_regread @rootkey = 'HKEY_LOCAL_MACHINE'
,@key =
'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll'
,@value_name = 'TcpPort'
,@value = @StaticportNo OUTPUT
SELECT [PortsUsedByThisConnection] = @ConnectionportNo
,[ServerStaticPortNumber] = @StaticportNo
,[ServerDynamicPortNumber] = @DynamicportNo
GO