Группировка sys.dm_exec_connections по базе данных (это не совсем похоже на sys.sysprocesses) - PullRequest
0 голосов
/ 19 апреля 2009

Исходя из моего последнего вопроса :

Я написал некоторый код для обновления базы данных SQL Server. Перед обновлением базы данных я планирую ограничить доступ к базе данных следующим заявлением:

ALTER DATABASE Test SET SINGLE_USER WITH ROLLBACK IMMEDIATE

Перед запуском этого кода я дам пользователю возможность отказаться. Во время запроса пользователя я подумал, что было бы неплохо показать список активных соединений (непрерывно опрашиваемых с установленным интервалом); предоставление пользователю инструмента для идентификации приложений / пользователей, которые он хотел бы загрузить с сервера, прежде чем продолжить.

В SQL 2000 вы можете использовать таблицу sys.sysprocesses для просмотра всех соединений, которые применяются к базе данных. Это включает в себя соединения, которые не имеют активного запроса (например, когда вы открываете окно Query Analyzer и выбираете базу данных).

Однако, используя:

  • sys.dm_exec_connections
  • sys.dm_exec_sessions; и
  • sys.dm_exec_requests

Я не мог найти способ достичь того же результата. Похоже, что эти представления только связывают соединения с базой данных через запрос. Есть ли способ имитировать поведение sys.sysprocesses? Я бы предпочел не использовать эту таблицу для баз данных SQL Server 2005/2008.

1 Ответ

0 голосов
/ 19 апреля 2009

Э-э ... Я рекомендовал это для вашего другого вопроса.

Извините, но я обнаружил, что вам все еще нужно использовать sysprocesses

Это исправлено как ошибка в Microsoft Connect 144515 , чтобы исправить, Я нашел это здесь

Лично я все еще использую sysprocesses, потому что мне это удобно, как бы лениво и хамски это ни было ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...