#0
by askn
Вопрос по синтаксису как пишут в широко распространенной статье, для запуска процедуры следует выполнить запрос: sp_msforeachtable N'DBCC INDEXDEFRAG (<имя базы данных>, ''?'')' , подставив в него имя базы Вот об эту подстановку и спотыкаюсь ). писал с угловыми скобками и без - при запуске на выполнение вылезают сообщения о синтаксических ошибках нужно отметить, что сам ms sql server старый (2000). запрос запускаю через query analyser
#4
by Aprobator
там кстати, через просмотр сценария можно будет и пример вытащить (речь про SQL менеджмент студио 2005 в частности).
#6
by askn
- не срабатывает так - у меня по кнопке Я ничего не открывается, поясните подробнее , - с мастером не разбирался - не срабатывает
#12
by askn
например, выполняем sp_msforeachtable N'DBCC INDEXDEFRAG (ProtonDB, ''?'')' вылезает много вот таких повторяющихся сообщений Server: Msg 2583, Level 16, State 3, Line 1 An incorrect number of parameters was given to the DBCC statement.
#15
by упс
хм.. в боле для sql server 2000 не написано, что если не указывать имя индекса - будет выполняться для всех индексов таблицы. Попробуйте пример Б отсюда:
#20
by упс
вы попробовали другой скрипт? у вас проблема не в том, что вы имя базы неправильно пишете, а в том что dbcc indexdefrag в sql server 2000 требует трех параметров, а вы ей даете только два.
#23
by упс
имя индекса еще хочет. А "старшие" версии (2005, 2008), если имя индекса не указано, дефрагментируют все индексы. Что, имхо, странно, поскольку начиная с 2005-го советуют отказываться от indexdefrag. Базу не убьете, но такие скрипты лучше запускать когда никто не работает. Может тупить.
#24
by askn
запрос из примера Б отработал выдал две таблички из трех колонок и одной строки во всех ячейках обеих таблиц 0
#26
by упс
Это значит, что в той базе данных, в контексте которой выполнялся запрос нет индексов с уровнем фрагментации больше 30% (параметр @maxfrag в скрипте). То что дал две таблички с нулями - скорее всего есть таблица, в которой нет ни одной строки, которую он почему-то решил дефрагментировать. Я уже не помню как там в QA, но скорее всего там так же как и в SSMS есть вкладка "Messages" рядом с результатом запроса - в ней можете посмотреть какую таблицу и какой индекс SQL Server пытался дефрагментировать. Перед использованием скрипта, дописывайте в начале USE [имя бд в которой надо дефрагментировать индексы].
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Группировка в "Карточке счета"
- Произвольный запрос в источнике данных бюджетирования
- Xerox Phaser 3121 и windows 2008 server 64bit
- Выгрузка отчетности. УПП
- Отбор по добавленной колонке табличного поля.
- Как извлечь данные из Базы Оракл
- Электрики грамотные есть?
- Форма выбора строки дерева значений
- Вывод двух полей в одной колонке
- СКД, таблица, строки - названия месяцев, столбцы - годы, как?
- Как завести остатки по 71 счету в КА 8 ?
- Ошибка при вызове метода контекста (Записать): Операция не выполнена!
- Работа с FTP
- Как в процедуре ПриПолученииДанных - отменить вывод строки..
- КА НДС включать в стоимость и Распределение НДС
- Узнать позицию в списке значений по представлению
- УТ11: Отчет "Анализ расчетов с клиентами"
- УПП. Дополнительное начисление
- УТ: Профессионал тестирование
- кассовое поступление в бухгалтерии бюджетного учреждения