Ms sql открыть порты на windows

Обновлено: 05.07.2024

Собственно не могу подключиться к MSSQL серверу по ODBC через 1с
Может кто знает куда копать ? как починить.

Попробую по пунктам описать куда копать:
1. стандартный порт для подключение по ODBC 1433 проверяем висит ли что то на этом порту:
netstat -an | find"1433"
2. Если да то копаем в сторону фаервола. разрешаем правила - либо целиком отключаем:
Если у вас включен Windows Firewall (или любой другой), необходимо открыть порт 1433
Если нетстат показывает что ничего не висит на 1433 то проверяем по пунктам:
1. Запускаем SQL Server Configuration Manager
В окне конфигурации SQL Server выберите ветку Network Configuration SQL Server -> Протоколы для SQL Server. Затем включите необходимые порты. Обычно достаточно TCP/IP.
- также в этом окошке откройти закладку ip adresses - и там в самом низу порт - он может быть не стандартный. (подключаться надо на него)

После этого перейдите в ветку Настройка собственного клиента SQL Клиентские протоколы. Произведите настройку необходимых протоколов. Обычно достаточно TCP/IP с настройками по умолчанию. Если вы измените номер порта, его нужно будет разблокировать в файрволе, а также указывать при соединении с SQL сервером. Рекомендуется оставить номер порта по умолчанию – 1433

2. После конфигурации протоколов, перейдите в ветку «Службы SQL Server». Перезапустите SQL Server.
3. Запустите Microsoft SQL Server Management Studio (среду управления сервером баз данных) и подключитесь к серверу. Кликните правой кнопкой мышки по серверу. В появившемся меню выберите «Свойства».
- В разделе «Безопасность» поставьте «Проверка подлинности SQL Server и Windows».
- В разделе «Соединения» установите опцию «Разрешить удаленные соединения с этим сервером».

ПЕРЕЗАПУСТИТЕ СЛУЖБУ SQL SERVERA.
ВОЗМОЖНО КОМУ ТО ПОМОЖЕТ: Фактический порт TCP для подключения через ODBC можно найти в реестре по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\SuperSocketNetLib\Tcp

Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.

И еще раз я об этом написал с самого начала, с чего стоит копать, стандартный порт подключения 1433
т.е мы на самом сервере должны понять.

1. Запустите NETSTAT -A чтобы просмотреть список открытых портов (скажем, LISTENING). Если 1433 нет среди них, то SQL-сервер не работает или не прослушивает этот порт.

2. Если в списке указано 1433, проверьте локальный брандмауэр, чтобы узнать, разрешает ли он подключение к/из локального хоста и/или разрешает подключения к 1433.

3. Вы можете попробовать TELNET 1433 (к локал хост и к внешнему ip с другово клиент)

Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.

Что делать если вы не видите открытый стандартный порт 1433, способы понять, какой порт использует ваш MSSQL

1. через (SQL Server Configuration Manager) - описал в самом первом посте и в посте ниже - этого.
2. через логи событий
3. SQL Server Error Logs
4. через выполнение SQL запроса.
5. через реестр - описал в первом ответе

---- описание всех способов:

By default SQL Server listens on TCP port number 1433, and for named instances TCP port is dynamically configured. There are several options available to get the listening port for SQL Server Instance.

Here are a few methods which we can use to get this information.

Method 1: SQL Server Configuration Manager

Method 2: Windows Event Viewer

Method 3: SQL Server Error Logs

Method 4: sys.dm_exec_connections DMV

Method 5: Reading registry using xp_instance_regread

Let's see how you can use each of these methods in detail:

Method 1: SQL Server Configuration Manager:

Step 1. Click Start > All Programs > Microsoft SQL Server 2012 > Configuration Tools > SQL Server Configuration Manager

Step 2. Go to SQL Server Configuration Manager > SQL Server Network Configuration > Protocols for <Instance Name>

Step 3. Right Click on TCP/IP and select Properties

Step 4. In TCP/IP Properties dialog box, go to IP Addresses tab and scroll down to IPAll group.

If SQL Server if configured to run on a static port it will be available in TCP Port textbox, and if it is configured on dynamic port then current port will be available in TCP Dynamic Ports textbox. Here my instance is listening on port number 61499.

Method 2: Windows Event Viewer:

When SQL Server is started it logs an event message as 'Server is listening on [ 'any' <ipv4> <port number>' in windows event logs. Here <port number> will be actual port number on which SQL Server is listening.

To view this using Event Viewer:

Step 1. Click Start > Administrative Tools > Event Viewer.

Note: If Administrative Tools are not available on Start menu, go to Start > Control Panel > System and Maintenance > Administrative Tools > View event logs

Step 2. Navigate to Event Viewer > Windows Logs > Application

Step 3. Since huge amount of event are logged, you need to use filtering to locate the required logs. Right click on Application and select Filter Current Log…

Step 4. You can filter the events by Event ID and Event source. The event we are interested in has Event ID of 26022, and it’s source is SQL Server Instance. You need to filter by both Event ID and SQL Server Instance if you have multiple instances installed, for a single instance you can filter by Event ID only. Click on OK to apply the filter.

Step 5. Once the filter is applied, Locate message 'Server is listening on [ 'any' <ipv4> …'. As we can see from below screenshot that SQL Server Instance is running on TCP Port 61499.

Method 3: SQL Server Error Logs:

