Уважаемые слушатели! Обращаем ваше внимание, что 01.05.2024 и 09.05.2024 у нас выходные дни. Вы можете оставить сообщение в чате, мы обязательно ответим!

Как программно обработать выдачу сервисных команд DBCC

Самородов Федор Анатольевич: Как программно обработать выдачу сервисных команд DBCC

сфа

Как программно обработать выдачу сервисных команд DBCC

Администраторы баз данных часто используют сервисные команды DBCC. Но это именно команды, а не функции и не процедуры. И в инструкции SELECT их использовать не получится. Так как же получить программным путём доступ к результатам выполнения этих команд (например, для сценариев автоматизации обслуживания базы данных)?

Попробуйте вот такую двухходовую комбинацию.

Во-первых, нужно добиться, чтобы используемая команда DBCC выдавала результат в виде одной таблицы. Некоторые вызовы DBCC таблиц вообще не выдают, некоторые выдают их сразу несколько. Тут придётся посмотреть документацию, так как поведение разных DBCC-команд настраивается по-разному. Например, для SHOWCONTIG нужно добавить опцию TABLERESULTS:

 

DBCC SHOWCONTIG WITH TABLERESULTS

А команду DBCC SHOW_STATISTICS придётся разбить на три вызова:

DBCC SHOW_STATISTICS

Во-вторых, нужно сделать вызов DBCC динамическим и тогда вы сможете поместить его результат в таблицу при помощи конструкции INSERT..EXECUTE, вот так:

Как программно обработать выдачу сервисных команд DBCC

Кстати, а вы знаете, что в новых версиях SQL Server есть более удобная альтернатива командам DBCC? На наших курсах по обслуживанию баз данных вы научитесь пользоваться этими новыми инструментами!

Ближайшие группы

Авторизации

Обратный звонок

Оставьте свои данные ниже и наш менеджер свяжется с вами в рабочее время!

Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности

Спасибо за обращение! Ваш менеджер свяжется с вами в рабочее время.