РЕГЛАМЕНТНЫЕ ОПЕРАЦИИ НА УРОВНЕ СУБД ДЛЯ MS SQL SERVER 2012

1. Matveev_VS 166 22.06.17 12:43 Сейчас в теме
Добрый день!
Ребята, поделитесь пож-та SQL запросами для оптимизации работы 1С.
Обновление статистик, дефрагментация индексов, реиндексация индексов и т.д.
Писать SQL запросы вообще не умею.
Буду очень благодарен!!!
По теме из базы знаний
Найденные решения
30. ADirks 187 19.12.17 11:38 Сейчас в теме
(0) Например http://infostart.ru/public/256292/
и другие статьи этого автора

более специфический набор, с протоколированием: https://blogs.msdn.microsoft.com/blogdoezequiel/2011/07/03/adaptive-index-defrag/

такое ещё можно взять: https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit
если с сервером что-то не так, оно скажет
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TODD22 19 22.06.17 12:46 Сейчас в теме
(1)мэнджемент студии нет? Экспресс версия?
4. Matveev_VS 166 22.06.17 12:52 Сейчас в теме
(2) Менеджмент студия есть
32. fuser 3 20.09.18 05:48 Сейчас в теме
(1) на ИТС есть статья (в картинках) Регламентные операции на уровне СУБД для MS SQL Server
3. r.moschenskiy 23 22.06.17 12:47 Сейчас в теме
Обновление статистик, дефрагментация индексов, реиндексация индексов - это всё настраивается в планах обслуживания, запросов писать не нужно.
5. Matveev_VS 166 22.06.17 12:55 Сейчас в теме
(3) А еще нужны регламентные операции для оптимизации работы 1С?
6. r.moschenskiy 23 22.06.17 13:39 Сейчас в теме
(5)Этих операций вполне достаточно. Можно ещё добавить в начале проверку целостности базы данных и в конце сжатие базы данных.
13. Артано 795 23.06.17 06:01 Сейчас в теме
(6) (7)
обавить в начале проверку целостности базы данных и в конце сжатие базы данных.


И с какой целью вы регламентно сжимаете рабочую базу?
Зачем в одном регламентном задании делать и дефрагментацию и полный ребилд индексов? Шоб було?
25. Painted 49 23.06.17 11:39 Сейчас в теме
(13)
Зачем в одном регламентном задании делать и дефрагментацию и полный ребилд индексов?
Точно подметили. )))
Добавлю, что после ребилда индексов не нужно собирать полную статистику, потому что по индексированным полям она уже собрана.
(16)
почитайте мануалы по MS SQL Server, а потом задавайте детские вопросы.
Судя по агрессивному тону, мануалов прочитано довольно немного. )))
7. r.moschenskiy 23 22.06.17 13:40 Сейчас в теме
У меня план обслуживания выглядит так:
Прикрепленные файлы:
Maintenance Plan.pdf
8. Matveev_VS 166 22.06.17 14:05 Сейчас в теме
(7) А как часто он выполняется?
12. igomark 22.06.17 18:25 Сейчас в теме
(7) Спасибо, что поделились планом, сохраню себе! А при выполнении обслуживания пользователи могут оставаться в системе? Или надо ночью его запускать?
14. r.moschenskiy 23 23.06.17 09:00 Сейчас в теме
(12)Пользователи могут оставаться в системе, но лучше обслуживание выполнять ночью или на выходных.
15. Артано 795 23.06.17 10:46 Сейчас в теме
(14) Мало того вы игнорируете вопросы/замечания, так еще и продолжаете давать неправильные советы. Как по вашему будут работать пользователи во время процедуры по ребилду индексов?
16. r.moschenskiy 23 23.06.17 10:51 Сейчас в теме
(15) А вы сами попробуйте или почитайте мануалы по MS SQL Server, а потом задавайте детские вопросы.
17. sssss_aaaaa_2011 23.06.17 10:53 Сейчас в теме
(16) И в каких же это мануалах написано, что сжатие базы данных надо делать на регулярной основе?
18. r.moschenskiy 23 23.06.17 10:55 Сейчас в теме
(17)Речь шла не о сжатии, а возможности работы пользователей во время реиндексации.
19. r.moschenskiy 23 23.06.17 10:57 Сейчас в теме
(17) А по поводу сжатия - если у вас база 500 МБ, то конечно оно не нужно. А я работаю с базами больше 100 ГБ, там это существенно.
20. sssss_aaaaa_2011 23.06.17 11:09 Сейчас в теме
(19) А на базах в тера/петабайты опять становится несущественным?
22. Frogger1971 23.06.17 11:23 Сейчас в теме
(19) странно, а вы не задумывались, что вот вы базу сжали, а завтра она снова такая же?
вариант уменьшения занимаемого пространства - Полная модель восстановления с бекапом как самой базы, так и лога транзакций....
а "резать" базу - так себе подход, только от экономии на рейдах
21. r.moschenskiy 23 23.06.17 11:13 Сейчас в теме
(20)А вы попробуйте, а потом демагогию разводите. Или вы своими бессмысленными сообщениями так себе $m зарабатываете?
23. Frogger1971 23.06.17 11:33 Сейчас в теме
(7) сжатие базы нельзя проводить при работающих пользователях - а в остальном стандартный план обслуживания
кто интересовался этим вопросом идет выполнить "Выполнить T-SQL скрипт", потому что, например "Дефрагментация" скрипт в котором указывается процент выше которого дефрагментировать и выглядит лучше
dbcc proccache
sp_msforeachtable N'DBCC INDEXDEFRAG (База, ''?'')'
exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN'
27. Дмитрий74Чел 239 19.12.17 10:28 Сейчас в теме
(7) копец. Сначала перестроение индекса (т.е. пересоздание), потом дефрагментация (только что созданного), потом сжатие базы (которое портит индексы вообще-то). Шедевр!
28. r.moschenskiy 23 19.12.17 11:22 Сейчас в теме
(27)
сжатие базы
Вообще-то, сжатие файлов данных позволяет освободить неиспользуемое пространство путем перемещения страниц данных с конца файла в незанятое пространство ближе к началу файла, индексы при этом не затрагиваются. Умник...
29. sssss_aaaaa_2011 19.12.17 11:29 Сейчас в теме
(28)И зачем его освобождать, если оно опять потребуется и на выделение этого пространства опять потребуется расширение файла? Да еще и дефрагментация идет коту под хвост? Уж сколько пишут на профильных форумах про идиотизм регулярного шринка, а воз и ныне там...
31. Дмитрий74Чел 239 19.12.17 14:58 Сейчас в теме
(28) я с вами спорить не собираюсь. Вы уже доказали свою некомпетентность. А теперь еще и обзываться начали.
9. r.moschenskiy 23 22.06.17 14:21 Сейчас в теме
Раз в неделю. Если база не очень большая - то этого вполне достаточно.
10. ipoloskov 164 22.06.17 14:25 Сейчас в теме
Реиндексация (не мое. Откуда взял, не помню)
USE ИмяБазы;

