2013-07-10 3 views
0

Я пытаюсь выполнить следующий сценарий, чтобы проверить сценарий последнего запуска SQL:sys.dm_exec_query_stats не имеет разрешения, как SA

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query] FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS dest WHERE dest.TEXT LIKE '%Drop%'

но для этого: select * from sys.dm_exec_query_statse

Это говорит «У пользователя нет разрешения на выполнение этого действия».

Я зарегистрирован как SA, так почему у меня до сих пор нет разрешения?

редактировать: выход из системы, Логин, новое окно запроса ... tadaaam, все работает -.-

+1

Вы буквально открываете новое окно запросов на SQL Server в SSMS и запускаете только код выше? Это не (скажем) внутри хранимой процедуры или что-то в этом роде? –

+0

Да Я открываю новое окно запроса и запускаю его там как sa –

+0

И вот почему я спросил, делаете ли вы это в новом окне запроса - есть много вещей, которые вы можете сделать, что оставит ваше соединение в нечетном состоянии, даже если это началось с того, что вы работаете как 'sa'. –

ответ

1

Попробуйте запустить sys.fn_my_permissions DMF получить список разрешений вы ACount имеет и SUSER_NAME() получить регистрационное имя, исполняемый запрос

+1

Я не думаю, что '' можно удалить из 'sysadmin'. 'alter server role sysadmin drop member sa' производит' Нельзя использовать специальный главный 'sa'.' –

+0

Acctualy вы правы, вы не можете удалить sa account – dixpac

+0

Я побежал «выберите SUSER_NAME()», и это привело к нормальному пользователю, не sa ... но я вошел в систему с моим sa, поэтому я не понимаю –