Подключение к Sql Server на удаленном компьютере (RDP)
Всем добрый вечер, друзья. Я создал программу на C#(winform) и мне нужно подключить к базе данных находящийся на удаленном компьютере.
Удаленный компьютер открываю у себя следующим образом
В строке «Выполнить» открываю (mstsc /console) ввожу IP дальше ввожу логин и пароль и открывается экран этого самого компьютера и там же уже установленный MS SQL SERVER (Server name: .\SQLEXPRESS), База данных (asd.mdf)
Я перепробовал все варианты подключение которые находил в форуме, постоянно выдает ошибку, не знаю из за чего именно, из за кода или не правильно направление пишу.
Помогите пожалуйста
Выдает следующие ошибки:
Additional information: При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: Named Pipes Provider, error: 40 — Не удалось открыть подключение к SQL Server)
Additional information: При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: SQL Network Interfaces, error: 26 — Ошибка при обнаружении указанного сервера или экземпляра)
Как подключиться к бд ms sql c на удаленном сервере
Настроить удаленный доступ к базе данных MS Sql для подключений из Excel средствами Query или Pawe Query
Пользователь
Сообщений: 36 Регистрация: 18.11.2020
21.11.2020 20:14:15
Здравствуйте!
Хотел бы настроить удаленный доступ к базе данных MS Sql на моем домашнем компьютере и попробовать подключиться с ноутбука на работе.
Какие надо для этого настройки? Должен ли быть включенным компьютер и MS SQL?
Прошу помочь в решении вопроса!
Сообщений: 22274 Регистрация: 28.12.2016
Excel 2013, 2016
21.11.2020 20:34:14
Исходя из этого вопроса
| Цитата |
|---|
| Артур написал: должен ли быть включенным компьютер и MS SQL? |
остальные вопросы можно не освещать. но попытаюсь
Вариант 1. Домашний ПК видится по 1433 TCP порту в интернете по белому IP адресу. Безопасность модно подкрутить разрешив подключение с определенного адреса
с рабочего ПК доступ в интернет свободный или открыт порт 1433 для исходящего подключения
Вариант 2. К домашнему ПК подключение ведется через VPN, Это может быть реализовано и через роутер, но и тут необходимо наличие белого адреса.
Вариант 3. Домашний ПК подключается по VPN к корпоративной сети и зубами держит подключение. Также должен быть разрешен трафик до клиента VPN по 1433 TCP порту.
По вопросам из тем форума, личку не читаю.
Пользователь
Сообщений: 36 Регистрация: 18.11.2020
21.11.2020 21:26:08
БМВ, спасибо за ответы!
Вариант 3 не рассматриваю, а вот первые два хотел бы испытать. Ip, насколько знаю, динамическое. Прав ли я, думая что при включенном компьютере ip не меняется и настройки будут работать до тех пор пока компьютер не выключен?
Еще вопрос: как мне дома проверить что настройки работают и можно уверенно подключаться на работе? Это же как то пингуется?
До утра буду занят.
Сообщений: 22274 Регистрация: 28.12.2016
Excel 2013, 2016
21.11.2020 21:32:11
Вопрос не в том, динамический ли IP, а белый ли он, что в современном мире стало не часто для частного пользования. РОутер должен уметь VPN мли надо соответвующие порты открыть на нем для доступа к компу или иному устройству выполняющему роль VPN сервера.
Изменено: БМВ — 21.11.2020 21:33:48
По вопросам из тем форума, личку не читаю.
Пользователь
Сообщений: 36 Регистрация: 18.11.2020
22.11.2020 06:57:10
| Цитата |
|---|
| БМВ написал: а белый ли он |
Я это могу как то узнать?
| Цитата |
|---|
| БМВ написал: Роутер должен иметь VPN или надо соответствующие порты открыть на нем |
Как мне это увидеть? В настройки модема могу зайти, а дальше что делать?
Сообщений: 22274 Регистрация: 28.12.2016
Excel 2013, 2016
22.11.2020 08:51:48
Артур, Из Excel это конечно если изгаляться, тоже можно посмотреть, но к нему это не относится. Я и так рассказал больше чем следует на форуме не по сети а по Excel.
По вопросам из тем форума, личку не читаю.
Пользователь
Сообщений: 36 Регистрация: 18.11.2020
22.11.2020 11:58:28
БМВ, спасибо что отвечали!
Если кто знает как получить в Excel данные из таблицы базы данных MS Sql, которая находиться на удаленном компьютере — расскажите пожалуйста как это сделать. Основная проблема — настроить удаленный компьютер для подключения извне
Пользователь
Сообщений: 23 Регистрация: 06.10.2020
22.11.2020 13:42:42
В роутере сделай проброс портов. Если не ошибаюсь нужно 1433, 1434 и еще 2255, давно делал, кажется этот, проверь. У меня сработало когда разрешил три. На ноут установи MS SQL Server Management Studio Express или любую подобную штуку. Ею у будешь коннектиться, так как excel для проверки подключения вряд ли хорошая штука. Если подключение через Studio сработает то и с excel проблем быть не должно.
Щас проверил роутер, еще включен 49156 почему то. По ройся проверь эти.
Сообщений: 60950 Регистрация: 14.09.2012
Контакты см. в профиле
22.11.2020 13:53:29
Дмитрий Б, у нас на форуме к незнакомым людям принято обращаться на ВЫ.
Пользователь
Сообщений: 23 Регистрация: 06.10.2020
22.11.2020 13:57:20
Само подключение как то так делается:
Function StringConnect() As String StringConnect = "Provider=SQLOLEDB.1;Data Source=192.168.x.x\SQLEXPRESS;Initial Catalog=Avrora;User End Function sub xxx Dim Con, Rec, Table As Object Set Con = CreateObject("ADODB.Connection") Con.CursorLocation = 3 Con.Open (StringConnect) Query = "select * from avrora.dbo.bankmove order by bankmove.datemove asc" Set Table = Con.Execute(Query) 'Table.movefirst Do While Not Table.EOF Rec.Offset(i, 15).Value = Table.Fields("pp").Value Rec.Offset(i, 16).Value = Table.Fields("inn").Value Rec.Offset(i, 14).FormulaR1C1 = "=R[-1]C+RC[-13]-RC[-7]" Table.movenext i = i + 1 Loop Con.Close end sub
Переадресацию портов нужно сделать в роутере 1433, 1434, 2255, 49156. Последний может и не надо, проверите
В строке подключения пишете совой ip и все.
Подключение проверять лучше ms sql server management studio express или что-нибудь подобное, если она подключается, то после уже пробовать на excel.
Сообщений: 22274 Регистрация: 28.12.2016
Excel 2013, 2016
22.11.2020 14:58:04
Открываем документацию
https://docs.microsoft.com/en-us/sql/sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access?view=sql-server-ver15
там все порты прописаны
только сперва выясняем, что висит на роутере на WAN интерфейсе в качеcтdе IP и если он не белый , расстраиваемся и забываем о большей части вариантов. Проверка типа https://myip.ru/ покажет или адрес маршрутизатора провайдера который натирует посеть или , что идеально для вас, адрес вашего WAN порта.
| Цитата |
|---|
| Дмитрий Б написал: Подключение проверять лучше ms sql server |
через PortQuery , до студии еще далеко.
По вопросам из тем форума, личку не читаю.
Сообщений: 60950 Регистрация: 14.09.2012
Контакты см. в профиле
22.11.2020 15:20:51
Дмитрий Б, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
Прикрепленные файлы
- Тег VBA.jpg (19.2 КБ)
Пользователь
Сообщений: 36 Регистрация: 18.11.2020
22.11.2020 17:20:19
Дмитрий Б, и БМВ, спасибо за советы
Интересная штука — ip. И myip.ru b 2ip.ua показали один и тот же ip, который не входит в диапазоны серых айпи.
Мало того, я то думал у меня ip равен 192.168.1.1. Ведь с него заходил в модем. Так я набрал в адресной строке ip, который показал myip.ru, и тоже попал в свой роутер — набрал пароль и зашел. Зашел в Wan/network и в ip информатшион увидел справа от INTERNET_R_0_32 свой белый ip. Он же белый? Я могу уже уверено об этом говорить?
В командной строке тоже пингуются четыре из четырех.
| Цитата |
|---|
| Дмитрий Б написал: 1433, 1434 и еще 2255 |
А вот порты эти не нашел в настройках модема.
А вот так не пингуется: на скрине
Прикрепленные файлы
- ping.png (34.15 КБ)
Изменено: Артур — 22.11.2020 17:33:56
Сообщений: 22274 Регистрация: 28.12.2016
Excel 2013, 2016
22.11.2020 17:35:17
| Цитата |
|---|
| Артур написал: Он же белый? Я могу уже уверено об этом говорить? |
скорее всего что да. Дайте IP и пароль , я проверю 🙂 (шутка), но если при перезагрузке роутера он поменяется, то это означает что он не статический и тогда нужно использовать динамический DNS и снаружи обращаться по имени. Хотя при стабильном электропитании и отсутствии проблем у провайдера он меняется редко.
| Цитата |
|---|
| Артур написал: А вот порты эти не нашел в настройках модема. |
Модема или роутера? Модем приземляет соединение напрямую в комп. тогда надо на встроенном брандмауэре разрешать. Если роутер, то в настройках ищит PortForwarding
| Цитата |
|---|
| Артур написал: А вот так не пингуется: на скрине |
по умолчанию из внешних сетей закрыт ICMP ECHO. Как правило на роутере специальная настройка есть на включение отключение. ну и на компе тоже в брандмауэре.
Настройка резервного копирования для удаленных серверов Microsoft SQL Server
Если вы хотите создавать резервные копии баз данных, размещенных на удаленном сервере Microsoft SQL Server, который вы ранее зарегистрировали в Plesk, вам необходимо настроить для этого сервера определенные параметры резервного копирования.
Чтобы настроить резервное копирование для удаленного сервера Microsoft SQL Server:
- Перейдите в раздел Инструменты и настройки >Серверы баз данных и нажмите имя нужного удаленного сервера Microsoft SQL Server.
- Укажите временную физическую папку для удаленного сервера Microsoft SQL Server в поле Временная папка. Например, /tmp/db_pleskbackup or C:\db_pleskbackup . Временная физическая папка необходима для резервного копирования и восстановления удаленных баз данных Microsoft SQL Server: Microsoft SQL Server использует ее для хранения временных резервных копий во время резервного копирования, а Plesk – для хранения временных резервных копий во время восстановления. Вам нужно создать эту папку на удаленном сервере и сделать ее доступной для чтения и записи для сервера Microsoft SQL Server.
- Откройте общий доступ к папке, созданной на предыдущем шаге, и укажите ее сетевой путь в поле Временная сетевая папка. Например: \\имя сервера\db_pleskbackup . Сервер Plesk будет использовать эту папку для скачивания и загрузки временных резервных копий. Вам необходимо создать сетевую папку на удаленном сервере, подключить ее к временной физической папке, созданной на предыдущем шаге, и сделать ее доступной по сети для пользователя, которого вы создадите на следующем шаге.
- Создайте пользователя на удаленном сервере (например, имя сервера\db_backup_user ) и дайте ему права на чтение и запись для временной сетевой папки. Сервер Plesk будет использовать этого пользователя для доступа к временной папке.
- Укажите имя пользователя и пароль для доступа к временной сетевой папке.
- Нажмите OK.
Как подключиться к бд ms sql c на удаленном сервере
Выполните эту процедуру на компьютере с установленным WhatsUp Gold.
- Убедитесь, что при подключении к базе данных имя пользователя и пароль для WhatsUp Gold настроены.
- Из меню Пуск в Windows:
- В Windows 64-бит нажмите Пуск > Выполнить. Откроется диалоговое окно «Запуск программы».
- Введите c:\Windows\SysWOW64\odbcad32.exe . Появится диалоговое окно «Администратор источников данных ODBC»
- В Windows 32-бит нажмите Пуск > Выполнить. Откроется диалоговое окно «Запуск программы».
- Введите c:\Windows\system32\odbcad32.exe . Появится диалоговое окно «Администратор источников данных ODBC»
- Из меню Пуск в Windows:
- Выберите вкладку Системный DSN
. - Выберите WhatsUp DSN, нажмите Настройка. Открывается мастер конфигурации.