DECLARE @SQL NVARCHAR(MAX)

DECLARE cur CURSOR LOCAL READ_ONLY FORWARD_ONLY FOR
    SEL ECT '
    ALT ER   INDEX [' + i.name + N'] ON [' + SCHEMA_NAME(o.[schema_id]) + '].[' + o.name + '] ' +
        CASE WHEN s.avg_fragmentation_in_percent > 30
            THEN 'REBUILD WITH (SORT_IN_TEMPDB = ON'
                -- Enterprise, Developer
                + CASE WHEN SERVERPROPERTY('EditionID') IN (1804890536, -2117995310)
                        THEN ', ON LINE = ON'
                        ELSE ''
                  END + ')'
            ELSE 'REORGANIZE'
        END + ';'
    FR OM (
        SEL ECT  
              s.[object_id]
            , s.index_id
            , avg_fragmentation_in_percent = MAX(s.avg_fragmentation_in_percent)
        FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') s --'' LIMITED
        WH ERE s.page_count > 128 -- > 1 MB
            AND s.index_id > 0 -- <> HEAP
            AND s.avg_fragmentation_in_percent > 5
        GROUP BY s.[object_id], s.index_id
    ) s
    JOIN sys.indexes i WITH(NOLOCK) ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
    JOIN sys.objects o WITH(NOLOCK) ON o.[object_id] = s.[object_id]

OPEN cur

FETCH NEXT FR OM cur INTO @SQL

WHILE @@FETCH_STATUS = 0 BEGIN

    EXEC sys.sp_executesql @SQL
	-- PRINT @SQL

    FETCH NEXT FR OM cur INTO @SQL
    
END 

CLOSE cur 
DEALLOCATE cur 
Показать
11. Matveev_VS 166 22.06.17 17:40 Сейчас в теме
24. Frogger1971 23.06.17 11:35 Сейчас в теме
вот простой план обслуживания
Прикрепленные файлы:
26. r.moschenskiy 23 23.06.17 14:12 Сейчас в теме
С тем, что дефрагментацию перед реиндексацией можно не делать, соглашусь. А остальное зависит от параметров и размера базы.
30. ADirks 187 19.12.17 11:38 Сейчас в теме
(0) Например http://infostart.ru/public/256292/
и другие статьи этого автора

более специфический набор, с протоколированием: https://blogs.msdn.microsoft.com/blogdoezequiel/2011/07/03/adaptive-index-defrag/

такое ещё можно взять: https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit
если с сервером что-то не так, оно скажет
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот