Как удаленно подключиться к SQL Server

Мне нужно сделать подключение с любого пк к удаленной бд на SQL Server (установлен на моем пк), свой сервер настроил на удаленный доступ по этому видео https://www.youtube.com/watch?v=2T7PdDTAq8Y, на пк клиента установлненна индентичная версия SQL Server Express 2014 (у него тоже настроены удаленные подключения) В программе строка подключения имеет вид: «Data Source=tcp:192.168.0.107, 1433;Initial Catalog=DanceStudioDB;Persist Security Info=True;User порт 1433 открыт пареметр Data Source пробывал менять на: 192.168.0.107 tcp:192.168.0.107 192.168.0.107, 1433 192.168.0.107\SQLEXPRESS 192.168.0.107\SQLEXPRESS, 1433 tcp:192.168.0.107\SQLEXPRESS tcp:192.168.0.107\SQLEXPRESS, 1433 Вобщем я уже не знаю что еще можно писать, перечитал все что мог, и так как майкрософт писали делал https:// technet.microsoft.com/ru-ru/library/ms345306(v=sql.100).aspx (удалите пробел после //) но всеравно ничего. А вот что в ошибке пишет:
Отслеживать
задан 9 окт 2017 в 16:00
Maxim Koylo Maxim Koylo
309 3 3 серебряных знака 13 13 бронзовых знаков
вам стоит добавить детали проблемы в вопрос, иначе вам будут отвечать наугад. сервер и клиент в тоже же сети? Какие сетевые адреса клиента и сервера? Или между ними есть NAT/интернет? ping между ними проходит?
– user177221
9 окт 2017 в 16:22
в конечном продукте база данных будет стоять на платном хостинге, подключение к нему будет уже не таким муторным надеюсь?
9 окт 2017 в 16:31
на платном хостинге вам выдадут готовую строку подключения (если хостинг нормальный). другое дело, что сейчас непонятно, куда и как вы хотите подключиться. может быть на соседнюю машину, а вам уже насоветовали порты в nat пробрасывать и белый адрес покупать. хотя (может быть) вам нужно просто на сервере удаленные подключения разрешить.
– user177221
9 окт 2017 в 16:37
ну мой сервер в одной сети, а клиент на другой. Я так понял в процесе розработки работать на локальном сервере, а врелизе просто изменить строку подключения к хостингу
Занятие 2. Подключение с другого компьютера
Чтобы повысить безопасность, ядро СУБД выпусков SQL Server Developer, Express и Evaluation не могут быть доступны с другого компьютера при первоначальной установке. В этом занятии показано, как включить протоколы, настроить порты и брандмауэр Windows для соединения, используя другие компьютеры.
Это занятие содержит следующие задачи.
- Включение протоколов
- Настройка фиксированного порта
- Открытие портов в брандмауэре
- Соединение с компонентом Database Engine с другого компьютера
- Соединение с помощью службы обозревателя SQL Server
Включение протоколов
Чтобы повысить безопасность, SQL Server Express, разработчик и оценка устанавливаются только с ограниченным сетевым подключением. Подключение в ядро СУБД можно сделать из средств, работающих на том же компьютере, но не с других компьютеров, если вы планируете выполнять разработку на том же компьютере, что и ядро СУБД, вам не нужно включать дополнительные протоколы. Среда Management Studio подключается к ядро СУБД с помощью протокола общей памяти. Этот протокол уже включен.
Предположим, вы планируете подключиться к ядро СУБД с другого компьютера, необходимо включить протокол, например TCP/IP.
Разрешение соединений по протоколу TCP/IP с других компьютеров
- В меню «Пуск» наведите указатель на все программы, наведите указатель на Microsoft SQL Server, наведите указатель на средства настройки и выберите диспетчер конфигурации SQL Server.
Примечание. Проверьте наличие доступных 32-разрядных и 64-разрядных параметров.
| Версия | Путь |
|---|---|
| SQL Server 2022 (16.x) | C:\Windows\SysWOW64\SQLServerManager16.msc |
| SQL Server 2019 (15.x) | C:\Windows\SysWOW64\SQLServerManager15.msc |
| SQL Server 2017 (14.x) | C:\Windows\SysWOW64\SQLServerManager14.msc |
| SQL Server 2016 (13.x) | C:\Windows\SysWOW64\SQLServerManager13.msc |
| SQL Server 2014 (12.x) | C:\Windows\SysWOW64\SQLServerManager12.msc |
| SQL Server 2012 (11.x) | C:\Windows\SysWOW64\SQLServerManager11.msc |
Примечание. Перезапустите службу SQL Server после внесения изменений в сетевые протоколы; однако это выполняется в следующей задаче.
Настройка фиксированного порта
Чтобы повысить безопасность, Windows и Windows Server включите брандмауэр Windows. При подключении к этому экземпляру из другого компьютера необходимо открыть порт соединения в брандмауэре. Экземпляр по умолчанию ядро СУБД прослушивает порт 1433; поэтому не нужно настраивать фиксированный порт. Однако именованные экземпляры, включая SQL Server Express, прослушивают динамические порты. Прежде чем открыть порт в брандмауэре, необходимо сначала настроить ядро СУБД для прослушивания определенного порта, известного как фиксированный порт или статический порт. В противном случае ядро СУБД может прослушивать другой порт при каждом запуске. Дополнительные сведения о брандмауэрах, параметрах брандмауэра Windows по умолчанию и описании TCP-портов, влияющих на ядро СУБД, службы Analysis Services, Reporting Services и службы Integration Services, см. в разделе «Настройка брандмауэра Windows для разрешения доступа к SQL Server».
Назначения номеров портов управляются центром назначения номеров в Интернете и перечислены по https://www.iana.orgадресу. Номера портов должны назначаться от номеров 49152 до 65535.
Настройка SQL Server для подключения через определенный порт
- В диспетчер конфигурации SQL Server разверните конфигурацию сети SQL Server и выберите экземпляр сервера, который требуется настроить.
- В правой области дважды выберите TCP/IP.
- В диалоговом окне «Свойства TCP/IP» перейдите на вкладку «IP-адреса«.
- В поле TCP-порта раздела «Все IP-адреса» введите доступный номер порта. В этом руководстве мы будем использовать 49172.
- Нажмите кнопку «ОК», чтобы закрыть диалоговое окно, и нажмите кнопку «ОК» для предупреждения о том, что служба должна быть перезапущена.
- На левой панели выберите Службы SQL Server.
- В правой области щелкните правой кнопкой мыши экземпляр SQL Server, а затем нажмите кнопку «Перезапустить«. Когда ядро СУБД перезапускается, он прослушивает порт 49172.
Открытие портов в брандмауэре
Системы брандмауэра помогают предотвратить несанкционированный доступ к ресурсам компьютера. Чтобы подключиться к SQL Server с другого компьютера при включении брандмауэра, необходимо открыть порт в брандмауэре.
Открытие портов брандмауэра может предоставлять серверу вредоносные атаки. Поэтому для открытия портов требуется понимание работы систем брандмауэров. Дополнительные сведения см. в разделе Security Considerations for a SQL Server Installation.
После настройки ядро СУБД использовать фиксированный порт выполните следующие инструкции, чтобы открыть этот порт в брандмауэре Windows. (Вам не нужно настраивать фиксированный порт для экземпляра по умолчанию, так как он уже установлен на TCP-порте 1433.)
Открытие порта в брандмауэре Windows для доступа к TCP (Windows 7)
- В меню Пуск выберите Выполнить, введите WF.msc и щелкните ОК.
- На левой панели окна Брандмауэр Windows в режиме повышенной безопасностищелкните правой кнопкой мыши раздел Правила для входящих подключенийи выберите на панели действий пункт Создать правило .
- В диалоговом окне Тип правила выберите Порт и щелкните Далее.
- В диалоговом окне Протокол и порты выберите протокол TCP. Выберите определенные локальные порты и введите номер порта экземпляра ядро СУБД. Для экземпляра по умолчанию введите 1433. Введите 49172 , если вы настраиваете именованный экземпляр и настраиваете фиксированный порт в предыдущей задаче. Выберите Далее.
- В диалоговом окне Действие выберите Разрешить соединение и щелкните Далее.
- В диалоговом окне «Профиль» выберите все профили, описывающие среду подключения к компьютеру, когда требуется подключиться к ядро СУБД, а затем нажмите кнопку «Далее«.
- В диалоговом окне Имя введите имя и описание правила и щелкните Готово.
Открытие порта в брандмауэре Windows для доступа к TCP (Windows 10)
Чтобы открыть порт в брандмауэре Windows для tcp-доступа на компьютере с Windows 10, выполните следующие действия.
- Доступ к брандмауэру Windows Параметры:
- Выберите клавишу Windows на клавиатуре или значок Windows на панели задач, чтобы открыть меню .
- Тип Безопасность Windows:
- В строке поиска меню введите Безопасность Windows и нажмите клавишу ВВОД. Откроется приложение Безопасность Windows.
- Откройте защиту сети брандмауэра & Безопасность Windows:
- Выберите защиту сети брандмауэра & в приложении Безопасность Windows на левой боковой панели.
- Выберите «Разрешить приложение через брандмауэр»:
- В разделе «Защита сети брандмауэра&» отображается разрешение приложения через брандмауэр. Выберите его.
- Изменение Параметры (разрешение Администратор):
- Для внесения изменений может потребоваться разрешение администратора. Нажмите кнопку «Изменить параметры», если появится запрос и укажите учетные данные администратора.
- Найдите программу или порт:
- В разделе «Разрешенные приложения и функции» прокрутите вниз, чтобы найти программу или порт, который вы хотите открыть. Если вы открываете порт для конкретного приложения, найдите приложение в списке. При открытии пользовательского порта необходимо создать правило.
- Создайте новое правило (для пользовательских портов):
- Необходимо создать новое правило, если программа или порт, который требуется открыть, не указан. Выберите «Разрешить другое приложение» или «Разрешить другую программу» в зависимости от конкретного требования.
- Выберите программу или порт:
- Если вы открываете порт, выберите порты и укажите номер порта, а также tcp или UDP. Если вы разрешаете приложение, перейдите к исполняемому файлу приложения.
- Присвойте правилу имя:
- Присвойте правилу имя, чтобы быстро определить его.
- Укажите действие:
- Выберите «Разрешить подключение «, чтобы открыть порт для tcp-доступа.
- Сохраните правило:
- Нажмите кнопку «Далее«, а затем «Готово«, чтобы создать правило.
- Проверьте новое правило:
- В разделе «Разрешенные приложения и функции» убедитесь, что созданное правило отображается с нужным портом или программой и включен.
- Закройте Безопасность Windows:
- Закройте приложение Безопасность Windows.
- Проверьте доступ к портам:
- Чтобы убедиться, что порт открыт, можно использовать сетевую программу или приложение, которое использует конкретный порт, чтобы узнать, может ли он установить подключение.
Следуя этим инструкциям, вы можете открыть определенный порт в брандмауэре Windows для доступа к TCP на компьютере с Windows 10. Не забудьте соблюдать осторожность при изменении параметров брандмауэра, так как это может повлиять на безопасность системы— только открытые порты при необходимости и для доверенных приложений или служб.
Дополнительные сведения о настройке брандмауэра, включая инструкции по Windows Vista, см. в статье «Настройка брандмауэра Windows для ядро СУБД Access». Дополнительные сведения о параметрах брандмауэра Windows по умолчанию и описании TCP-портов, влияющих на ядро СУБД, Analysis Services, Reporting Services и integration Services, см. в разделе «Настройка брандмауэра Windows для AllowSQL ServerAccess».
Подключение ядро СУБД с другого компьютера
Теперь, когда вы настроили ядро СУБД прослушивать фиксированный порт и открыли этот порт в брандмауэре, вы можете подключиться к SQL Server с другого компьютера.
При запуске службы браузера SQL Server на серверном компьютере. Когда брандмауэр открыл порт UDP 1434, подключение можно сделать с помощью имени компьютера и имени экземпляра. Для повышения безопасности в нашем примере не используется служба браузера SQL Server.
Подключение к ядру СУБД с другого компьютера
- На втором компьютере, который содержит клиентские средства SQL Server, войдите с учетной записью, авторизованной для подключения к SQL Server, и откройте Management Studio.
- В диалоговом окне Соединение с сервером выберите Компонент Database Engine в списке Тип сервера .
- В поле Имя сервера введите tcp: , чтобы указать протокол, за которым должны следовать имя компьютера, запятая и номер порта. Для подключения к экземпляру по умолчанию подразумевается порт 1433 и может быть опущен; поэтому введите tcp:В нашем примере для именованного экземпляра введите tcp:>49172.
- Если вы опустите tcp: из поля имени сервера, клиент попытается выполнить все включенные протоколы в порядке, указанном в конфигурации клиента.
- Если предпринята попытка установить соединение с именем экземпляра при подключении к удаленному серверу, служба браузера SQL Server должна работать на удаленном сервере. Сопоставление портов имени экземпляра не работает, если служба ServerBrowser не запущена.
Подключение с помощью службы браузера SQL Server
Служба браузера SQL Server прослушивает входящие запросы для ресурсов SQL Server и предоставляет сведения об экземплярах SQL Server, установленных на компьютере. При запуске службы браузера SQL Server пользователи могут подключаться к именованным экземплярам, указав имя компьютера и имя экземпляра вместо имени компьютера и номера порта. Так как браузер SQL Server получает запросы UDP без проверки подлинности, он не всегда включен во время установки. Описание службы и описание включения службы см. в статье sql Server Browser Service (ядро СУБД и SSAS).
Чтобы использовать браузер SQL Server, необходимо выполнить те же действия, что и раньше, и открыть порт UDP 1434 в брандмауэре.
На этом краткий учебник по базовым возможностям подключения связи заканчивается.
Руководство Simple-Scada
Для удаленного доступа ( особенно через интернет ) чаще всего используют «Прямое, через TCP/IP» подключение. В этом случае выключается флажок «Аутентификация Windows», в поле «Хост» вписывается IP-адрес серверного ПК, а также задается имя пользователя и пароль.
Важно! Для TCP/IP подключения пользователь должен быть создан в SQL Server с возможностью авторизации через SQL-сервер (а не через Windows!):

