Дозвіл проблем підключення до sql server 2018

Пошук причин виникнення помилок підключення

Більшість проблем при підключенні до SQL Server є наслідком проблем з TCP / IP, Windows аутентифікацією, або їх комбінацією.

ВАЖЛИВО: Перед тим як почати пошук причини виникнення проблеми підключення до SQL Server, переконайтеся, що служба MSSQLServer стартувала.

Перевірка налаштувань DNS

Натиснути кнопку "Пуск" (Start), потім вибрати пункт "Виконати ..." (Run)

У діалоговому вікні ввести cmd і натиснути OK

У командному рядку наберіть і виконайте наступну команду

ping -a

Також уникнути цієї проблеми допомагає використання для підключення до сервера мережевої бібліотеки іменованих каналів. Також уникнути цієї проблеми допомагає використання мережевої бібліотеки іменованих каналів для підключення до сервера.

Перевірка наявності протоколів і псевдонімів

Проблеми зі з'єднанням можуть виникати внаслідок неправильної настройки псевдонімів на клієнті. Щоб це перевірити, необхідно виконати наступні кроки:

Запустіть Client Network Utility. Якщо клієнтські утиліти SQL Server встановлені на комп'ютері, де виконується клієнтську програму, запустити Client Network Utility можна наступним чином:

Натиснути кнопку "Пуск" (Start), потім вибрати пункт меню "Програми" (Programs)

Вибрати розділ Microsoft SQL Server, а потім з підміню запустити Client Network Utility.

Якщо клієнтські утиліти SQL Server не встановлені на комп'ютері, де виконується клієнтську програму, то Client Network Utility запускається в такий спосіб:

Натиснути кнопку (Start), потім вибрати пункт меню "Виконати ..." (Run)

У діалоговому вікні вести команду cliconfg і натиснути OK

У вікні програми мережевого клієнта SQL Server (Client Network Utility) перейдіть на вкладку General (Загальні) і вибрати всі протоколи, які Ви хочете використовувати.
Зверніть увагу: зі списку Ви повинні вибрати протоколи TCP / IP і іменовані канали.

Перейдіть на вкладку Alias ​​(псевдоніми) і переконайтеся, що для SQL Server створений псевдонім.

Важливо: У ранніх версіях Microsoft Data Access Components (MDAC) використовується інший користувальницький інтерфейс утиліти Client Network Utility. Таким чином, якщо інтерфейс Client Network Utility не містить тих елементів, які описані вище, слід встановити останню версію MDAC на комп'ютер, де виконується клієнтську програму.

Перевірка порту прослуховування екземпляра SQL Server

Якщо Ви не можете підключитися до SQL server з використанням TCP / IP, спробуйте зробити це, використовуючи іменовані канали або пам'ять, що розділяється. Запустіть наступну команду для того, щоб визначити які порти вже використовуються:

Дозвіл проблем MDAC

Зверніть увагу: якщо Ви підключаєтеся до іменованого примірника SQL Server, переконайтеся що у Вас встановлений MDAC версії не меншою 2.6. Більш ранні версії MDAC не підтримують підключення до іменованих екземплярів SQL Server.

Дозвіл проблем пов'язаних з використанням мережевих екранів

287932 INF: TCP ports needed for communication to SQL Server through a firewall (Порти TCP, необхідні для підключення до SQL Server).
269882 HOWTO: Use ADO to connect to a SQL Server that is behind a firewall (Використання ADO для підключення до SQL Server через мережевий екран).

Якщо для підключення до SQL Server використовується протокол TCP / IP, переконайтеся в тому що Ви можете підключитися за допомогою програми Telnet до порту на якому "слухає" SQL Server. Для цього з командного рядка потрібно виконати наступне:

Telnet

Якщо при підключенні Telnet-те видається помилка, прийміть заходи до усунення причин її виникнення і спробуйте підключитися знову.

Важливо: User Datagram Protocol (UDP) порт +1434 може бути заблокований для захисту від проникнення вірусу Slammer.

Дозвіл проблем аутентифікації і безпеки

Підключення до SQL server може закінчитися невдачею через те, що процес аутентифікації завершується помилкою, при цьому Ви можете отримати наступні повідомлення про помилки:

Проблеми з аутентифікацією і безпекою можуть бути викликані наступними причинами:

Проблеми з NTLM або Kerberos аутентифікації.

Контролер домену недоступний з причин помилок підключення.

Проблема з довірчими стосунками в домені.

При підключенні з використанням SQL Server аутентифікації, Ви можете отримати наступну помилку:

Для того, щоб вирішити цю проблему, необхідно зробити наступне:

Переконайтеся в тому, що екземпляр SQL Server використовує змішану аутентифікації: Windows і SQL Server. Для цього потрібно перевірити такі гілки реєстру на комп'ютері, де виконується SQL Server:

Для екземпляра за замовчуванням:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ MSSQLServer \ MSSQLServer \ LoginMode

Для іменованого примірника:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SQL Server \\ MSSQLServer \ LoginMode

Пам'ятайте: Після змін в реєстрі потрібно перестартовать SQL Server, для того щоб зміни вступили в силу.

Спробуйте підключитися до SQL Server, використовуючи різні облікові записи Windows і SQL Server. Це допоможе переконатися в тому, чи виникає помилка підключення тільки при використанні конкретної облікового запису, наприклад через зміну її пароля.

Спробуйте підключитися до SQL Server, використовуючи різні протоколи. Наприклад при підключенні по TCP / IP і Windows аутентифікації з'єднання може завершитися помилкою, а підключення через іменовані канали, з використанням Windows аутентифікації може завершитися успішно.

Дозвіл проблем перевантаження TCP / IP сокетів

При використанні ODBC драйвера для SQL Server або Microsoft OLE DB провайдера для SQL Server і System.Data.SqlClient Managed Provider, у Вас є можливість за допомогою відповідного API відключити використання пулу підключень. Якщо Ви його вимкніть, а ваша заявка часто створює і закриває підключення, може зрости навантаження на мережеві бібліотеки нижнього рівня. Іноді Web - сервера і JDBC драйвери теж можуть намагатися встановити з'єднання з SQL Server. Таким чином, збільшення кількості запитів на підключення до SQL Server може стати більше, ніж SQL Server може обслужити. Це збільшує навантаження на TCP / IP сокети і Ви можете отримати таке повідомлення про помилку в журналі SQL server:

Для отримання додаткової інформації, прочитайте наступні статті:
154628 INF: SQL logs 17832 with multiple TCP \ IP connection requests.
328476 TCP / IP settings for SQL Server drivers when pooling is disabled.

Переконайтеся, що SQL Server не запущені в режимі одного

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

SQL Server Agent

Програмне забезпечення для резервного копіювання сторонніх виробників

Програмне забезпечення сторонніх виробників для моніторингу

Антивіруси сторонніх виробників

Microsoft Internet Information Services (IIS)

SQL Server Enterprise Manager

Клієнтську програму при спробі підключення до SQL Server отримує наступну помилку:

Перевірка підключення до SQL Server по іменованих каналах

Якщо Ви не можете підключитися до SQL Server по іменованих каналах, перевірте для SQL Server настройку використання іменованих каналів. Для отримання додаткової інформації про те, як протестувати з'єднання через іменовані канали, прочитайте наступну статтю: 68941 INF: Procedure for testing named pipes.

Дозвіл проблем підключення під час процесу регенерації

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

У момент виконання процесу реорганізації до SQL server можна підключитися. Клієнти, які в цей час намагаються встановити з'єднання з SQL Server можуть отримати подібну представленої нижче помилку:

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

Тестування різних способів підключення до примірника SQL Server

Якщо у Вас виникають проблеми при підключенні до SQL Server, можна скористатися одним з таких способів, щоб визначити причину виникнення цієї проблеми:

Спробувати підключитися, використовуючи інше джерело даних, такий як ODBC DSN, файл .udl. Або використовуючи іншу програму: SQL Query Analyzer, SQL Server Enterprise Manager, утиліти isql або osql.

Перевірити можливість підключення до SQL Server з використанням різних протоколів. Для цього можна створити псевдонім для сервера і визначити для нього протокол. Також вказати протокол можна в рядку підключення, дописавши перед ім'ям сервера tcp. np. lpc. або rpc. Тобто, якщо підключення через tcp / ip закінчується помилкою, можна спробувати підключитися через іменовані канали.

Перевірити можливість підключення з використанням різних облікових записів. Це допоможе, якщо проблема пов'язана з підключенням з конкретною обліковим записом.

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

Коли Ви підключаєтеся з комп'ютера, на якому виконується SQL Server, замість повного імені сервера можна використовувати "." або "(local)" (без лапок).

Спробуйте визначити вручну ім'я порту на якому "слухає" SQL Server шляхом створення псевдоніма або в рядку підключення (Наприклад MyServer \ MyInstance, 1433).

Для отримання більш детальної інформації можна використати SQL Profiler, а також Network Diagnostics Tool, якщо комп'ютер, на якому працює SQL Server, не є одним з вузлів кластера. Для отримання інформації про те, як використовувати Network Diagnostics Tool, вивчіть наступну статтю:

Схожі статті