В собственном Microsoft SQL Server, когда я выпускаю этот запрос:
ВЫБЕРИТЕ * ИЗ sys.dm_exec_sessions
Я получаю одну запись на окно в SSMS. Если я открываю несколько окон запроса в SSMS, я получаю запись для каждого из тех, даже если они ничего не делают. В Azure, когда я выпускаю тот же самый запрос, я только возвращаю одну запись. Вот строка над заголовком - я даже только возвращаю одну запись, когда у меня есть несколько окон в SSMS выполнение активной работы в Azure.
Вот снимок экрана:
Azure SQL http://s3temp.brentozar.com/azure1.png
В том снимке экрана у меня есть три активных вкладки в SSMS. Два из них выполняют гигантские операторы вставки, которые занимают несколько секунд для выполнения, и третий запрашивает sys.dm_exec_sessions - но я только возвращаю одну запись. Я получаю несколько записей в sys.dm_tran_active_transactions и sys.dm_tran_database_transactions, но это изменяется, как я сообщаю относительно активных запросов, если я не могу скрепить его к отдельным сессиям. Это - ожидаемое поведение или что-то, что MS работает для фиксации в Azure vNext?
После эскалации этого вопроса внутри Microsoft они пришли к выводу, что в sys.dm_exec_sessions есть ошибка. Он неправильно отфильтрован, поэтому всегда показывает только ваш текущий сеанс и никаких других сеансов независимо от ваших разрешений. Они обновят его в будущем выпуске SQL Azure.
Дополнительная информация в ветке MSDN, если вам нужны доказательства:
Поведение Azure такое же, как и SQL:
Разрешения: Требуется разрешение VIEW SERVER STATE на сервере.
Примечание: Если у пользователя есть разрешение VIEW SERVER STATE на сервере, пользователь пользователь увидит все выполняющиеся сеансы на экземпляре SQL Server; в противном случае, пользователь увидит только текущий сеанс.