У мене є кілька запитів, викликаних із веб-програми C # .NET, які завжди для мене швидкі (я локальний адміністратор на SQL сервері), але для групи користувачів (доменна група з необхідними дозволами) запит неймовірно повільний, момент, який він вичерпує у додатку.
Що може призвести до того, що той самий запит може працювати по-різному для різних користувачів?
Більше інформації:
- Запит - це вбудований SQL в код C #, а не збережена процедура
- У додатку використовується автентифікація домену, і користувач, і я запускаємо запит через додаток
- Здається, випуск має різні плани, і один з них був кешований так, що для різних користувачів це було різним. Щось впливає на кеш, тому що зараз запит повільний для мене через додаток і швидкий у студії управління SQL Server.
exact same query
), це не повинно бути нюхати за параметрами (користувачі отримують поганий план для неправильних параметрів), а, скоріше, користувачі отримують різні плани для одного і того ж параметра (и). Це може бути через такі параметри, як quoted_identifier
і arithabort
, з якими ви можете порівнювати sys.dm_exec_sessions
для швидкого користувача та повільного користувача, або це може бути тому, що вони мають різні схеми за замовчуванням, на які посилаються об'єкти без префікса схеми. Нюхання параметрів все ще може бути залученим (отже, для кого з них поганий план).