Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
nau.7thNext Member Откуда: Сообщений: 7 |
Здравствуйте. Прошу пояснить, ЧЯДНТ и как надо (я не sql-щик, просто больше некому). Настраиваю выполнение дефрагментации индексов через планировщик винды.
Вышеприведённое находится в файле "Бухгалтерия. Дефрагментация индексов.sql", который выполняю таким .bat-файлом: chcp 1251 sqlcmd -S SERVER\SQLEXPRESS -d MB-Account2014 -i "Бухгалтерия. Дефрагментация индексов.sql" -o "Бухгалтерия. Дефрагментация индексов.log" В логе для каждой таблицы получаю следующее (с точностью до имен и чисел): Executing DBCC INDEXDEFRAG (0, _InfoRg7003, 1) - fragmentation currently 63% .bat запускается от имени отдельно взятого пользователя винды, который имеет право на вход как пакетное задание (чтобы запускался через планировщик), для которого на SERVER\SQLEXPRESS сделано имя входа, у которого выставлен флажок db_owner для MB-Account2014. Но чего-то, видимо, не хватает (пожалуйста, ЧЕГО??? именно), потому что Pages Moved и Pages Removed все время 0, сколько ни запускай, и проценты фрагментации не меняются. При запуске .sql зашедши как sa в Management Studio оно работает. Отдельным вопросом, пожалуйста, будет, какие права надо выставить конкретно для этого случая, чтобы убрать db_owner.
Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) Dec 28 2012 20:23:12 Copyright (c) Microsoft Corporation Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) |
||
20 окт 14, 20:59 [16733350] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Что вы собрались дефрагментировать на таблице размером в 1 экстент ? |
||
20 окт 14, 21:07 [16733380] Ответить | Цитировать Сообщить модератору |
nau.7thNext Member Откуда: Сообщений: 7 |
Glory, ну так я ж говорю -- фрагмент лога с точностью до чисел. Там несколько сотен таблиц, есть и побольше. Просто первое сообщение взял из лога. |
20 окт 14, 21:11 [16733386] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Значит во всех ваших таблицах по 8 страниц данных, которые не поддались дефрагментации. |
20 окт 14, 21:12 [16733388] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Сообщение было отредактировано: 20 окт 14, 21:14 |
||
20 окт 14, 21:14 [16733398] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Ну так и я вас спрашиваю, что вы собрались дефрагментировать в такой маленькой таблице ? |
||
20 окт 14, 21:27 [16733457] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
Третий параметр уберите. |
20 окт 14, 21:28 [16733464] Ответить | Цитировать Сообщить модератору |
nau.7thNext Member Откуда: Сообщений: 7 |
Ну вот, нашел таблицу побольше. (Ладно, разыграли чайника, pages count = pages scanned, мог бы и не возиться) Executing DBCC INDEXDEFRAG (0, _AccumRgTn7408, 1) - fragmentation currently 10%, pages count: 9198
ОК, понятно, читаю как "таблицы еще не успели фрагментироваться с прошлого выполнения этой процедуры". Действительно, мог бы сам догадаться... То есть все на самом деле работает. Тогда прошу подсказать, какие минимально права нужно оставить для этой учетки, чтобы работало -- не хочется давать избыточные полномочия. |
||||||
20 окт 14, 21:43 [16733501] Ответить | Цитировать Сообщить модератору |
nau.7thNext Member Откуда: Сообщений: 7 |
Мильпардон, откуда именно? Их там полно кругом, третьих параметров... |
||
20 окт 14, 21:46 [16733516] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
Из вызова DBCC INDEXDEFRAG при "ручном запуске", чтоб все индексы попали под дефрагментацию вне зависимости от их текущей фрагментации и увидеть кол-во обработанных страниц. |
||||
20 окт 14, 21:53 [16733538] Ответить | Цитировать Сообщить модератору |
nau.7thNext Member Откуда: Сообщений: 7 |
ОК, спасибо. Основной вопрос, видимо, решен. Не могли бы вы "на сладкое" подсказать набор минимально необходимых прав? |
20 окт 14, 22:04 [16733561] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
В справке по DBCC командам есть раздел Permissions, например:
Для получения информации из представлений схемы Information_Schema необходимы права VIEW DEFINITION. |
||
20 окт 14, 22:15 [16733599] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9646 |
|
||||
20 окт 14, 22:18 [16733611] Ответить | Цитировать Сообщить модератору |
nau.7thNext Member Откуда: Сообщений: 7 |
invm, "Читайте книги, они рулез". :) Спасибо. |
20 окт 14, 22:25 [16733647] Ответить | Цитировать Сообщить модератору |
nau.7thNext Member Откуда: Сообщений: 7 |
Спасибо. |
||
20 окт 14, 22:27 [16733652] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
А вас правда не смутило?
|
||||
21 окт 14, 00:06 [16733944] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |