Sign in with Microsoft
New to Microsoft? Create an account.

Загальні відомості

Коли клієнт SQL Server відключається від сервера SQL Server, процес підключення має бути очищене на стороні сервера. Якщо процеси підключення не очищаються з будь-якої причини, вони стають "сиротами" або "примари". Ці процеси можуть використовувати цінні ресурси, як-от замки та зв'язки користувача. Процеси "сироти" зазвичай викликані неправильним закриттям клієнтських програм і проблем із мережею, а засоби, як правило, вимагають виправлення неполадок із клієнтськими програмами та настроювання конфігурації мережі.

Додаткові відомості

Якщо ви усуньте цю проблему, зверніть увагу на таке:

  • SQL Server, як програма, не має і не має активного дослідження підключення клієнта, щоб визначити його поточний стан. Для керування клієнтськими підключеннями відповідає функція Міжпроцесійних зв'язків (IPCs), наприклад "іменовані труби", "IPCS/SPX" або "TCP/IP".

  • Засіб IPC зазвичай має власний механізм для керування клієнтськими підключеннями. Коли клієнтські підключення стають нечутливим для певного проміжку часу, зазвичай комп'ютер з Windows NT Server буде або виявити це, надіславши "зберегти живий", або зніміть з'єднання після простоювання для настроєного проміжку часу. Тим не менш, "зберегти-живий" пакети не відправляються за замовчуванням за допомогою програми. Щоб ця функція була ввімкдана, потрібно активувати цю функцію.

  • У певних ситуаціях, як-от помилка захисту клієнта, клієнт може ще відповідати на зонди сервера, навіть якщо програма вже мертва. У цьому випадку комп'ютер з Windows NT Server може не закривати цей клієнтський зв'язок на невизначений термін, доки клієнт не вимикається.

  • Якщо комп'ютер із Windows NT Server не закриває мертвий зв'язок із будь-якої причини, SQL Server по праву припускає, що це підключення все ще активне, і, отже, не очистьте її.

  • Якщо комп'ютер із Windows NT Server успішно закрив підключення, але клієнтський процес все ще існує на сервері SQL, як зазначено в sp_who, то це може означати проблему з керуванням підключенням до сервера SQL Server. У цьому випадку слід працювати з основним постачальником служби підтримки, щоб вирішити цю проблему.

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

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

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

  3. Зверніться до користувачів програми для будь-яких неналежної процедури закриття програм, наприклад, теплого або холодного перезапуску робочих станцій, не закриваючи програми. Перевірте, чи є історія робочої станції нестабільна, як-от Загальна помилка захисту, і т. д. Виправте ці неправильні процедури або проблеми з стабільністю, якщо вони існують.

  4. Перевірте, чи все ще працює сеанс IPC на комп'ютері з Windows NT Server, на якому запущено SQL Server. Залежно від типу IPCs, які ви використовуєте, команди різні. Наприклад, якщо ви використовуєте іменовані труби, команда – "чиста сесія" або "NET FILES"; Якщо це підключення TCP/IP, ви можете використовувати "NETSTAT" для відображення активних сесій TCP; у випадку з IPX/SPX, можливо, доведеться використовувати монітор продуктивності, щоб стежити за "відкритими підключеннями" для "NWLink SPX".

  5. Якщо на комп'ютері під керуванням Windows NT Server все ще активні сеанси IPC, це цілком звичайна для сервера SQL Server, щоб зберегти ці процеси підключення. Коли Windows NT очистить сесії IPC, сервер SQL Server буде сповіщено та очистить процеси підключення відповідно. Ви можете настроїти певні параметри мережі Windows NT, щоб скоротити проміжок часу, протягом якого операційна система Windows NT має чекати перед очищенням мертвих сесій. Знову ж таки, залежно від того, що ви використовуєте, параметри, які беруть участь, дуже різні.Щоб отримати докладні відомості, клацніть Нижченаведений номер статті, щоб змінити ці параметри реєстру, щоб переглянути цю статтю, щоб дізнатися, як змінити ці параметри реєстру, щоб відповідати нижчезгаданим нижче в базі знань Microsoft Knowledge Base:

    120642 Параметри конфігурації TCP/IP і NetBT для Windows 2000 або Windows NT

    99745 Настроювання параметрів реєстру NWLINK

    • Іменовані труби: іменовані труби реалізовані в шарі повідомлень сервера (SMB) у верхній частині інших транспортних протоколів, таких як TCP/IP, NetBEUI або NWLink IPX/SPX. Один тонкий шар, який називається NetBIOS, зазвичай реалізується між SMB і транспортним шаром. Таким чином, зручний спосіб налаштувати час, який не відповідає під назвою "труби", після того, як ви закриєте, можна буде виконати ці параметри. Для протоколу TCP/IP, який бере участь у шарі NetBIOS, є NBT (NetBIOS за протоколом TCP), а також параметр, який бере участь у цьому розділі реєстру: KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters Якщо використовується протокол NWlink IPX/SPX, то залучені параметри мають Keealivemount і Keadalvedtimeout у наведеному нижче розділі реєстру: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNBLink\Parameters Зверніть увагу, що в деяких іменованих трубах, що відповідно до NWLink, може оминати рівень NetBIOS (DirectHosting), що означає, що вищенаведені параметри NetBIOS не застосовуватимуться.

    • Роз'єми TCP/IP: сервер Windows NT періодично надсилає "зберігати живі пакети для клієнтів, а клієнти, як очікується, відповідатимуть. Якщо з будь-якої причини клієнт не відповідає на ці пакети, Windows NT видаляє сеанс TCP після того, як ви намагаєтеся налаштувати кількість разів. У наведених нижче розділах реєстру використовуються параметри, які беруть участь у Kepaliveinterval, Keealvetime і Tcpmaxdataretrs. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    • IPX/SPX: Подібно до TCP/IP, Windows NT Server періодично надсилає пакети "зберегти наживо", а клієнти – відповіді. Під час надсилання настроєного номера пакетів "зберегти живий", Windows NT очищує підключення до SPX, якщо він не отримає відповідей. У наведених нижче розділах реєстру доступні параметри, які можуть бути пов'язані з Kevealvece. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWLnkSPX\Parametes

    Зверніть увагу, що якщо параметри "зберегти в живих" для вашого IPCs настроєно без часу очікування, операційна система Windows NT не працюватиме на невизначений час, навіть якщо клієнти повністю закриються. У цьому випадку SQL Server збереже ці клієнтські процеси нескінченно, як і очікувалося. Щоб отримати докладні відомості про параметри, ознайомтеся з документацією до Windows NT або з комплекту ресурсів Windows NT. Якщо ви підозрюєте, що комп'ютер із Windows NT Server не очистити ці сеанси відповідно до параметрів конфігурації, ви можете звернутися до головного постачальника служби підтримки Windows NT для довідки.

  6. Якщо сеанс IPC більше не існує на комп'ютері з Windows NT Server, але SQL Server продовжує зберігати клієнтський процес, як показано в sp_who, ви можете скористатися командою "ВБИТИ", щоб очистити процес як тимчасове рішення, а також звернутися до основного постачальника служби підтримки SQL Server, щоб отримати додаткову допомогу.

Щоб отримати додаткові відомості про цю тему, яка стосується SQL Server 2000, ознайомтеся з темою "сироти сесій" у веб-програмі SQL Server Books Online.

Потрібна додаткова довідка?

Отримуйте нові функції раніше за інших
Приєднатися до Microsoft оцінювачів

Ця інформація корисна?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?

Дякуємо за відгук!

×