Я не можу підключитися до бази даних SQL моїх серверів через IP-адресу


45

У мене налаштований сервер, який працює під управлінням Windows Server 2008 та інстальований SQL Server 2008 Express.

Я можу підключитися до бази даних SQL Server Express машини через MACHINENAME/SQLEXPRESS.

Однак коли ми підходимо до підключення через будь-яке програмне забезпечення або сценарій, використовуючи IP-адресу, це з'єднання не дозволить.

Я намагався:

  • Вимкнення брандмауера.
  • Дозволення віддалених підключень для бази даних SQL.
  • Увімкнення TCP / IP в конфігурації SQL.

Коли ми намагаємося підключитися через програмне забезпечення "SQL Server Management Studio", ми отримуємо таке повідомлення:

Повідомлення про помилку:

Під час встановлення з'єднання з сервером сталася помилка. Під час підключення до SQL Server 2005 цей збій може бути викликаний тим, що за налаштуваннями за замовчуванням SQL Server не дозволяє віддалені з'єднання. (постачальник: TCP Provider, помилка: 0 - Не вдалося встановити з'єднання, оскільки цільова машина активно відмовилася від нього.) (Microsoft SQL Server, помилка: 10061)

З’єднання було успішно встановлено із сервером, але потім у процесі входу сталася помилка. (постачальник: постачальник TCP, помилка: 0 - встановлене з'єднання було перервано програмним забезпеченням у вашому хост-машині.) (Microsoft SQL Server, помилка: 10053)

Чи можете ви, будь ласка, дайте мені знати, коли ваша безкоштовна, тому ми можемо поглянути, тому що, здається, я дізнаюся, де я змінив деталі згідно з деякою інформацією, яку UK Fast надіслав мені, але вони сказали: "Це не в межах підтримки" , тому вони більше не можуть допомогти.

Я з нетерпінням чекаю від вас.


Ви намагалися додати номер порту під час з'єднання?

Ви намагаєтеся підключитися до "192.168.0.1/SQLEXPRESS" (де 192.168.0.1 - це дійсно IP-адреса вашого сервера ), або ви опускаєте ім'я екземпляра?
Роуленд Шоу

2
Ви дійсно використовуєте косу косу рису вперед, /а не зворотну косу рису "\"?
Аарон Бертран

Відповіді:


78

Ваш SQL Server встановлений як іменований екземпляр, тому в першу чергу спробуйте підключитися до сервера , використовуючи наступне ім'я сервера: IP Address\SQLEXPRESS.
Коли ви встановлюєте SQL Server як названий екземпляр, він використовує динамічні порти TCP / IP за замовчуванням, тому неможливо підключитися до нього без вказання імені екземпляра (лише IP-адреса). Якщо вам потрібно підключитися до свого сервера, не використовуючи ім'я екземпляра, вам доведеться перенастроїти сервер для використання статичного порту TCP. Для цього виконайте такі дії:

  1. відкрити менеджер конфігурацій SQL Server;
  2. перейти на SQL Server Network Configuration | Protocols for SQLEXPRESS;
  3. двічі клацніть по TCP/IPпротоколу;
  4. виберіть Yesзначення в Enabledполі;
  5. перейти на IP Addressesвкладку;
  6. знайти IPAllрозділ;
  7. очистити TCP Dynamic Portsполе в цьому розділі;
  8. вкажіть 1433значення в TCP Portполі:
    введіть тут опис зображення
  9. перезавантажте сервер
    Спробуйте підключитися до свого сервера, використовуючи лише його IP-адресу.

7
Дякую, що надали цю інформацію, вона працює чудово, за винятком однієї речі. У студії управління sql мені ще потрібно надати порт для підключення до сервера, наприклад, xxxx \ instance, 1433. Я думаю, що це дивно, оскільки я використовую стандартний порт.
Томаш Янссон

1
Це працювало для мене, за винятком прямо протилежного тому, що повідомив @TomasJansson: він працює в студії управління без номера порту, але я повинен вказати його в рядку підключення, навіть якщо я використовую порт за замовчуванням (1433).
lpacheco

На додаток до чудової відповіді, наведеної вище, в SQL Server 2017 я зрозумів, що ви не можете залишити поле користувача (особливо sa) порожнім. Переконайтеся, що ви встановили пароль - інакше він не з’єднається.
aLearner

ВИКОРИСТУЙТЕ netstat -a -b і знайдіть sqlservr.exe і будьте впевнені, що порт 1433. Не завжди так. Інакше ти зійдеш з розуму.
jwize

8

Ви повинні ввімкнути, дотримуючись для мене проблему, вирішену шляхом ввімкнення та перезапуску всіх служб.

  • Спільна пам'ять
  • TCP / IP
  • Названі труби

Труби конфігурації SQL Server іменовані


8

Використовуючи SQL Server Express 2017, на додаток до наведених вище відповідей, намагаючись підключитися за допомогою порту, переконайтеся, що ви використовуєте синтаксис комами , а не синтаксис двокрапки, тобто:

 MyServerName,1433\InstanceName

Після боротьби з вищезазначеним протягом декількох годин, дотримуючись усіх пропозицій, і він все ще не підключається, я скористався цим вище, і він підключився відразу через Студію управління SQL Server дистанційно. Перший крок до успіху.


1
Це зафіксувало це для мене (переміщення порту між іменем сервера та іменем екземпляра). Вхід у порт наприкінці не спрацював.
masospaghetti

1

Мені вдалося підключитися віддалено, чітко вказавши динамічний номер порту, проте це, очевидно, не ідеально.

Здається, проблема була в тому, що служба браузера SQL Server була відключена. Після того, як я ввімкнув та запустив цю послугу, я зміг підключитися віддалено, просто вказавши ім'я хоста та ім'я примірника.


0

Просто додаю до сказаного раніше. У мене була така ж проблема, що я не маю змоги підключитися до сервера (клієнта та сервера на одному робочому столі), і я пробіг усі кроки, перелічені тут, намагаючись виправити це. Однак я врешті-решт з’ясував, у чому проблема. Все, що мені потрібно було зробити, - це зайти в студію керування сервером SQL і натиснути "Сервіси SQL сервера", а потім одним клацанням миші на сервері, до якого потрібно було підключитися. Потім натисніть зелену кнопку "запустити". Я не впевнений, чи це було специфічно для мене, оскільки мій комп'ютер працював і отримував доступ до сервера, сподіваюся, що це допоможе комусь ще там!

Де кнопка запуску / запуску


1
як на цьому світі цей коментар був так занижений? Просте і виправлене моє вирішення питання
Cavid Hummatov
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.