KB3024815 - Компіляція великих запитів очікує RESOURCE_SEMAPHORE_QUERY_COMPILE у SQL Server 2014 р.

Застосовується до
SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use)

Ознаки

Під час спроби одночасного виконання кількох великих запитів у програмі Microsoft SQL Server 2014 деякі запити можуть очікувати RESOURCE_SEMAPHORE_QUERY_COMPILE. Для компіляції може виконуватися лише один запит, для компіляції якого потрібно більше пам'яті, ніж велике граничне значення шлюзу (як це передбачено результатами команди DBCC MEMORYSTATUS), навіть якщо на сервері достатньо доступної пам'яті.

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

Спосіб усунення проблеми

Відомості про сукупний пакет оновлень

Вперше виправлено цю проблему в наступному сукупному оновленні SQL ServerSQL Server.

Рекомендація: інсталюйте останній сукупний пакет оновлень для SQL Server

Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Радимо завантажити та інсталювати останні сукупні оновлення для SQL Server.

У цьому поточному виправленні вводиться новий прапорець трасування – T 6498. Ця позначка трасування дає змогу кільком компіляціям великих запитів отримати доступ до великого шлюзу за наявності достатнього обсягу пам'яті. Він базується на 80 відсотках цільової пам'яті SQL Server і забезпечує компіляцію одного великого запиту на 25 гігабайт (ГБ) пам'яті. Наприклад, так можна компілювати два великі запити на комп'ютері з цільовою пам'яттю обсягом 64 ГБ.

Після застосування цього виправлення потрібно активувати позначку трасування -T 6498, щоб увімкнути нову поведінку.

Примітка. Якщо ви ввімкнули позначку трасування за допомогою команди DBCC TRACEON, не потрібно перезавантажувати сервер, щоб позначка трасування подіяла. Але застосування нової конфігурації великого шлюзу може зайняти 10 секунд.

 Підтримуване поточне виправлення можна отримати від корпорації Майкрософт. Однак це виправлення призначено лише для виправлення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, у яких виникла ця конкретна проблема.

Якщо виправлення доступне для завантаження, угорі цієї статті в базі знань відображається розділ "Доступне завантаження виправлень". Якщо цей розділ не відображається, надішліть запит до служби обслуговування й підтримки клієнтів корпорації Майкрософт, щоб отримати виправлення.

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

/contactus/?ws=support Примітка. У формі "Доступне завантаження виправлень" відображаються мови, для яких доступне виправлення. Якщо ви не бачите свою мову, це означає, що виправлення недоступні для неї.

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

CauseSQL Server використовує шлюзи компіляції, щоб обмежувати кількість компіляцій. Архітектура шлюзу SQL Server дає змогу контролювати використання пам'яті для компіляції вхідних запитів. Є три шлюзи: малий, середній і великий.

Докладні відомості про використання команди DBCC MEMORYSTATUS для моніторингу використання пам'яті див. в статті 907877 статті бази знань про використання пам'яті в SQL Server 2005 році.

Стан

Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".