Не удается подключиться к экземпляру SQL Server удаленно
Я пытаюсь получить доступ к экземпляру SQL Server на моем VPS из SQL Server Management Studio на моей локальной машине. Это не работает (ошибка, которую я получаю:
произошла ошибка, связанная с сетью или экземпляром установление соединения с SQL Server. Сервер не найден или был недоступен. Убедитесь, что имя экземпляра правильно и что SQL Server настроен на разрешение удаленных подключений.
Я думаю, что это потому что мне нужно настроить компонент database engine для разрешения удаленных подключений (исправьте меня, если я ошибаюсь!). Поэтому я нашел это пошаговое руководство, чтобы помочь мне сделать это: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ я должен указать 10 в руководстве, и теперь я застрял! У меня нет SQL Server Management Studio, установленной на моем VPS. Во всяком случае, у меня осталось два варианта:
- установить SSMS
- найти другую способ сделать пункт 10 вперед в руководстве без установки SSMS
Я попытался установить SSMS на моем VPS с помощью установщика веб-платформы, но он продолжает терпеть неудачу. Я не знаю, почему он терпит неудачу, потому что он, похоже, не дает причины. Кто-нибудь знает, как я могу разрешить удаленные соединения по-другому?
версия SQL Server, установленная на моем VPS, - SQL Server 2008 R2 Express.
обновление:
Я попытался отключить брандмауэр на моем ноутбуке и VPS, чтобы увидеть, является ли это проблемой брандмауэра. Это не имело никакого значения для сообщения об ошибке.
Другие Новости:
теперь, когда я смог установить SSMS (я установил непосредственно с веб-сайта, а не с помощью WPI), я смог проверить, что сервер настроен на разрешение удаленных подключений (я пошел в SSMS, подключенный к экземпляру SQL Server, щелкнул правой кнопкой мыши по соединению, щелкнул Свойства, перейдите на вкладку соединения. "Разрешить удаленные подключения к этому серверу" уже отмечен).
решение
спасибо всем, кто помог мне добраться до этого решения! Мне наконец - то удалось заставить его работать! Я последовал совету Филипа де Воса и открыл порты в Брандмауэре на моем VPS, а затем я получил другое сообщение об ошибке. Это привело меня к дальнейшему расследованию, и я обнаружил, что использую неправильные учетные данные для входа в систему! Поэтому я установил пароль для пользователя SA, и мне удалось войти в систему с этим! Еще раз спасибо!
6 ответов
-
чтобы включить смешанную аутентификацию, вы можете изменить следующий раздел реестра:
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode
обновите значение до 2 и перезапустите службу Sql Server, чтобы разрешить смешанную проверку подлинности. обратите внимание, что MSSQL.1 возможно, потребуется обновить, чтобы отразить номер экземпляра SQL Server, который вы пытаетесь изменить.
причиной ошибок подключения может быть установленный на сервере антивирусный сканер, который блокирует
sqlserver.exe
.другой причиной может быть то, что Служба браузера SQL Server не запущена. Если эта служба не запущена, невозможно подключиться к именованным экземплярам (если они используют динамические порты).
-
также возможно, что Sql Server не настроен для прослушивания TCP-соединений и разрешает только именованные каналы.
- в меню Пуск откройте программы > Microsoft SQL Server 2008 > Средства настройки > поверхность SQL Server Конфигурация Области
- в утилите настройки поверхностной области щелкните ссылку " SQL Server Configuration Manager"
- разверните "конфигурация сети SQL Server" и выберите протоколы.
- включить TCP/IP. Если вам нужны именованные каналы, то вы можете включите их и здесь.
-
и последнее, но не менее важное: Брандмауэр Windows должен разрешать подключения к SQL Server
- добавить исключение для от SQLServer.exe при использовании системы "динамический порт".
- В противном случае вы можете поместить исключения для портов SQL Server (порт по умолчанию 1433)
- также добавьте исключение для браузера SQL Server. (udp порт 1434)
дополнительная информация:
- как настроить брандмауэр Windows для доступа к ядру СУБД
- Как подключиться к серверу темы (база данных Двигатель)
в качестве последней ноты,SqlLocalDB поддерживает именованные каналы, так что вы не можете подключиться к нему по сети.
в дополнение к настройке службы браузера SQL Server в службах.msc для автоматического и запуска службы мне пришлось включить TCP | IP в: SQL Server Configuration Manager | SQL Server Network Configuration | Protocols for [имя экземпляра]/TCP / IP
запустите Диспетчер конфигурации SQL Server на VPS.
взгляните на сетевую конфигурацию SQL Server. Убедитесь, что TCP/IP включено.
Далее рассмотрим службы SQL Server. Убедитесь, что браузер SQL Server запущен.
перезапустите службу для экземпляра SQL Server.
Откройте Диспетчер конфигурации SQL Server.... 2.Проверьте, работают ли TCP и UDP wheather или нет.... 3.Если они не запущены , включите их, а также проверьте, запущен ли браузер SQL Server.Если не работает включите его.....
Далее вы должны проверить, какие порты TCP и UDP использует. Вы должны открыть эти порты из брандмауэра windows.....
5.Нажмите здесь, чтобы увидеть шаги для открытия определенного порта в Брандмауэр windows....
теперь SQL Server готов к доступу по локальной сети.......
Если вы хотите получить доступ к нему удаленно (через интернет), вам нужно выполнить другую работу, которая является "переадресацией портов". Вы открыли порты TCP и UDP, используемые в SQL Server на вашем маршрутизаторе. Теперь конфигурация маршрутизаторов другая. Если вы дадите мне информацию о вашем маршрутизаторе (i. e название компании и версия), я могу показать вам шаги, как переслать определенный порт.
недавно я обновился с SQL 2008 R2 до SQL 2012 и имел аналогичную проблему. Проблема заключалась в брандмауэре, но более конкретно в правиле брандмауэра для SQL SERVER. Пользовательское правило было указано на предыдущую версию SQL Server. Попробуйте, откройте Брандмауэр Windows>Дополнительные параметры. Найдите правило SQL Server (оно может иметь пользовательское имя). Щелкните правой кнопкой мыши и перейдите на вкладку Свойства, Затем программы и Службы. Если программы-эта программа выбрана, вы должны найти правильную версию от SQLServer.исполняемый.
У меня была та же проблема, когда мой брандмауэр был настроен правильно, TCP/IP был включен в Диспетчере конфигурации SQL Server, но я все еще не мог получить доступ к моей базе данных SQL извне компьютера, на котором он размещен. Я обнаружил, что решение SQL Server Browser было отключено по умолчанию в службах (и не было возможности включить его в диспетчере конфигурации SQL Server).
Я включил его с помощью Панели управления > Администрирование > Службы, затем дважды щелкните браузер SQL Server. В на вкладке Общие задайте Тип запуска Автоматически с помощью раскрывающегося списка. Затем вернитесь в Диспетчер конфигурации SQL Server и убедитесь, что браузер SQL Server включен. Надеюсь, это поможет.