When SQL Server is started it also logs an message to SQL Server Error Logs. You can search for port number in SQL Server Error Logs by opening SQL Server Error Log in notepad or via T-SQL using extended stored procedure xp_ReadErrorLog as below:

EXEC xp_ReadErrorLog 0, 1, N'Server is listening on', N'any', NULL, NULL, 'DESC'

LogDate ProcessInfo Text

2013-03-21 13:34:40.610 spid18s Server is listening on [ ‘any’ <ipv4> 61499].

2013-03-21 13:34:40.610 spid18s Server is listening on [ ‘any’ <ipv6> 61499].

(2 row(s) affected)

As we can see from the output that SQL Server Instance is listening on 61499.

Note: This method does not work if SQL Server Error Logs have been cycled. See sp_Cycle_ErrorLog for more information.

Method 4: sys.dm_exec_connections DMV:

DMVs return server state that can be used to monitor SQL Server Instance. We can use sys.dm_exec_connections DMV to identify the port number SQL Server Instance is listening on using below T-SQL code:

WHERE session_id = @@SPID

(1 row(s) affected)

As we can see from the output… same as above Smile

Method 5: Reading registry using xp_instance_regread:

Port number can also be retrieved from Windows Registry database.

We can use extended stored procedure xp_instance_regread to get port number information using below T-SQL code:

DECLARE @portNumber NVARCHAR(10)

'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',

@value = @portNumber OUTPUT

SELECT [Port Number] = @portNumber

(1 row(s) affected)

As we can see … same as above Smile Smile

Note: The above code will only work if SQL Server is configured to use dynamic port number. If SQL Server is configured on a static port, we need to use @value_name = 'TcpPort' as opposed to @value_name = 'TcpDynamicPorts'.

Hope This Helps!

Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.

Статические и динамические порты SQL Server


Microsoft SQL Server может работать в двух режимах:
Прослушивание одного порта (по-умолчанию это TCP порт 1433). Этот режим будет выбран по-умолчанию, если во время установки SQL Server не использовать именованный экземпляр.
Динамический выбор портов. В этом случае при запуске SQL Server выберет свободный порт. Этот режим будет выбран по-умолчанию, если во время установки SQL Server настроить на использование именованного экземпляра.

Для того чтобы определить и изменить режим работы SQL Server нужно:
Открыть "Диспетчер конфигурации SQL Server"
В левом столбце выбрать "Сетевая конфигурация SQL Server" -> "Протоколы для <инстанция SQL Server>"
В правом столбце дважды кликнуть по протоколу TCP/IP
В открывшемся окне в разделе IPAll указано два параметра:
"TCP порт" - при помощи этого параметра можно задать статический порт. По-умолчанию значение 1433.
"Динамические TCP порты" - при помощи этого параметра можно задать диапазон, из которых будет выбираться порт для SQL Server

Системы брандмауэров предотвращают несанкционированный доступ к ресурсам компьютера. Если брандмауэр включен, но настроен неправильно, попытка соединения с SQL Server может оказаться заблокированной.

Чтобы разрешить доступ к экземпляру SQL Server через брандмауэр, его необходимо настроить на компьютере, на котором работает SQL Server. Брандмауэр является компонентом Microsoft Windows. Вместо него можно установить брандмауэр другой компании. В этой статье обсуждается настройка брандмауэра Windows, однако общие принципы применимы к любым другим брандмауэрам.

В статье содержатся общие сведения о настройке брандмауэра и сводные сведения, представляющие интерес для администратора SQL Server. Дополнительные сведения и официальные данные о брандмауэрах см. в документации по брандмауэру, например в разделе Руководство по безопасности для развертывания брандмауэра Windows.

Пользователи, знакомые с управлением брандмауэром Windows и знающие, какие параметры брандмауэра они хотят настроить, могут перейти напрямую к более сложным статьям:

Основные сведения о брандмауэрах