- Проверьте правильность заполнения полей для настроек проверки подлинности SQL Server в первом диалоговом окне, и нажмите Далее.
- В следующем диалоговом окне проверьте, что установлен параметр С проверкой подлинности SQL Server при помощи имени пользователя и пароля, введенных пользователем. В поле Имя пользователя введите имя пользователя SQL. В поле Пароль введите пароль пользователя SQL. Нажмите Далее.

- В третьем диалоговом окне убедитесь, что выбран параметр Изменить базу данных по умолчанию и в раскрывающемся меню отображается база данных WhatsUp. Нажмите Далее.

- Нажмите Далеенесколько раз, до перехода к последнему диалоговому окну, затем нажмите Готово. Открывается диалоговое окно «Настройка ODBC Microsoft SQL Server». Можно нажать Тест источника данных для проверки конфигурации, или нажать OK.

- Повторите шаги b — f для NetFlow DSN.
- Откройте служебную программу конфигурации базы данных WhatsUp Gold в меню Пуск Пуск > Программы > Ipswitch WhatsUp Gold > Служебные программы > Служебная программа конфигурации базы данных.

- Установите Использовать проверку подлинности SQL Server.
- Проверьте правильность введенных в DSN имени пользователяи пароля, и нажмите Подключение. Служебная программа проверяет информацию подключения. Если информация правильная, открывается диалоговое окно «Обновить реестр».
- Убедитесь, что параметр Перезапуск службы WhatsUp после обновленияне установлен.

- Нажмите Сохранить. Служебная программа обновляет параметры подключения базы данных и перезапускает службы. Открывается диалоговое окно «Готово».

- Нажмите Готово.
- Откройте окно ввода команды Windows (нажмите Пуск > Выполнить, затем введите cmd.exe ).
- Введите следующую команду с учетом регистра: sc config «Ipswitch Service Control Manager» depend= «RPCSS»
Примечание После depend= и перед «RPCSS» есть пробел. Этот пробел необходим для выполнения сценария.
Эта команда удаляет зависимости службы Microsoft SQL Server от Диспетчера служб WhatsUp.
После выполнения этих этапов, WhatsUp Gold начинает опрос и записывает все новые данные в базу данных Microsoft SQL Server.
