Używam MS SQL Server 2008 na moim komputerze lokalnym. Wiem, że domyślny port to 1433 ale trochę jak nie nasłuchuje na tym porcie. SQL jest wersją Express.
Wypróbowałem już dziennik, SQL Server Management Studio, rejestr i rozszerzoną procedurę składowaną w celu znalezienia portu. Ale nie mogłem go znaleźć. Proszę pomóż mi. Dzięki.
sql-server
sql-server-2008
royalghost
źródło
źródło
Odpowiedzi:
Kliknij
Start
przycisk w systemie Windows. Iść doAll Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager
Kliknij
SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP
dwukrotnie (wybierz prawym przyciskiem myszyProperties
) naTCP/IP
.Znajdziesz
Default Port 1433
.W zależności od połączenia numer portu może się różnić.
źródło
Możesz również spojrzeć z rozszerzeniem
Daje porty z odpowiednią aplikacją, która utrzymuje je otwarte.
Edit : lub TCPView .
źródło
Oto 5 metod, które znalazłem:
Metoda 4: sys.dm_exec_connections DMV
Myślę, że jest to prawie najłatwiejszy sposób ... DMV
zwracają stan serwera, którego można użyć do monitorowania wystąpienia SQL Server. Możemy użyć sys.dm_exec_connections DMV do zidentyfikowania numeru portu, na którym nasłuchuje wystąpienie SQL Server, używając poniższego kodu T-SQL:
Metoda 1: Menedżer konfiguracji programu SQL Server
Krok 1. Kliknij Start> Wszystkie programy> Microsoft SQL Server 2012> Narzędzia konfiguracyjne> Menedżer konfiguracji programu SQL Server
Krok 2. Przejdź do SQL Server Configuration Manager> SQL Server Network Configuration> Protocols for
Krok 3. Kliknij prawym przyciskiem myszy TCP / IP i wybierz Właściwości
Krok 4. W oknie dialogowym Właściwości protokołu TCP / IP przejdź do zakładki Adresy IP i przewiń w dół do grupy IPAll.
Jeśli SQL Server jest skonfigurowany do pracy na porcie statycznym, będzie dostępny w polu tekstowym TCP Port, a jeśli jest skonfigurowany na porcie dynamicznym, to bieżący port będzie dostępny w polu tekstowym TCP Dynamic Ports. Tutaj moja instancja nasłuchuje na porcie o numerze 61499.
Inne metody można znaleźć tutaj: http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/
źródło
Natknąłem się na to, ponieważ miałem tylko problemy z utworzeniem zdalnego połączenia i nie mogłem zrozumieć, dlaczego ustawienie portu 1433 w zaporze nie działa. Wreszcie mam teraz pełny obraz, więc pomyślałem, że powinienem się nim podzielić.
Przede wszystkim należy włączyć „TCP / IP” za pomocą SQL Server Configuration Manager w obszarze Protocols for SQLEXPRESS!
Gdy używana jest nazwana instancja (w tym przypadku „SQLExpress”), nasłuchuje ona na porcie dynamicznym. Aby znaleźć ten dynamiczny port, masz kilka opcji; aby wymienić tylko kilka:
sprawdzenie
ERRORLOG
SQL Server znajdującego się w'{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'
(wewnątrz znajduje się linia podobna do tej:"2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]"
-> więc 51118 jest w tym przypadku portem dynamicznym.sprawdzanie rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
dla mojego przypadkuTcpDynamicPorts=51118
.Edycja :
{MSSQL instance name}
to coś w rodzaju:,MSSQL10_50.SQLEXPRESS
nie tylkoSQLEXPRESS
Oczywiście, zezwolenie na ten port TCP w zaporze i utworzenie zdalnego połączenia przez podanie:
"x.x.x.x,51118"
(gdzie xxxx to adres IP serwera) już w tym momencie rozwiązuje problem.Ale potem chciałem połączyć się zdalnie, podając nazwę instancji (np:
x.x.x.x\SQLExpress
.:). Wtedy do gry wkracza usługa SQL Browser. Jest to jednostka tłumacząca nazwę instancji na port 51118. Usługa SQL Browser nasłuchuje na porcie UDP 1434 (standardowym i statycznym), więc musiałem zezwolić na to również w zaporze serwera.Aby nieco rozszerzyć właściwą odpowiedź: jeśli ktoś nie lubi dynamicznych portów i chce statycznego portu dla swojej instancji SQL Server, powinien spróbować tego linku .
źródło
W dzienniku ERROLOG dla linii jak poniżej. Jeśli go nie widzisz, SQL Server nie obsługuje dostępu zdalnego lub po prostu nie działa przez TCP. Możesz to zmienić za pomocą SQL Server Configuration Manager.
źródło
xp_readerrorlog 0, 1, N'Server is listening on'
Rozwiązałem problem, włączając TCP / IP za pomocą SQL Server Configuration Manager w Protocols for SQLEXPRESS2008, zrestartowałem usługę i teraz w pliku ERRORLOG pojawia się komunikat „Serwer nasłuchuje”
źródło
Spróbuj tego (wymaga dostępu do
sys.dm_exec_connections
):źródło
[Zidentyfikuj port używany przez nazwane wystąpienie aparatu bazy danych programu SQL Server, odczytując dzienniki błędów programu SQL Server]
źródło
xp_readerrorlog 0, 1, N'Server is listening on'
Możesz użyć tych dwóch poleceń:
tasklist
inetstat -oan
Tasklist.exe
jest jaktaskmgr.exe
ale w trybie tekstowym.Za pomocą
tasklist.exe
lubtaskmgr.exe
można uzyskać PIDsqlservr.exe
Za pomocą
netstat -oan
pokazuje PID połączenia i możesz go filtrować.Przykład:
W tym przykładzie port SQLServer to 1280
Pobrano z: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html
źródło
Używam następującego skryptu w SSMS
źródło
Można to również zrobić poprzez skanowanie portów, które jest jedyną możliwą metodą, jeśli nie masz dostępu administratora do zdalnego serwera.
Użycie Nmapa ( http://nmap.org/zenmap/ ) do wykonania „Intensywnego skanowania TCP” da takie wyniki dla wszystkich instancji na serwerze:
Ważna uwaga: Aby przeprowadzić test za pomocą analizatora zapytań lub MS SQL Server Management Studio, musisz utworzyć nazwę serwera i port inaczej niż normalnie łączysz się z portem, na przykład przez HTTP, używając przecinka zamiast dwukropka .
10.0.0.1,49843
Data Source=10.0.0.1,49843
jednak
jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
źródło
To działa dla SQL Server 2005 - 2012. Spójrz na id = 26022 zdarzeń w dzienniku błędów pod zastosowań. To pokaże numer portu serwera sql, a także adresy IP, do których można uzyskać dostęp.
źródło
Oprócz tego, co zostało wymienione powyżej, musiałem włączyć zarówno porty TCP, jak i UDP, aby SQLExpress łączył się zdalnie. Ponieważ mam trzy różne wystąpienia na moim komputerze deweloperskim, włączam
1430-1435
zarówno protokół TCP, jak i UDP.źródło