И сам SQL Server должен разрешать не только Windows-аутентификацию:

Также, маршрутизатор должен пропускать внешний трафик по используемому порту (по-умолчанию 1433) на серверный ПК.

В редакторе, настройки подключения к БД в итоге должны быть такими:
Проблемы с подключением к SQL Server
Возникают проблемы при подключении к SQL Server, при этом в сообщении об ошибке встречается фрагмент:
«Ошибка подключения к серверу SQL «;
«Ошибка подключения к экземпляру сервера SQL «;
«При установлении соединения с SQL Server произошла ошибка, связанная с сетью или определенным экземпляром. Сервер не найден или недоступен»;
Что можно сделать для решения таких проблем?
Для устранения проблемы попробуйте воспользоваться приведенной ниже инструкцией.
Инструкция по устранению наиболее часто возникающих проблем с подключением к SQL Server:

1) Проверьте, что имя сервера задано верно (в частности, если компьютер был переименован):
Также проверьте, что имя экземпляра (в данном случае – SQLEXPRESS) задано верно. При необходимости допишите его вручную в поле «Сервер баз данных». Примечание. Если SQL Server был установлен автоматически при установке Business Studio, то имя экземпляра должно быть SQLEXPRESS.
2) Если сервер SQL находится не на локальном компьютере, то проверьте, что компьютер включен и подключен к сети.
3) Проверьте, что SQL Server запущен и настроен верно. Далее приведен пример для SQL Server 2014 (подходит и для других версий SQL Server, начиная с 2008) 1) :
a. Откройте Пуск->Все программы->Microsoft SQL Server 2014->Диспетчер конфигурации SQL Server 2014.

