Comment trouver le port pour MS SQL Server 2008?

j'exécute MS SQL Server 2008 sur ma machine locale. Je sais que le port par défaut est 1433, mais il y a des raisons pour lesquelles il n'écoute pas ce port. Le SQL est une édition Express.

j'ai déjà essayé le log, SQL Server Management Studio, registry, et la procédure stockée étendue pour trouver le port. Mais, je ne pouvais pas le trouver. S'il vous plaît aider moi. Grâce.

95
demandé sur Prabin Paudel 2009-10-05 12:25:04

13 réponses

cliquez sur le bouton Start sous Windows. Aller à All Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager

Cliquez sur SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP double clic (clic droit sur Properties ) sur TCP/IP

vous trouverez Default Port 1433 .

selon la connexion, le numéro de port peut varier.

131
répondu pudaykiran 2013-06-15 04:45:38

vous pouvez aussi regarder avec un

netstat -abn

Il donne les ports avec l'application correspondante qui les maintient ouvert.

Modifier : ou TCPView .

48
répondu rslite 2009-10-05 08:51:36

Voici 5 méthodes que j'ai trouvées:

  • Méthode 1: gestionnaire de Configuration du serveur SQL
  • Méthode 2: Visualiseur D'Événements Windows
  • Méthode 3: SQL Server Error Logs
  • méthode 4: sys.dm_exec_connections DMV
  • méthode 5: registre de lecture utilisant xp_instance_regread

méthode 4: sys.dm_exec_connections DMV

Je pense que c'est presque la manière la plus facile...

L'état du serveur de retour DMVs qui peut être utilisé pour surveiller L'Instance du serveur SQL. Nous pouvons utiliser sys.dm_exec_connections DMV pour identifier le numéro de port sur lequel L'Instance du serveur SQL écoute en utilisant le code T-SQL ci-dessous:

SELECT local_tcp_port
FROM   sys.dm_exec_connections
WHERE  session_id = @@SPID
GO

Result Set:
local_tcp_port
61499

(1 row(s) affected)

Méthode 1: gestionnaire de Configuration du serveur SQL

Étape 1. Cliquez sur Démarrer > Tous les programmes > Microsoft SQL Server 2012 > outils de Configuration > SQL Server Configuration Manager

Étape 2. Allez à SQL Server Configuration Manager > SQL Server Configuration réseau > Protocoles pour

Étape 3. Cliquez avec le bouton droit de la souris sur TCP/IP et sélectionnez Propriétés

enter image description here

Étape 4. Dans la boîte de dialogue Propriétés TCP/IP, allez à L'onglet Adresses IP et faites défiler Jusqu'à IPAll groupe.

enter image description here

si SQL Server est configuré pour fonctionner sur un port statique, il sera disponible dans TCP Port textbox, et s'il est configuré sur un port dynamique, alors le port courant sera disponible dans TCP Dynamic Ports textbox. Ici, mon instance écoute sur le port numéro 61499.

Les autres méthodes que vous pouvez trouver ici: http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on /

44
répondu brothers28 2018-02-08 08:57:56

je suis tombé sur ceci parce que j'avais juste des problèmes pour créer une connexion à distance et je ne pouvais pas comprendre pourquoi configurer le port 1433 dans firewall ne fait pas le travail. J'ai enfin le tableau complet maintenant, donc j'ai pensé que je devrais partager.

tout d'abord est un must pour activer "TCP/IP" en utilisant le gestionnaire de Configuration SQL Server sous protocoles pour SQLEXPRESS!

