Не удалось подключиться к экземпляру SQL Server удаленно
Я пытаюсь получить доступ к экземпляру SQL Server на своем VPS из SQL Server Management Studio на моем локальном компьютере. Его не работает (ошибка Im get:
Произошла ошибка, связанная с сетью или конкретным экземпляром, в то время как установление соединения с SQL Server. Сервер не найден или был недоступен. Проверьте правильность имени экземпляра и SQL Server настроен для удаленного подключения.
Я думаю, это связано с тем, что мне нужно настроить механизм базы данных, чтобы разрешить удаленные подключения (исправьте меня, если я ошибаюсь!). Итак, Ive нашел это пошаговое руководство, чтобы помочь мне сделать это: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ Я получил 10-е место в руководстве, и теперь я застрял! На моем VPS не установлена SQL Server Management Studio. Во всяком случае, это оставило меня с двумя вариантами:
- Установить SSMS
- Найдите другой способ сделать точку 10 в руководстве без установки SSMS.
Я попытался установить SSMS на своем VPS с помощью установщика веб-платформы, но он продолжает терпеть неудачу. Я не знаю, почему его неудача, потому что, похоже, это не причина. Кто-нибудь знает, как я могу позволить удаленным соединениям по-другому?
Версия SQL Server, установленная на моем VPS, - это SQL Server 2008 R2 Express.
Обновление
Я попытался отключить брандмауэр как на моем ноутбуке, так и на VPS, чтобы узнать, является ли это проблемой межсетевого экрана. Это не имело никакого значения для сообщения об ошибке.
Другое обновление:
Теперь, когда я смог установить SSMS (я установил непосредственно с веб-сайта, а не с помощью WPI), я смог проверить, что сервер настроен на разрешение удаленных подключений (я пошел в SSMS, подключенный к SQL Server экземпляр, щелкнув правой кнопкой мыши на соединении, нажал "Свойства", перешел на вкладку "Подключения". "Разрешить удаленные подключения к этому серверу" уже отмечено).
Решение
Спасибо всем за то, что помогли мне добраться до этого решения! Мне, наконец, удалось заставить его работать! Я последовал совету Filip De Vos и открыл порты в брандмауэре на моем VPS, а затем получил другое сообщение об ошибке. Это привело меня к дальнейшему исследованию, и я обнаружил, что я использую неправильные учетные данные для входа в систему! Поэтому я установил пароль для пользователя sa, и мне удалось войти в систему, используя это! Еще раз спасибо!
Ответы
Ответ 1
-
Чтобы включить смешанную проверку подлинности, вы можете изменить следующий раздел реестра:
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode
Обновите значение до 2 и перезапустите службу сервера Sql, чтобы разрешить смешанную проверку подлинности. Обратите внимание, что MSSQL.1, возможно, потребуется обновить, чтобы отобразить количество экземпляров SQL Server, которые вы пытаетесь изменить.
-
Причиной ошибок подключения может быть установлен антивирусный сканер на сервере, который блокирует sqlserver.exe
.
-
Другая причина может заключаться в том, что служба браузера SQL Server не запущена. Когда эта служба не запущена, вы не можете подключиться к именованным экземплярам (когда они используют динамические порты).
-
Также возможно, что Sql Server не настроен для прослушивания TCP-соединений и разрешает только именованные каналы.
- В меню "Пуск" откройте "Программы" > "Microsoft SQL Server 2008" > Инструменты конфигурации > Конфигурация поверхности SQL Server
- В утилите конфигурирования Surface Area щелкните ссылку "SQL Server
Configuration Manager "
- Разверните "Конфигурация сети SQL Server" и
выберите Протоколы.
- Включить TCP/IP. Если вам нужны именованные каналы, то вы можете
включите их здесь также.
-
И последнее, но не менее важное: брандмауэр Windows должен разрешать подключения к SQL Server
- Добавить исключение для sqlserver.exe при использовании системы "Динамический порт".
- В противном случае вы можете поместить исключения для портов SQL Server (порт по умолчанию 1433)
- Также добавьте исключение для браузера SQL Server. (порт udp 1434)
Дополнительная информация:
Как последнее примечание, SqlLocalDB поддерживает только именованные каналы, поэтому вы не можете подключиться к нему по сети.
Ответ 2
В дополнение к настройке службы обозревателя SQL Server в Services.msc для Automatic и запуску службы мне пришлось включить TCP/IP в: SQL Server Configuration Manager | Конфигурация сети SQL Server | Протоколы для [ИМЯ ИНСТАНЦИИ] | TCP/IP
![введите описание изображения здесь]()
Ответ 3
-
Запустите диспетчер конфигурации SQL Server на своем VPS.
-
Взгляните на конфигурацию сети SQL Server. Убедитесь, что TCP/IP включен .
-
Далее просмотрите службы SQL Server. Убедитесь, что браузер SQL Server запущен.
-
Перезапустите службу для вашего экземпляра SQL Server.
Ответ 4
-
Откройте диспетчер конфигурации SQL Server....
2. Проверьте, работают ли TCP и UDP или нет.
3.Если не работает, включите их, а также проверьте, работает ли браузер SQL Server или нет. Если он не работает, включите его.
-
Затем вам нужно проверить, какие порты используют TCP и UDP. Вы должны открыть эти порты из брандмауэра Windows.
5. Нажмите здесь, чтобы увидеть шаги по открытию определенного порта в брандмауэре Windows....
-
Теперь SQL Server готов к доступу по локальной сети........
-
Если вы хотите получить доступ к нему удаленно (через Интернет), вам нужно выполнить другое задание, которое является "Port Forwarding". Вы открыли порты TCP и UDP, которые используются в SQL Server на вашем маршрутизаторе. Теперь конфигурация маршрутизаторов отличается. Если вы дадите мне информацию о вашем маршрутизаторе (например, название компании и версия), я могу показать вам шаги по переходу на определенный порт.
Ответ 5
Недавно я обновился с SQL 2008 R2 до SQL 2012 и имел аналогичную проблему. Проблема заключалась в брандмауэре, но более конкретно в правиле брандмауэра для SQL SERVER. Таможенное правило было указано на предыдущую версию SQL Server. Попробуйте это, откройте "Брандмауэр Windows" > "Дополнительно". Найдите правило SQL Server (оно может иметь собственное имя). Щелкните правой кнопкой мыши и перейдите в свойства, затем вкладки "Программы и службы". Если "Программы" - эта программа выбрана, вы должны найти подходящую версию sqlserver.exe.
Ответ 6
У меня была такая же проблема, когда мой брандмауэр был настроен правильно, TCP/IP был включен в диспетчере конфигурации SQL Server, но я все еще не мог получить доступ к моей базе данных SQL за пределами компьютера, на котором он находится. Я нашел решение, что браузер SQL Server отключен по умолчанию в службах (и для включения в диспетчере конфигурации SQL Server этого параметра не было).
Я включил его с помощью панели управления > "Администрирование" > "Службы", затем дважды щелкните "Браузер SQL Server". На вкладке "Общие" в раскрывающемся списке задайте тип запуска "Автоматически". Затем вернитесь в диспетчер конфигурации SQL Server и убедитесь, что включен браузер SQL Server. Надеюсь это поможет.
![введите описание изображения здесь]()