Как найти SQL Server работает порт?
Да я читал это как найти порт для MS SQL Server 2008?
не повезло.
telnet 1433
возвращает соединение не удалось, поэтому я должна указать другой порт.
Я пытался использовать
netstat-abn
но я не вижу sqlservr.exe или что-то подобное в этом списке.
Почему так трудно найти этот порт? :/
11 ответов:
попробуйте это:
USE master GO xp_readerrorlog 0, 1, N'Server is listening on' GOhttp://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used/
очень удобно. запишите sqlsrvr.ехе PID из Диспетчера задач затем выполните следующую команду:
netstat -ano | findstr *PID*он покажет TCP и UDP соединения вашего SQL server (включая порты) стандарт 1433 для TCP и 1434 для UDP
пример :
Это тот, который работает для меня:
SELECT DISTINCT local_tcp_port FROM sys.dm_exec_connections WHERE local_tcp_port IS NOT NULL
Если вы запустили "netstat-a-b-n" (из командной строки с повышенными правами), и вы не видите "sqlservr.exe " вообще, то либо ваша служба SQL Server не работает, либо ее сетевая библиотека TCP/IP отключена.
запустите Диспетчер конфигурации SQL Server (Пуск | Все программы | Microsoft SQL Server 2008 | средства настройки).
перейдите к службам SQL Server. В правой области найдите SQL Server (). Это остановлено? Если да, то начните его.
перейдите к Сетевая конфигурация SQL Server (или сетевая конфигурация SQL Server (32-разрядная), если это необходимо), а затем протоколы для. В правой панели найдите "TCP / IP". Он отключен? Если это так, включите его, а затем перезапустите службу SQL Server.
обратите внимание, что идентификатор экземпляра будет MSSQLSERVER для экземпляра по умолчанию.
также обратите внимание, что вам не нужно включать сетевую библиотеку TCP/IP для подключения клиента к службе. Клиенты также могут подключаться через общую память сетевая библиотека (если клиент находится на том же компьютере) или сетевая библиотека именованных каналов.
может быть, он не использует TCP / IP
посмотрите на Диспетчер конфигурации SQL Server, чтобы узнать, какие протоколы он использует.
на нашем предприятии у меня нет доступа к серверу MSSQL, поэтому я не могу получить доступ к системным таблицам.
то, что работает для меня-это:
- захват сетевого трафика
Wireshark(Запуск от имени администратора, выберите сетевой интерфейс), при открытии подключения к серверу.- найти ip-адрес с
ping- фильтр
ip.dst == x.x.x.xпорт отображается в столбце
infoв форматеsrc.port -> dst.port
попробуйте включить протокол с помощью: Настройки Яслях> конфигурация сети SQL server>протоколы для MSSQLSERVER > свойства TCP / IP
SQL Server 2000 Запрограммированный| MS SQL Server | Клиентская Сетевая Утилита | Выберите TCP_IP, затем Свойства
SQL Server 2005 Запрограммированный| SQL-сервер| Диспетчер конфигурации SQL Server | Выберите протоколы для MSSQLSERVER или выберите клиентские протоколы и щелкните правой кнопкой мыши на TCP / IP
один раз попробовать:-
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
Это еще один скрипт, который я использую:
-- 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


Comments