b. Проверьте, что запущена служба SQL Server (на скриншоте пример для экземпляра SQLEXPRESS), т.е. что она находится в состоянии «Работает»:

c. Проверьте, что запущена служба обозревателя SQL Server ( SQL Server Browser), т.е. что она находится в состоянии «Работает»:

d. Проверьте, что удаленные соединения разрешены, т.е. что состояние протоколов «Именованные каналы» и «TCP/IP» для рассматриваемого экземпляра SQL Server – «Включено»:
4) Проверьте, что никакие брандмауэры на компьютере с сервером SQL не блокируют соединение со службой SQL . То же касается и антивирусов, т.к. некоторые из них имеют функции брандмауэров. Обратитесь к документации по этим средствам. Для проверки можно временно отключить их. Далее приведен пример для встроенного брандмауэра Windows 7:
a. Откройте Пуск->Панель управления->Брандмауэр Windows, перейдите на закладку «Разрешить запуск программы или компонента через брандмауэр Windows» (для Windows 10 необходимо вызвать контекстное меню правой кнопкой мыши от кнопки «Пуск»->Сетевые подключения->Брандмауэр Windows->Брандмауэр и безопасность сети->Разрешить работу с приложением через брандмауэр) и нажмите кнопку «Изменить параметры».
b. Добавьте следующие программы, как показано на рисунке (повторив поз. 1-3 для каждой из программ) 2) :
C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Binn\sqlservr.exe (служба SQL Server)
C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe (cлужба обозревателя SQL Server)
c. Перезапустите вышеуказанные службы.

5) Возможно, имеются проблемы с разрешением сетевых имен. Попробуйте в окне Свойств подключения к базе данных в поле «Сервер базы данных» указать вместо имени компьютера его IP-адрес. Например, так:
В случае локального сервера SQL укажите IP-адрес 127.0.0.1, в случае удаленного – узнайте у администратора сети.
6) Если ничего не помогает, воспользуйтесь полной статьей от Microsoft по данной теме. Если на компьютере, где находится SQL Server, соединение успешно — можно сразу перейти к Шагу 9 статьи от Microsoft.
Внимание! Выполнение данных действий может потребовать квалификации и полномочий системного администратора.
1) При использовании Microsoft SQL Server 2005 откройте Пуск->Все программы->Microsoft SQL Server 2005->Средства настройки->Настройка контактной зоны SQL Server, выберите «Настройка контактной зоны для служб и соединений» и проверьте/приведите к требуемому виду описанные далее в текущем пункте настройки в интерфейсе этой утилиты.
2) Выделенные фрагменты пути могут отличаться от приведенных здесь. Точный путь можно узнать в свойствах соответствующей службы, см. параметр Исполняемый файл.