Я использую MS SQL Server 2008 на своем локальном компьютере. Я знаю, что порт по умолчанию - 1433, но почему-то он не прослушивает этот порт. SQL - это экспресс-выпуск.
Я уже пробовал журнал, SQL Server Management Studio, реестр и расширенную хранимую процедуру для поиска порта. Но я не смог его найти. Пожалуйста, помогите мне. Спасибо.
sql-server
sql-server-2008
королевский призрак
источник
источник
Ответы:
Нажмите
Start
кнопку в Windows. Перейти кAll Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager
Щелкните
SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP
дважды (щелкните правой кнопкой мыши выберитеProperties
) наTCP/IP
.Вы найдете
Default Port 1433
.В зависимости от подключения номер порта может отличаться.
источник
Вы также можете посмотреть
Он предоставляет порты с соответствующим приложением, которое держит их открытыми.
Изменить : или TCPView .
источник
Вот 5 методов, которые я нашел:
Метод 4: sys.dm_exec_connections DMV
Я думаю, что это почти самый простой способ ...
DMV возвращают состояние сервера, которое можно использовать для мониторинга экземпляра SQL Server. Мы можем использовать sys.dm_exec_connections DMV для определения номера порта, который прослушивает экземпляр SQL Server, используя приведенный ниже код T-SQL:
Метод 1: диспетчер конфигурации SQL Server
Шаг 1. Щелкните Пуск> Все программы> Microsoft SQL Server 2012> Инструменты настройки> Диспетчер конфигурации SQL Server.
Шаг 2. Перейдите в Диспетчер конфигурации SQL Server> Сетевая конфигурация SQL Server> Протоколы для
Шаг 3. Щелкните правой кнопкой мыши TCP / IP и выберите Свойства.
Шаг 4. В диалоговом окне свойств TCP / IP перейдите на вкладку IP-адреса и прокрутите вниз до группы IPAll.
Если SQL Server настроен для работы на статическом порту, он будет доступен в текстовом поле TCP Port, а если он настроен на динамический порт, то текущий порт будет доступен в текстовом поле TCP Dynamic Ports. Здесь мой экземпляр прослушивает порт номер 61499.
Другие методы вы можете найти здесь: http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/
источник
Я столкнулся с этим, потому что у меня просто были проблемы с созданием удаленного соединения, и я не мог понять, почему настройка порта 1433 в брандмауэре не работает. Теперь у меня наконец-то есть полная картина, поэтому я подумал, что должен поделиться.
Прежде всего необходимо включить "TCP / IP" с помощью диспетчера конфигурации SQL Server в разделе "Протоколы для SQLEXPRESS"!
Когда используется именованный экземпляр (в данном случае «SQLExpress»), он будет прослушивать динамический порт. Чтобы найти этот динамический порт, у вас есть несколько вариантов; назвать несколько:
проверка
ERRORLOG
SQL-сервера, расположенного'{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'
внутри (внутри вы найдете строку, подобную этой:"2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]"
-> так что 51118 - это динамический порт в этом случае.проверка реестра:,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
для моего случаяTcpDynamicPorts=51118
.Изменить :
{MSSQL instance name}
это что-то вроде:,MSSQL10_50.SQLEXPRESS
не толькоSQLEXPRESS
Конечно, разрешение этого TCP-порта в брандмауэре и создание удаленного соединения путем передачи:
"x.x.x.x,51118"
(где xxxx - IP-адрес сервера) уже решает эту проблему на этом этапе.Но потом я захотел подключиться удаленно, передав имя экземпляра (например:)
x.x.x.x\SQLExpress
. Именно тогда в игру вступает служба браузера SQL. Это модуль, который преобразует имя экземпляра в порт 51118. Служба браузера SQL прослушивает UDP-порт 1434 (стандартный и статический), поэтому мне пришлось разрешить это также в брандмауэре сервера.Чтобы немного расширить фактический ответ: если кому-то еще не нравятся динамические порты и ему нужен статический порт для своего экземпляра SQL Server, следует попробовать эту ссылку .
источник
В журнале ERROLOG для строки, как показано ниже. Если вы этого не видите, значит, в SQL Server не включен удаленный доступ, или он просто не через TCP. Вы можете изменить это с помощью диспетчера конфигурации SQL Server.
источник
xp_readerrorlog 0, 1, N'Server is listening on'
Я решил проблему, включив TCP / IP с помощью диспетчера конфигурации SQL Server в разделе «Протоколы для SQLEXPRESS2008», я перезапустил службу, и теперь в файле ERRORLOG отображается сообщение «Сервер прослушивает».
источник
Попробуйте это (требуется доступ
sys.dm_exec_connections
):источник
[Определите порт, используемый именованным экземпляром ядра СУБД SQL Server, прочитав журналы ошибок SQL Server]
источник
xp_readerrorlog 0, 1, N'Server is listening on'
Вы можете использовать эти две команды:
tasklist
иnetstat -oan
Tasklist.exe
вродеtaskmgr.exe
но в текстовом режиме.С помощью
tasklist.exe
илиtaskmgr.exe
вы можете получить PIDsqlservr.exe
С помощью
netstat -oan
он показывает PID подключения, и вы можете его фильтровать.Пример:
В этом примере порт SQLServer - 1280.
Взято из: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html
источник
Я использую следующий скрипт в SSMS
источник
Это также можно сделать с помощью сканирования портов, что является единственно возможным методом, если у вас нет доступа администратора к удаленному серверу.
Использование Nmap ( http://nmap.org/zenmap/ ) для выполнения «Интенсивного сканирования TCP» даст вам такие результаты для всех экземпляров на сервере:
Важное примечание: для тестирования с помощью анализатора запросов или MS SQL Server Management Studio вы должны сформировать имя и порт своего сервера иначе, чем вы обычно подключаетесь к порту, например, через HTTP, используя запятую вместо двоеточия .
10.0.0.1,49843
Data Source=10.0.0.1,49843
тем не мение
jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
источник
Это работает для SQL Server 2005 - 2012. Ищите событие id = 26022 в журнале ошибок под приложениями. Это покажет номер порта сервера sql, а также то, к каким IP-адресам разрешен доступ.
источник
В дополнение к перечисленному выше мне пришлось включить порты TCP и UDP для удаленного подключения SQLExpress. Поскольку на моей машине разработки есть три разных экземпляра, я включаю
1430-1435
и TCP, и UDP.источник