Брандмауэр проверяет входящие пакеты на соответствие следующему набору правил:

  • Если пакет соответствует стандартам, заданным правилами, то брандмауэр передает его протоколу TCP/IP для дальнейшей обработки.
  • Пакет не соответствует стандартам, заданным в правилах.
    • В этом случае брандмауэр отклоняет пакет. Если включено ведение журнала, в файле журнала брандмауэра создается соответствующая запись.

    Список разрешенного трафика заполняется одним из следующих способов.

    Автоматически. Когда защищенный брандмауэром компьютер инициирует соединение, брандмауэр добавляет в список запись, чтобы разрешить ответ. Ответ считается запрашиваемым трафиком, и ничего настраивать не требуется.

    Вручную. Работа администратора заключается в настройке исключений в работе брандмауэра. Это открывает доступ к определенным программам или портам на вашем компьютере. В этом случае компьютер принимает весь входящий трафик, выполняя роль сервера, прослушивателя или однорангового узла. Настройку необходимо выполнить для подключения к SQL Server.

    Выбор стратегии брандмауэра является более сложной задачей и не сводится лишь к открытию или закрытию портов. При выборе стратегии брандмауэра для предприятия необходимо обязательно рассмотреть все доступные правила и параметры конфигурации. В этой статье не рассматриваются все возможные параметры брандмауэра. Рекомендуем ознакомиться со следующими документами:

    Параметры брандмауэра по умолчанию

    Первым шагом при планировании конфигурации брандмауэра является определение его текущего состояния в операционной системе. Если операционная система была обновлена с предыдущей версии, в ней могли сохраниться старые настройки брандмауэра. Изменять параметры брандмауэра в домене может групповая политика или администратор.

    Включение брандмауэра может повлиять на общий доступ к файлам и принтерам, подключения к удаленному рабочему столу и работу других программ, которым необходим доступ к компьютеру. Администратор должен просмотреть все приложения, которые работают на компьютере, прежде чем приступать к настройке параметров брандмауэра.

    Программы для настройки брандмауэра

    Настройте параметры брандмауэра Windows с помощью консоли управления (MMC) или netsh.

    Консоль управления (MMC)

    Оснастка «Брандмауэр Windows в режиме повышенной безопасности» позволяет настраивать дополнительные параметры брандмауэра. Эта оснастка представляет большинство параметров брандмауэра и в удобной форме, а также все профили брандмауэра. Дополнительные сведения см. в разделе Использование оснастки "Брандмауэр Windows в режиме повышенной безопасности" далее в этой статье.

    netsh

    Средство netsh.exe позволяет администратору настраивать и отслеживать компьютеры с Windows из командной строки или с помощью пакетного файла . При использовании средства netsh вводимые контекстные команды направляются соответствующим вспомогательным приложениям, которые их выполняют. Вспомогательное приложение — это файл библиотеки динамической компоновки (DLL) для расширения функциональных возможностей. Вспомогательное приложение обеспечивает настройку, мониторинг и поддержку различных служб, служебных программ и протоколов для средства netsh.

    Все операционные системы, поддерживающие SQL Server , имеют модуль поддержки брандмауэра. Windows Server 2008 также содержит расширенный помощник брандмауэра advfirewall. Многие из описанных параметров конфигурации можно настроить с помощью средства netsh. Например, выполните в командной строке следующий скрипт, чтобы открыть TCP-порт 1433:

    Аналогичный пример, использующий брандмауэр Windows для модуля поддержки повышенной безопасности:

    Дополнительные сведения о средстве netsh см. в следующих разделах:

    PowerShell

    В следующем примере показано, как открыть TCP-порт 1433 и UDP-порт 1434 для экземпляра по умолчанию SQL Server и службы обозревателя SQL Server:

    Дополнительные примеры см. в разделе New-NetFirewallRule.

    Для Linux. В Linux необходимо также открыть порты, связанные со службами, к которым вам нужен доступ. Различные дистрибутивы Linux и брандмауэры имеют свои процедуры. Примеры см. в руководствах по использованию SQL Server в Red Hat и SUSE.

    Порты, используемые SQL Server

    Следующие таблицы помогут выяснить, какие порты использует SQL Server.

    Ports Used By the Database Engine

    По умолчанию приведены типичные порты, используемые службами SQL Server и связанными службами ядра СУБД. TCP 1433, 4022, 135, 1434, UDP 1434. В таблице ниже эти порты описаны подробно. Именованный экземпляр использует динамические порты.

    В следующей таблице перечислены порты, обычно используемые компонентом Компонент Database Engine.

    SELECT name, protocol_desc, port, state_desc

    SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints

    Пошаговые инструкции по настройке брандмауэра Windows для Компонент Database Engine см. в разделе Настройка брандмауэра Windows для доступа к компоненту Database Engine.

    Динамические порты

    По умолчанию именованные экземпляры (включая SQL Server Express) используют динамические порты. Это означает, что при каждом запуске компонент Компонент Database Engine находит доступный порт и использует его номер. Если именованный экземпляр является единственным установленным экземпляром компонента Компонент Database Engine , то, скорее всего, он будет использовать TCP-порт 1433. При установке других экземпляров компонента Компонент Database Engine они будут использовать другие TCP-порты. Поскольку выбираемый порт при каждом запуске компонента Компонент Database Engine может меняться, трудно настроить брандмауэр на разрешение доступа к нужному порту. Если используется брандмауэр, рекомендуем перенастроить компонент Компонент Database Engine на постоянное использование одного и того же порта. Рекомендуется использовать фиксированный или статический порт. Дополнительные сведения см. в разделе Настройка сервера для прослушивания указанного TCP-порта (диспетчер конфигурации SQL Server).

    В качестве альтернативы настройке именованного экземпляра для прослушивания фиксированного порта можно создать в брандмауэре исключение для программы SQL Server, например sqlservr.exe (для компонента Компонент Database Engine). Номер порта не будет отображаться в столбце Локальный порт на странице Правила для входящего трафика при использовании оснастки MMC "Брандмауэр Windows в режиме повышенной безопасности". Аудит открытых портов может быть сложной задачей. Также нужно учитывать, что простой или накопительный пакет обновления может изменить путь к исполняемому файлу SQL Server, что сделает правило брандмауэра недействительным.

    Добавление в брандмауэр исключения для программы при помощи элемента "Брандмауэр Защитника Windows в режиме повышенной безопасности"

    В меню "Пуск" наберите wf.msc. Нажмите клавишу ВВОД или выберите результат поиска "wf.msc", чтобы открыть Брандмауэр Защитника Windows в режиме повышенной безопасности.

    В левой панели щелкните Правила для входящих подключений.

    В правой панели в разделе Действия нажмите кнопку Создать правило. . Откроется мастер создания правила для нового входящего подключения.

    В разделе Тип правила выберите Программа. Выберите Далее.

    C:\Program Files\Microsoft SQL Server\MSSQL15.<InstanceName>\MSSQL\Binn\sqlservr.exe

    Выберите Далее.

    В разделе Действие выберите вариант Разрешить подключение. Выберите Далее.

    В разделе Профиль включите все три профиля. Выберите Далее.

    Порты, используемые службами Analysis Services

    По умолчанию типичные порты, используемые SQL Server Analysis Services и связанными службами, — это: TCP 2382, 2383, 80, 443. В таблице ниже эти порты описаны подробно.

    В следующей таблице перечислены порты, обычно используемые службами Службы Analysis Services.

    Если пользователи обращаются к Службы Analysis Services через IIS и Интернет, необходимо открыть порт, где IIS ожидает передачи данных. Затем нужно указать порт в строке подключения клиента. В этом случае необязательно иметь открытые порты для прямого доступа к службам Службы Analysis Services. Необходимо ограничить доступ к порту по умолчанию 2389, порту 2382 и другим портам, доступ к которым не требуется.

    Пошаговые инструкции по настройке брандмауэра Windows для Службы Analysis Services см. в разделе Настройка брандмауэра Windows на разрешение доступа к службам Analysis Services.

    Порты, используемые службами Reporting Services

    По умолчанию SQL Server Reporting Services и связанные службы обычно используют порты TCP 80 и 443. В таблице ниже эти порты описаны подробно.

    В следующей таблице перечислены порты, обычно используемые службами Службы Reporting Services.

    Для соединения служб Службы Reporting Services с экземпляром компонента Компонент Database Engine или служб Службы Analysis Servicesнеобходимо также открыть соответствующие порты для этих служб. Пошаговые инструкции по настройке брандмауэра Windows для компонента Службы Reporting Servicesсм. в разделе Настройка брандмауэра для доступа к серверу отчетов.

    Порты, используемые службами Integration Services

    В следующей таблице перечислены порты, используемые службой Службы Integration Services .

    Пошаговые инструкции по настройке брандмауэра Windows для служб Службы Integration Services см. в статье Службы Integration Services (службы SSIS).

    Другие порты и службы

    В следующей таблице перечислены порты и службы, от которых может зависеть SQL Server .

    Свойство UnicastResponsesToMulticastBroadcastDisabled интерфейса INetFwProfile управляет работой брандмауэра и одноадресными ответами на широковещательные (или многоадресные) UDP-запросы. Возможны два варианта.

    Если этот параметр имеет значение TRUE, то одноадресные ответы на широковещательные запросы запрещены. Перечисление служб завершится ошибкой.

    Особые замечания относительно порта 135

    При использовании RPC с транспортным протоколом TCP/IP или UDP/IP входящие порты динамически назначаются системным службам по мере надобности. Используются порты TCP/IP и UDP/IP с номерами выше 1024. Эти порты называются "случайными RPC-портами". В этом случае RPC-клиент определяет порт, назначенный серверу, через модуль конечной точки RPC. Для некоторых служб, работающих через протокол RPC, можно настроить использование определенного фиксированного порта. Можно также ограничить диапазон портов, динамически назначаемых RPC и не зависящих от службы. Поскольку порт 135 используется для многих служб, он часто подвергается атакам злоумышленников. В случае открытия порта 135 рекомендуется ограничить область действия правила брандмауэра.

    Дополнительные сведения о порте 135 см. в следующих ресурсах.

    Взаимодействие с другими правилами брандмауэра

    Оснастка «Брандмауэр Windows в режиме повышенной безопасности» пропускает весь трафик, соответствующий применимым разрешающим правилам. Таким образом, если существуют два правила для порта 80 (с разными параметрами), то будет пропускаться трафик, соответствующий любому из них. Например, если одно правило разрешает трафик по порту 80 из локальной подсети, а другое разрешает трафик с любого адреса, то в итоге на порту 80 будет разрешен любой трафик независимо от источника. Чтобы обеспечить эффективное управление доступом к SQL Server, администратор должен периодически проверять все правила брандмауэра, разрешенные на сервере.

    Общие сведения о профилях брандмауэра

    В соответствии с профилями брандмауэра операционная система определяет и запоминает каждую из сетей по следующим параметрам: возможность подключения, имеющиеся подключения и категория.

    Брандмауэр Windows в режиме повышенной безопасности делит сети на три типа.

    • Домен. Windows может выполнить проверку подлинности доступа к контроллеру домена, в который включен компьютер.
    • Общедоступные. В эту категорию первоначально попадают все сети, не входящие в домены. Сети, которые представляют прямые соединения с Интернетом, являются открытыми (аэропорты, кафе и другие места открытого доступа).
    • Частные. Сеть, определенная пользователем или приложением как личная. Только доверенные сети могут быть определены как частные. Обычно в качестве частной сети определяется сеть малого предприятия, домашняя сеть и т. п.

    Администратор может создать профиль для каждого типа сети и задать для этих профилей разные политики брандмауэра. Одномоментно применим только один профиль. Профили применяются в следующем порядке.

    1. Профиль домена применяется, когда все интерфейсы проходят проверку подлинности на контроллере домена, членом которого является компьютер.
    2. Если все интерфейсы либо прошли проверку подлинности к контроллеру домена, либо соединены с сетями, которые определены как частные, применяется частный профиль.
    3. В противном случае применяется открытый профиль.

    Просмотреть и настроить профили брандмауэра можно с помощью оснастки «Брандмауэр Windows в режиме повышенной безопасности». Элемент Брандмауэр Windows на панели управления позволяет настраивать только текущий профиль.

    Дополнительные параметры брандмауэра в элементе «Брандмауэр Windows» на панели управления

    Добавление брандмауэра позволяет блокировать открытие порта для входящих подключений с определенных компьютеров или из локальной подсети. Ограничьте область открытия портов, чтобы сделать компьютер менее уязвимым для злоумышленников.

    Элемент Брандмауэр Windows на панели управления позволяет настроить только текущий профиль.

    Изменение области действия исключения брандмауэра с помощью «Брандмауэра Windows» на панели управления

    В панели управления в элементе Брандмауэр Windows выберите на вкладке Исключения программу или порт, а затем нажмите Свойства или Изменить.

    В диалоговом окне Изменение программы или Изменение порта нажмите Изменить область.

    Выберите один из следующих вариантов.

    Любой компьютер (включая компьютеры в Интернете) : не рекомендуется. В этом случае любой компьютер, способный обращаться к вашему, сможет подключаться к указанной программе или порту. Этот параметр может пригодиться для передачи данных анонимным пользователям Интернета, однако он повышает уязвимость компьютера. Уязвимость повысится, если одновременно с этим параметром разрешить обход с использованием преобразования сетевых адресов (NAT), например с помощью параметра "Разрешить обход узлов".

    Только моя сеть (подсеть) : это более безопасный вариант по сравнению с режимом Любой компьютер. Только компьютеры локальной подсети могут производить соединение с программой или портом.

    Особый список. Соединение разрешено только компьютерам, имеющим перечисленные здесь IP-адреса. Этот режим может быть более безопасным по сравнению с вариантом Только моя сеть (подсеть) , однако клиентские компьютеры, использующие протокол DHCP, могут иногда менять IP-адреса, что приводит к невозможности подключения. При этом другой компьютер, которому не предоставлялся доступ, может принять указанный в списке IP-адрес и подключиться к нему. Вариант Настраиваемый список подходит для получения списков других серверов, для которых настроены фиксированные IP-адреса. IP-адреса могут быть подделаны злоумышленником. Эффект ограничения правил брандмауэра напрямую зависит от уровня защиты сетевой инфраструктуры.

    Использование оснастки «Брандмауэр Windows в режиме повышенной безопасности»

    Оснастка MMC "Брандмауэр Windows в режиме повышенной безопасности" позволяет настроить расширенные параметры брандмауэра. Эта оснастка включает мастер настройки правил и позволяет изменять параметры, недоступные в элементе Брандмауэр Windows из панели управления. Эти параметры включают:

    • Параметры шифрования.
    • Ограничения служб.
    • Ограничение соединений для компьютеров по именам.
    • Ограничение соединений для определенных пользователей или профилей.
    • Разрешение просмотра узлов для исключения маршрутизаторов NAT.
    • Настройка правил исходящих соединений.
    • Настройка правил безопасности.
    • Требование протокола IPsec для входящих соединений.

    Создание правила брандмауэра при помощи мастера создания правил

    1. В меню "Пуск" выберите пункт Выполнить, введите WF.msc и нажмите кнопку ОК.
    2. В левой части панели Брандмауэр Windows в режиме повышенной безопасности щелкните правой кнопкой мыши элемент Правила для входящих подключений и выберите пункт Создать правило.
    3. Завершите мастер создания правила для нового входящего подключения , задав все необходимые параметры.

    Устранение неполадок настройки брандмауэра

    Следующие средства и методы могут оказаться полезными при устранении неполадок брандмауэра.

    Действующее состояние порта является объединением всех правил, связанных с этим портом. Чтобы заблокировать доступ к порту, бывает полезно просмотреть все правила, в которых он упоминается. Просмотрите правила с помощью оснастки MMC "Брандмауэр Windows в режиме повышенной безопасности" и отсортируйте правила для входящего и исходящего трафика по номеру порта.

    Просмотрите порты, которые активны на компьютере, где запущен SQL Server . В процессе анализа необходимо проверить, на каких портах TCP/IP ожидается передача данных, а также проверить состояние этих портов.

    Для определения, на каких портах ожидается передача данных, отобразите активные TCP-подключения и статистику IP-адресов, используя программу командной строки netstat.

    Получение списка прослушиваемых TCP/IP-портов

    Откройте окно командной строки.

    В командной строке введите netstat -n -a.

    При наличии параметра -n служебная программа netstat выводит адреса и номера портов активных подключений TCP в числовом виде. При наличии параметра -a служебная программа netstat выводит порты TCP и UDP, которые прослушиваются компьютером.

    В данном разделе описывается, как настроить брандмауэр Windows для доступа к компоненту Database Engine в SQL Server с помощью диспетчера конфигурации SQL Server. Системы брандмауэров предотвращают несанкционированный доступ к ресурсам компьютера. Чтобы обращаться к экземпляру компонента Компонент SQL Server Database Engine через брандмауэр, необходимо разрешить такой доступ в настройках брандмауэра на компьютере с SQL Server .

    Дополнительные сведения о настройках брандмауэра Windows по умолчанию и описание портов TCP, влияющих на компонент Компонент Database Engine, службы Analysis Services, службы Reporting Services и службы Integration Services, см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server. Существует множество систем брандмауэров. За сведениями о конкретном брандмауэре следует обратиться к документации по этому брандмауэру.

    Основные шаги для разрешения доступа.

    Настройка компонента Компонент Database Engine для использования конкретного порта TCP/IP. Экземпляр компонента Компонент Database Engine по умолчанию использует порт 1433. Порт можно изменить. Порт, используемый компонентом Компонент Database Engine , указывается в журнале ошибок SQL Server . Экземпляры SQL Server Express, SQL Server Compact и именованные экземпляры компонента Компонент Database Engine используют динамические порты. Сведения по настройке этих экземпляров для использования конкретного порта см. в разделе Настройка сервера для прослушивания указанного TCP-порта (диспетчер конфигурации SQL Server).

    Настройка брандмауэра, чтобы разрешить доступ к порту для авторизованных пользователей или компьютеров.

    Служба браузера SQL Server позволяет пользователям подключаться к экземплярам компонента Компонент Database Engine , которые не прослушивают порт 1433, не зная номера порта. Для использования браузера SQL Server необходимо открыть UDP-порт 1434. Чтобы поддерживать наиболее безопасную среду, остановите службу браузера SQL Server и настройте клиенты для подключения с помощью номера порта.

    По умолчанию в Microsoft Windows включен брандмауэр Windows, который закрывает порт 1433, чтобы защитить экземпляр по умолчанию SQL Server компьютера от входящих соединений из Интернета. Соединения с экземпляром по умолчанию по протоколу TCP/IP невозможны, пока порт 1433 не будет открыт. Основные шаги настройки брандмауэра Windows приведены в следующих процедурах. Дополнительные сведения см. в документации по Windows.

    Как вариант, вместо настройки SQL Server на прослушивание определенного порта и открытия порта можно включить исполняемый объект SQL Server (Sqlservr.exe) в список исключений заблокированных программ. Используйте этот метод, чтобы продолжить использовать динамические порты. Таким методом можно получить доступ только к одному экземпляру SQL Server .

    В этом разделе

    Перед началом работы

    Как настроить брандмауэр Windows для доступа к ядру СУБД, используя следующее средство:

    Перед началом

    безопасность

    Открытие портов на брандмауэре может привести к незащищенности сервера от вредоносных атак. Перед открытием портов убедитесь в том, что знаете принципы работы брандмауэров. Дополнительные сведения см. в разделе Security Considerations for a SQL Server Installation.

    Использование диспетчера конфигурации SQL Server

    Относится к Windows Vista, Windows 7 и Windows Server 2008

    В следующих процедурах выполняется настройка брандмауэра Windows с помощью оснастки «Брандмауэр Windows в режиме повышенной безопасности» консоли управления (MMC). В оснастке «Брандмауэр Windows в режиме повышенной безопасности» выполняется настройка только текущего профиля. Дополнительные сведения о брандмауэре Windows в режиме повышенной безопасности см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.

    Открытие порта в брандмауэре Windows для доступа TCP

    В меню Пуск выберите команду Выполнить, введите WF.msc и нажмите кнопку ОК.

    На левой панели Брандмауэр Windows в режиме повышенной безопасности щелкните правой кнопкой мыши раздел Правила для входящих подключений и выберите на панели действий пункт Создать правило .

    В диалоговом окне Тип правила выберите Порт и нажмите кнопку Далее.

    В диалоговом окне Протокол и порты выберите протокол TCP. Выберите пункт Определенные локальные порты и введите номер порта для экземпляра компонента Компонент Database Engine, например 1433 для экземпляра по умолчанию. Щелкните Далее.

    В диалоговом окне Действие выберите Разрешить соединение и нажмите кнопку Далее.

    В диалоговом окне Профиль выберите профили, описывающие среду соединения компьютеров, который нужно подключить к компоненту Компонент Database Engine, и нажмите кнопку Далее.

    В диалоговом окне Имя введите имя и описание правила и нажмите кнопку Готово.

    Открытие доступа к SQL Server при использовании динамических портов

    В меню Пуск выберите команду Выполнить, введите WF.msc и нажмите кнопку ОК.

    На левой панели Брандмауэр Windows в режиме повышенной безопасности щелкните правой кнопкой мыши раздел Правила для входящих подключений и выберите на панели действий пункт Создать правило .

    В диалоговом окне Тип правила выберите Программа и нажмите кнопку Далее.

    В диалоговом окне Действие выберите Разрешить соединение и нажмите кнопку Далее.

    В диалоговом окне Профиль выберите профили, описывающие среду соединения компьютеров, который нужно подключить к компоненту Компонент Database Engine, и нажмите кнопку Далее.

    В диалоговом окне Имя введите имя и описание правила и нажмите кнопку Готово.

    Если к службе Microsoft SQL Server должны подключаться программы с других компьютеров в сети, то необходимо чтобы правильным образом был настроен Брандмауэр Windows на сервере, где запущена служба. А именно разрешены входящие подключения по определенному порту, используемому компонентой Database Engine SQL Server. О том как узнать, какой порт использует SQL Server, изменить этот порт, а также настроить Брандмауэр Windows читайте в данной статье.

    0. Оглавление

    1. Что понадобится

    • Статья будет актуальна для Microsoft SQL Server 2012 и для Microsoft SQL Server 2008 (R2).
    • В качестве операционной системы сервера рассматриваются Microsoft Windows Server 2012 (R2) или Microsoft Windows Server 2008 (R2)

    2. Определение / изменения порта для «экземпляра по умолчанию»

    По умолчанию SQL Server использует для соединения порт 1433. Чтобы проверить это, запустим оснастку «Диспетчер конфигурации SQL Server» (SQL Server Configuration Manager). В Microsoft Windows Server 2012 (R2) ее можно найти в списке всех программ.

    Firewall_Windows_MS_SQL_Server_2012_01

    Firewall_Windows_MS_SQL_Server_2012_02

    В запустившейся оснастке раскроем вкладку «Сетевая конфигурация SQL Server» (SQL Server Network Configuration), затем выделим вкладку «Протоколы для MSSQLSERVER» (Protocols for MSSQLSERVER). В окне слева в таблице найдем протокол TCP/IP, кликнем по нему правой кнопкой мыши и в контекстном меню выберем «Свойства» (Properties).

    Firewall_Windows_MS_SQL_Server_2012_03

    Firewall_Windows_MS_SQL_Server_2012_04

    3. Определение / изменения порта для именованного экземпляра SQL Server

    В случае использования именованного экземпляра SQL Server ситуация аналогичная, за тем лишь исключением, что используются динамические TCP-порты. Это значит, что для каждого отдельного экземпляра будет назначен свой номер порта.

    Для определения / изменения текущего порта, найдем в оснастке «Диспетчер конфигурации SQL Server» (SQL Server Configuration Manager) вкладку с сетевой конфигурацией необходимого нам экземпляра SQL Server и перейдем в свойства протокола TCP/IP для данного экземпляра. Здесь, как и в предыдущем случае, на вкладке «IP-адреса» (IP Addresses) в ветке «IPAll» можно узнать, а также изменить динамический TCP-порт для текущего экземпляра SQL Server.

    Firewall_Windows_MS_SQL_Server_2012_05

    4. Добавление правила в Брандмауэр Windows

    Теперь, когда мы определились с номером порта, который будет использоваться для подключения к службе SQL Server, создадим разрешающее правило в Брандмауэре Windows на сервере, где запущена служба.

    О том, как добавить разрешающее правило для определенного порта в Microsoft Windows Server 2008 (R2) я уже писал здесь. В Windows Server 2012 (R2) действия аналогичны.

    Firewall_Windows_MS_SQL_Server_2012_06

    Далее нажимаем на « Дополнительные параметры » ( Advanced Settings ) в меню слева.

    Firewall_Windows_MS_SQL_Server_2012_07

    В открывшемся окне, в дереве слева откроем вкладку « Правила для входящих подключений » ( Inbound Rules ), а затем в меню « Действия » ( Actions ) выберем пункт « Создать правило… » ( New Rule… ).

    Запустится «Мастер создания правила для нового входящего подключения» (New Inbound Rule Wizard). На первой странице выберем тип правила (Rule Type) «Для порта» (Port) и нажмем «Далее» (Next).

    Firewall_Windows_MS_SQL_Server_2012_09

    Затем необходимо указать протокол (в нашем примере это TCP) и, непосредственно, номер порта (Specific local ports), который открываем. После чего жмем « Далее » ( Next ).

    Firewall_Windows_MS_SQL_Server_2012_10

    Теперь укажем действие связанное с добавляемым правилом. Выберем « Разрешить подключение » ( Allow the connection ) и нажмем « Далее » ( Next ).

    Firewall_Windows_MS_SQL_Server_2012_11

    На следующей странице нужно указать, для каких профилей брандмауэра будет действовать правило. Отмечаем нужные профили галочками и жмем « Далее » ( Next ).

    Firewall_Windows_MS_SQL_Server_2012_12

    Ну и наконец, вводим имя и описание для нового правила и нажимаем « Готово » ( Finish ) для завершения работы мастера.

    Firewall_Windows_MS_SQL_Server_2012_13

    А в оснастке « Брандмауэр Windows в режиме повышенной безопасности » ( Windows Firewall with Advanced Security ) в таблице « Правила для входящих подключений » ( Inbound Rules ) мы увидим только что созданное правило.

    Firewall_Windows_MS_SQL_Server_2012_14

    На этом настройка Брандмауэра завершена. Клиентские программы должны без препятствий подключиться к службе SQL Server.

    5. Порт для администрирования MS SQL Server

    Для того, чтобы к MS SQL Server можно было подключиться с помощью программы SQL Management Studio, необходимо также добавить правило для протокола UDP и порта 1434.

    Подробнее о используемых SQL Server портах здесь.

    Смотрите также:

    Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…

    Ниже будет рассказано о том, как добавить новое правило в Брандмауэр Windows Server 2008 R2. А конкретнее, будем добавлять разрешающее правило для порта 1433, который использует Microsoft SQL Server 2008 R2 или, как…

    Ниже приведена небольшая инструкция об изменении политики паролей в Microsoft Windows Server 2012 R2. По умолчанию политика паролей определена таким образом, что все пароли учетных записей пользователей должны удовлетворять следующим…

    date

    09.07.2020

    directory

    SQL Server

    comments

    Комментариев пока нет

    В этой статье мы разберемся как узнать текущий TCP порт, на котором слушает и ожидает подключения именованный или default экземпляр MS SQL Server, как изменить порт подключения SQL Server на статический/динамический и как используется служба SQL Server Browser клиентами при подключении к SQL.

    • Default экземпляр SQL Server (MSSQLSERVER) работает на статическом порту TCP 1433. Именно к этому порту подключаются клиенты, или консоль SQL Server Management Studio (SSMS);
    • Именованные экземпляры MSSQL и SQL Server Compact по-умолчанию настроены на использование динамического TCP порта из диапазона RPC (49152 – 65535).

    Динамической порт означает, что номер порта, на котором принимает подключение экземпляр MSSQL назначается при запуске службы SQL Server. В большинстве случаев, даже после перезагрузки сервера, SQL Server начнет слушать тот же самый динамический TCP порт, который был назначен до перезагрузки. Но если этот порт занят, SQL Server запустится на новом порту TCP (приложение, которое использует SQL обычно без проблем получит номер нового порта от службы SQL Server Browser, об этом чуть ниже). Динамический порты SQLServer удобны с точки зрения простоты администрирования нескольких экземпляров SQL на одном сервере, но вызывают множество проблем, если в вашей сети используются межсетевые экраны.

    Изменение номера TCP порта экземпляра SQL Server

    Вы можете перенастроить ваш сервер так, чтобы он слушал на другом статическом TCP или динамическом порту. Как правило это нужно, когда на одном SQL Server-e запушено несколько экземпляров, или у вас используются межсетевые экраны.

    Для управления портами подключения нам потребуется SQL Server Configuration Manager. Обычно эта оснастка устанавливается вместе с экземпляром MSSQL.

    Запустите SQL Server Configuration Manager и разверните секцию SQL Server Network Configuration.

    В моём случае на сервере установлен всего 1 экземпляр MSSQL– NODE1, поэтому настраивать порты я буду для него. В списке доступных протоколов для данного экземпляра имеются:

    • Протокол Shared Memory используется для подключения с локального компьютера (с того, где установлен экземпляр MSSQL). Отключать его не рекомендуется;
    • Named Pipes может использоваться по протоколу TCP/IP, но его использования не несёт особой выгоды, поэтому оставим его выключенным;

    SQL Server Network Configuration

    Щелкните дважды по TCP/IP.

    настройки протокола tcpip для sql server

    На вкладке Protocol всего 3 параметра:

    • Enabled – убедитесь, что протокол TCP/IP включен;
    • Keep Alive – частота проверки того, что соединение еще актуально (в миллисекундах). Не меняйте этот параметр без необходимости;
    • Listen All – неочевидная настройка, которая отвечает за секцию IPAll во вкладке IP Addresses. Если Listen All выставлена в No, то секция IPAll будет игнорироваться.

    На вкладке IP Addresses вы увидите перечисление всех IP адресов машины (включая IPv6 и локальные) и соответствующие им настройки. Здесь вы можете задать разные TCP порты для локального и внешнего адреса подключения, или разные порты для разных внешних адресов (если у вас сервер с несколькими сетевыми интерфейсами в разных сегментах).

    TCP Dynamic Ports в sql server

    Скорее всего вы захотите изменить порт сразу для всех IP, поэтому нужно изменить его секции IPAll.

    IPAll настройка экземпляра sql server

    Параметр TCP Dynamic Ports отвечает за использование динамических портов.

    • Пустое значение TCP Dynamic Ports отключает использование динамических портов SQL Server;
    • 0 включает использование динамических TCP портовиз диапазона RPC 49152 – 65535;
    • Выставлять здесь конкретное значение не имеет смысла – оно меняется каждый раз при перезагрузке экземпляра MSSQL.

    Чтобы установить статический TCP порт для данного экземпляра SQL Server, отключите TCP Dynamic Ports, и задайте новый номер статического порта в параметре TCP Port.

    сменить номер порта sql server на другой статический

    Для применения изменений перезапустите службу SQL Server. Обратите внимание на отключенную службу SQL Server Browser.

    перезапуск службы экземпляра sql server

    Проверьте, что теперь к вашему экземпляру SQL можно подключиться через SSMS. Формат строки подключения такой:

    sql server срока подключения к статическому tcp порту

    Подключиться без указания порта не получится, поскольку SQL Browser выключен.

    TCP порты и служба SQL Server Browser

    До версии MSSQL 2000 нельзя было установить больше одного экземпляра СУБД на один компьютер. Такая возможность появилась в более новых версиях MSSQL. Служба SQL Server Browser впервые появилась в SQL Server 2005 и использовалась как посредник для распределения подключений между различными экземплярами MSSQL, установленными на одном компьютере.

    Также SQL Server Browser отвечает за подключение к MSSQL (например, из SQL Server Management Studio) без указания порта, например testnode1\node1 . Служба SQL Server Browser узнает номер текущего динамического порта экземпляра из реестра и сообщает его клиенту.

    Если вы отключите службу SQL Server Browser, то для подключения к экземпляру необходимо вручную указывать TCP порт. Например, testnode1\node1, 1440 .

    При отключенной службе SQL Server Browser и использовании динамических портов приложения не смогут узнать номер порта, к которому нужно обращаться.

    Стандартные порты SQL Server

    Другие порты настраиваются при установке/настройке конкретного сервиса. Так что по умолчанию, Вам достаточно открыть в файерволе только два порта: 1433 TCP/UDP.

    Если у вас используются строгие настройки фаервола, или если вы хотите максимально ограничить SQL Server, рекомендуется отключить Dynamic Ports (выставить пустое значение) и отключить службу SQL Server Browser.

    Если же ваши SQL Server’a находятся в публичном доступе, то будет хорошей идеей поменять порт на нестандартный. Это не защитит от атак полностью, но снизит их число.

    Читайте также: