
Удалённый доступ к экземпляру SQL Server необходим при работе с распределёнными системами, интеграции внешних приложений и администрировании серверов из другой сети. По умолчанию SQL Server может блокировать такие подключения, что вызывает ошибки при попытке соединения через Management Studio или сторонние клиенты. Для корректной настройки требуется активировать сетевые протоколы, разрешить входящие соединения и правильно настроить правила брандмауэра.
Основное внимание следует уделить параметрам конфигурации сервера: включению протоколов TCP/IP и Named Pipes через SQL Server Configuration Manager. После этого необходимо проверить, на каком порту работает служба SQL Server (обычно 1433) и убедиться, что этот порт открыт в системном брандмауэре. Для нестандартных конфигураций допускается указание пользовательского порта, который затем прописывается в строке подключения.
При использовании аутентификации SQL Server важно убедиться, что включён смешанный режим (SQL Server and Windows Authentication mode), иначе внешние клиенты не смогут авторизоваться. После внесения изменений сервер необходимо перезапустить, чтобы настройки вступили в силу. Проверку удалённого подключения удобно выполнять через команду telnet или утилиту sqlcmd с указанием IP-адреса и порта сервера.
Корректно настроенные параметры сети и безопасности позволяют безопасно подключаться к SQL Server из других систем без снижения уровня защиты данных. Такой подход особенно важен для серверов, доступных через VPN или облачную инфраструктуру, где контроль над сетевыми портами и правами доступа играет ключевую роль.
Проверка состояния службы SQL Server

Перед настройкой удалённых подключений необходимо убедиться, что служба SQL Server запущена. Без активной службы сервер не принимает запросы и не отвечает на соединения.
Проверить состояние можно через консоль служб Windows:
| Шаг | Действие |
|---|---|
| 1 | Откройте окно services.msc через меню «Выполнить» (Win + R). |
| 2 | Найдите службу с именем SQL Server (MSSQLSERVER) или соответствующим экземпляром, например SQL Server (SQLEXPRESS). |
| 3 | Проверьте столбец «Состояние». Если указано «Выполняется», служба активна. |
| 4 | Если служба остановлена, щёлкните правой кнопкой мыши и выберите «Запустить». |
Альтернативный способ – использовать PowerShell:
Get-Service -Name 'MSSQLSERVER'
Столбец Status покажет текущее состояние: Running – запущена, Stopped – остановлена.
Для систем с несколькими экземплярами SQL Server важно проверить каждый из них. Названия служб можно уточнить в диспетчере конфигурации SQL Server в разделе «SQL Server Services».
После подтверждения работы основной службы необходимо убедиться, что запущены вспомогательные компоненты – SQL Server Browser и, при необходимости, SQL Server Agent. Это гарантирует доступность серверных экземпляров по сети.
Включение протокола TCP/IP через SQL Server Configuration Manager
Откройте SQL Server Configuration Manager. В левой панели выберите раздел SQL Server Network Configuration, затем кликните по пункту Protocols for [имя экземпляра].
В правой части окна найдите протокол TCP/IP. Если его состояние – Disabled, щёлкните по нему правой кнопкой и выберите Enable. После подтверждения изменений потребуется перезапустить службу SQL Server.
Чтобы указать порты, откройте свойства протокола TCP/IP (правый клик → Properties). На вкладке IP Addresses найдите раздел IPAll и укажите порт в поле TCP Port, например 1433. Убедитесь, что поле TCP Dynamic Ports пустое, если используется статический порт.
После сохранения настроек перезапустите службу SQL Server (MSSQLSERVER) через раздел SQL Server Services в том же окне. Это применит изменения и активирует доступ к серверу по TCP/IP.
Проверить, что протокол включён, можно с помощью утилиты SQLCMD или через подключение из SQL Server Management Studio с указанием имени хоста и порта – hostname,1433.
Настройка порта TCP для входящих подключений

По умолчанию SQL Server использует порт TCP 1433 для входящих подключений. Если используется нестандартный порт, его необходимо явно указать в параметрах сети и в настройках брандмауэра. Для начала откройте приложение SQL Server Configuration Manager и перейдите к разделу SQL Server Network Configuration → Protocols for [имя экземпляра].
Откройте свойства протокола TCP/IP и на вкладке IP Addresses найдите секции IP1, IP2 и IPAll. В поле TCP Port укажите нужное значение, например 1433 или другой порт, если стандартный занят. Если используется динамическое назначение, убедитесь, что поле TCP Dynamic Ports пустое.
После изменения параметров сохраните настройки и перезапустите службу SQL Server через SQL Server Services. Это необходимо, чтобы сервер начал прослушивать указанный порт.
Далее настройте брандмауэр Windows: создайте новое входящее правило для TCP-порта, который вы указали в конфигурации. В командной строке с правами администратора выполните команду:netsh advfirewall firewall add rule name="SQL Server TCP" dir=in action=allow protocol=TCP localport=1433
После этого проверьте доступность порта с удалённой машины, используя команду telnet [имя_сервера] [порт] или Test-NetConnection в PowerShell. Если соединение устанавливается, SQL Server готов принимать внешние подключения по заданному порту.
Открытие порта SQL Server в брандмауэре Windows
По умолчанию экземпляр SQL Server Database Engine использует порт 1433/TCP. Если брандмауэр Windows блокирует этот порт, внешние клиенты не смогут подключиться к серверу. Для разрешения подключений необходимо добавить правило, открывающее доступ к нужному порту.
Откройте Панель управления → Брандмауэр Защитника Windows → Дополнительные параметры. В разделе Правила для входящих подключений создайте новое правило типа Порт. Укажите протокол TCP и порт 1433 (или другой, если используется нестандартный). В пункте Действие выберите «Разрешить подключение».
Задайте, для каких профилей (Домен, Частный, Общедоступный) будет применяться правило, и присвойте понятное имя, например SQL Server TCP 1433. После сохранения правило активируется, и сервер станет доступен для удалённых клиентов.
Если используется несколько экземпляров SQL Server, проверьте в SQL Server Configuration Manager → SQL Server Network Configuration → Protocols for [имя экземпляра], какой порт назначен процессу sqlservr.exe. Добавьте аналогичное правило для каждого используемого порта. При включённой динамической настройке портов также следует разрешить службе SQL Server Browser (порт UDP 1434) обмен данными.
После внесения изменений перезапустите службу SQL Server и убедитесь, что порт открыт командой netstat -an | find «1433» или с помощью telnet [IP-адрес] 1433.
Создание исключения для SQL Server Browser

Служба SQL Server Browser отвечает за передачу информации о номерах портов и экземплярах SQL Server клиентам, подключающимся по сети. Без разрешения её работы удалённые подключения к именованным экземплярам часто невозможны.
Для корректного функционирования необходимо добавить исключение в брандмауэр Windows или используемое средство фильтрации трафика. Выполните следующие действия:
1. Откройте консоль «Брандмауэр Защитника Windows с расширенной безопасностью» (wf.msc).
2. Перейдите в раздел «Правила для входящих подключений» и выберите пункт «Создать правило…».
3. Укажите тип правила – «Для программы», затем задайте путь к исполняемому файлу службы:
C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe или C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe – в зависимости от версии.
4. Разрешите подключение и примените правило ко всем профилям (домен, частный, общедоступный).
5. Назовите правило, например SQL Server Browser, и сохраните настройки.
После добавления исключения убедитесь, что служба SQL Server Browser запущена и тип запуска установлен на Автоматически. Проверить это можно через оснастку services.msc или с помощью команды:
sc query sqlbrowser.
Если используется сторонний межсетевой экран, следует добавить аналогичное разрешение для порта UDP 1434, который применяет SQL Server Browser для ответов клиентам.
Проверка параметров аутентификации в SQL Server Management Studio
Для разрешения удаленных подключений важно убедиться, что SQL Server настроен на правильный режим аутентификации. Следуйте последовательным действиям:
-
Откройте SQL Server Management Studio (SSMS) и подключитесь к нужному экземпляру сервера с учетной записью с правами администратора.
-
В окне «Объекты» щелкните правой кнопкой по серверу и выберите Свойства.
-
Перейдите на вкладку Безопасность. Здесь доступен выбор режима аутентификации:
- Только Windows-аутентификация – разрешены подключения только через учетные записи Windows.
- Смешанный режим (SQL Server и Windows-аутентификация) – допускаются подключения как через Windows, так и через SQL Server логины.
-
Если требуется удаленное подключение через SQL Server логин, выберите Смешанный режим и нажмите ОК. Для вступления изменений в силу перезапустите службу SQL Server через SQL Server Configuration Manager.
-
Проверьте существующие логины:
- В SSMS откройте Безопасность → Логины.
- Убедитесь, что логин включен, имеет статус Enabled и присвоены необходимые роли базы данных.
- Если используется SQL Server логин, убедитесь, что задан пароль, соответствующий требованиям безопасности.
-
Проверка подключения:
- Создайте тестовое подключение к серверу через SSMS с использованием SQL Server логина.
- Убедитесь, что ошибка аутентификации отсутствует и подключение успешно.
Корректная настройка аутентификации обеспечивает возможность удаленного доступа без нарушения безопасности сервера.
Настройка прав доступа для удалённого пользователя