Lorsqu'une instance nommée est utilisée ("SQLExpress" dans ce cas), celle-ci écoutera sur une port dynamique. Pour trouver ce port dynamique vous avez quelques options; pour n'en nommer que quelques-unes:

  • vérification ERRORLOG du serveur SQL situé dans '{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log' (vous trouverez à l'intérieur une ligne similaire à celle-ci: "2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]" -- > ainsi 51118 est le port dynamique dans ce cas.

  • vérification du registre: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll , pour mon cas TcpDynamicPorts=51118 .

    Modifier : {MSSQL instance name} est quelque chose comme: MSSQL10_50.SQLEXPRESS , pas seulement SQLEXPRESS

bien sûr, autoriser ce port TCP dans le pare-feu et créer une connexion à distance en passant par: "x.x.x.x,51118" (où x. x.x.x est l'ip du serveur) le résout déjà à ce point.

mais ensuite j'ai voulu me connecter à distance en passant dans le nom de l'instance (E. g: x.x.x.x\SQLExpress ). C'est à ce moment que le service de navigateur SQL entre en jeu. C'est l'unité qui résout le nom de l'instance dans le port 51118. SQL Browser service écoute sur UDP port 1434 (standard & static), donc j'ai dû autoriser cela aussi dans le pare-feu du serveur.

pour étendre un peu la réponse actuelle: si quelqu'un d'autre n'aime pas les ports dynamiques et veut un port statique pour son instance de Serveur SQL, devrait essayer ce lien .

17
répondu Learner 2015-09-14 11:35:47

dans le journal ERROLOG pour une ligne comme ci-dessous. Si vous ne le voyez pas, le serveur SQL N'est pas activé pour l'accès à distance, ou ce N'est tout simplement pas via TCP. Vous pouvez modifier cela via le gestionnaire de Configuration du serveur SQL.

Server is listening on [ 192.128.3.2 <ipv4> 1433].
11
répondu mrdenny 2009-10-05 08:30:28

j'ai résolu le problème en activant le protocole TCP / IP en utilisant le gestionnaire de Configuration du serveur SQL sous les protocoles pour SQLEXPRESS2008, j'ai redémarré le service et maintenant le "serveur écoute sur" apparaît dans le fichier ERRORLOG

8
répondu Lepez 2011-02-22 23:29:06

Essayez ceci (nécessite l'accès à des sys.dm_exec_connections ):

SELECT DISTINCT 
    local_tcp_port 
FROM sys.dm_exec_connections 
WHERE local_tcp_port IS NOT NULL
8
répondu Tilo 2014-06-11 22:44:23
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on', 'any', NULL, NULL, N'asc' 
GO

[identifier le Port utilisé par L'Instance nommée du moteur de base de données SQL Server en lisant les journaux D'erreurs du serveur SQL]

6
répondu Morteza 2014-05-24 15:31:21

j'utilise le script suivant dans SSMS

SELECT
     s.host_name
    ,c.local_net_address
    ,c.local_tcp_port
    ,s.login_name
    ,s.program_name
    ,c.session_id
    ,c.connect_time
    ,c.net_transport
    ,c.protocol_type
    ,c.encrypt_option
    ,c.client_net_address
    ,c.client_tcp_port
    ,s.client_interface_name
    ,s.host_process_id
    ,c.num_reads as num_reads_connection
    ,c.num_writes as num_writes_connection
    ,s.cpu_time
    ,s.reads as num_reads_sessions
    ,s.logical_reads as num_logical_reads_sessions
    ,s.writes as num_writes_sessions
    ,c.most_recent_sql_handle
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
    ON c.session_id = s.session_id

--filter port number
--WHERE c.local_tcp_port <> 1433
4
répondu Rubens 2014-04-30 19:59:22

cela peut aussi être fait via une analyse de ports, qui est la seule méthode possible si vous n'avez pas d'accès administrateur à un serveur distant.

utilisant Nmap ( http://nmap.org/zenmap / ) pour faire un "Intense TCP scan" vous donnera des résultats comme celui-ci pour toutes instances sur le serveur:

[10.0.0.1\DATABASE]    
Instance name: DATABASE
Version: Microsoft SQL Server 2008 R2 RTM    
Product: Microsoft SQL Server 2008 R2    
Service pack level: RTM    
TCP port: 49843    
Named pipe: \10.0.0.1\pipe\MSSQL$DATABASE\sql\query

Important note: pour tester avec un analyseur de requête ou MS SQL Server Management Studio vous devez former le nom et le port de votre serveur différemment de ce que vous feriez normalement pour vous connecter à un port, par exemple via HTTP, en utilisant une virgule au lieu de deux points .

  • Management Studio Nom Du Serveur: 10.0.0.1,49843
  • Chaîne De Connexion: Data Source=10.0.0.1,49843

toutefois

  • chaîne de connexion JDBC: jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
4
répondu Shane 2014-08-22 22:52:12

vous pouvez utiliser ces deux commandes: tasklist et netstat -oan

Tasklist.exe est comme taskmgr.exe mais en mode texte.

avec tasklist.exe ou taskmgr.exe vous pouvez obtenir un PID de sqlservr.exe

avec netstat -oan , il affiche un PID de connexion, et vous pouvez le filtrer.

exemple:

C:\>tasklist | find /i "sqlservr.exe"
sqlservr.exe  1184 Services    0 3.181.800 KB

C:\>netstat -oan | find /i "1184"
TCP  0.0.0.0:1280  0.0.0.0:0  LISTENING  1184

dans cet exemple, le port SQLServer est 1280

extrait de: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html

4
répondu Demestrestalk 2016-03-07 11:25:08

Ce fonctionne pour SQL Server 2005 - 2012. Rechercher l'id d'événement = 26022 dans le journal des erreurs sous applications. Cela affichera le numéro de port de sql server ainsi que les adresses ip autorisées.

1
répondu Mukus 2012-12-13 04:51:58

en plus de ce qui est indiqué ci-dessus, j'ai dû activer les ports TCP et UDP pour SQLExpress pour me connecter à distance. Parce que j'ai trois instances différentes sur ma machine de développement, j'active 1430-1435 pour TCP et UDP.

1
répondu D. Davidson 2013-04-08 21:11:55