Для предоставления удалённого доступа создайте отдельного логина в SQL Server с помощью команды CREATE LOGIN. Используйте аутентификацию SQL Server или Windows в зависимости от требований безопасности. Пример для SQL Server:
CREATE LOGIN remote_user WITH PASSWORD = 'StrongP@ssw0rd';
После создания логина назначьте ему соответствующую базу данных и роль. Для минимизации рисков используйте принцип минимальных привилегий. Например, для предоставления только чтения данных:
USE target_database;
CREATE USER remote_user FOR LOGIN remote_user;
ALTER ROLE db_datareader ADD MEMBER remote_user;
Если требуется выполнение изменений, добавьте пользователя в роль db_datawriter или создайте кастомную роль с ограниченными правами на определённые таблицы:
CREATE ROLE limited_editor;
GRANT SELECT, INSERT, UPDATE ON dbo.ImportantTable TO limited_editor;
ALTER ROLE limited_editor ADD MEMBER remote_user;
Проверяйте права через sp_helplogins и sys.database_permissions, чтобы убедиться, что пользователь не имеет избыточных привилегий. Ограничивайте доступ по IP через firewall или SQL Server Configuration Manager, если сервер доступен из внешней сети.
Тестирование удалённого подключения с другого компьютера
После настройки SQL Server для удалённых подключений необходимо проверить работоспособность соединения с внешнего компьютера. Тестирование проводится поэтапно для точного выявления проблем.
-
Проверка доступности сервера через ping:
- Откройте командную строку на клиентском ПК.
- Введите команду
ping [IP_адрес_сервера]илиping [имя_сервера]. - Если пакет теряется, убедитесь, что сервер доступен в сети и нет блокировки ICMP.
-
Проверка открытого порта SQL Server:
- По умолчанию используется порт
1433. Для нестандартного порта укажите его явно. - На клиенте выполните команду
telnet [IP_адрес_сервера] 1433. Отсутствие ответа указывает на блокировку порта в брандмауэре.
- По умолчанию используется порт
-
Тест подключения через SQL Server Management Studio (SSMS):
- В поле Server name укажите
[IP_адрес_сервера],[порт](например,192.168.1.10,1433). - Выберите SQL Server Authentication или Windows Authentication, в зависимости от настроек.
- При успешном подключении отобразится список баз данных. Ошибки требуют проверки логинов, прав и сетевых настроек.
- В поле Server name укажите
-
Использование утилиты sqlcmd для быстрой проверки:
- Откройте командную строку на клиентском ПК.
- Введите команду:
sqlcmd -S [IP_адрес_сервера],[порт] -U [логин] -P [пароль] - Если соединение установлено, появится приглашение
1>. Ошибки укажут на сетевые проблемы или некорректные учётные данные.
-
Проверка журналов SQL Server:
- На сервере откройте SQL Server Error Log для поиска ошибок входа.
- Сообщения вида Login failed for user указывают на неверный логин или отсутствие разрешений.
Систематическая проверка этих этапов позволяет точно определить, на каком уровне возникает блокировка подключения и корректно устранить её. После успешного теста удалённое подключение готово к эксплуатации.
Вопрос-ответ:
Почему я не могу подключиться к SQL Server удаленно, хотя включил TCP/IP?
Даже если протокол TCP/IP активирован в SQL Server Configuration Manager, сервер может не принимать внешние подключения из-за настроек брандмауэра Windows или сетевых правил. Проверьте, открыт ли порт 1433 (по умолчанию) для входящих соединений и разрешены ли исключения для sqlservr.exe. Также убедитесь, что используемый экземпляр SQL Server слушает правильный порт и что имя сервера указано корректно при подключении.
Как включить удаленные подключения для конкретного экземпляра SQL Server?
Для настройки удаленного доступа сначала откройте SQL Server Management Studio и проверьте, разрешены ли подключения через свойства сервера на вкладке «Connections». Затем через SQL Server Configuration Manager включите TCP/IP для нужного экземпляра и убедитесь, что протокол активен. После изменений необходимо перезапустить службу SQL Server, чтобы новые настройки вступили в силу. Дополнительно проверьте настройки брандмауэра и порт, который используется экземпляром.
Нужно ли использовать SQL Server Browser для удаленных подключений?
SQL Server Browser нужен только для именованных экземпляров, чтобы клиенты могли определить порт, на котором слушает конкретный экземпляр. Для стандартного экземпляра, который использует порт 1433, SQL Server Browser не обязателен. Однако для именованных экземпляров рекомендуется включить службу Browser, иначе подключение по имени сервера может не сработать, если клиент не укажет точный порт.
Какие настройки брандмауэра необходимо изменить для удаленного подключения?
Чтобы разрешить внешние подключения, откройте порт TCP, который использует SQL Server (обычно 1433 для стандартного экземпляра). Если используется именованный экземпляр, может потребоваться динамический порт, и в этом случае проще разрешить доступ для программы sqlservr.exe. Для служб SQL Browser открывается UDP-порт 1434. После внесения изменений брандмауэра перезапустите службы SQL Server для корректного применения настроек.
Как проверить, что удаленное подключение к SQL Server успешно работает?
Для проверки можно использовать SQL Server Management Studio с другой машины, указав имя сервера или IP-адрес и порт. Альтернативно, утилита telnet позволит проверить доступность порта: в командной строке нужно выполнить команду telnet . Если соединение устанавливается, сервер доступен. Также стоит убедиться, что учетная запись SQL Server имеет разрешения на удаленное подключение, а аутентификация настроена правильно.
Почему после включения удаленного доступа к SQL Server я не могу подключиться с другого компьютера?
Одна из частых причин — блокировка подключения на уровне брандмауэра Windows или сетевого оборудования. Даже если SQL Server настроен на прием удаленных подключений, порт по умолчанию 1433 должен быть открыт для входящих соединений. Также стоит проверить, правильно ли указан экземпляр сервера и используется ли нужный протокол TCP/IP в настройках SQL Server Configuration Manager. Нередко проблема связана с тем, что служба SQL Server Browser не запущена, а при работе с именованными экземплярами это необходимо для обнаружения сервера.
Как безопасно разрешить удаленные подключения к SQL Server без риска для данных?
Для безопасности необходимо использовать несколько уровней защиты. Во-первых, подключение следует разрешать только для конкретных IP-адресов или диапазонов, чтобы не открывать сервер всем пользователям сети. Во-вторых, рекомендуется применять аутентификацию Windows или надежные логины с сильными паролями. Если доступ требуется через интернет, лучше использовать VPN или шифрование соединения через SSL. Наконец, следует контролировать, какие базы данных доступны удаленным пользователям, и ограничивать права до необходимого минимума, чтобы предотвратить случайное или злонамеренное изменение данных.
