none
Вопросы по SQL. RRS feed

  • Вопрос

  • Здравствуйте. Изучаю SQL. Возникли не понимания.

    * Регламентные задачи.

    Советуют делать:

    1. Проверка целостности базы.

    2. Оптимизация индексов.

    3. Обновление статистики.

    Это всё ? Так же, что есть в регламентированных заданиях, восстановление индекса, для чего он и как работает. Восстановление повреждений ? Просто так нам это не нужно, верно?

    О бэкапе не говорю, у меня этим занимается продукт Акрониса.

    - Оптимизацию индексов советуют делать раз в неделю, этого достаточно и чтоб хватило времени на выходных, если БД большая.

    - Я ошибаюсь или статистика обновляется сама после оптимизации индексов ?

    Корректно все делать раз в неделю ?

    Если мы делаем раз в неделю, как корректно сделать задачу ? Я ведь могу 3 задачи сделать, в разный промежуток времени и в одной задаче, объединив стрелками, указав таким образом, после первой задачи, выполнять следующую.

    То есть тремя задачами, в разный промежуток времени:

    Или технически правильней, друг за другом в одной, чтоб не было ни какой погрешности во времени, так как мы не знаем, что и сколько будет выполняться.

    *Файл лога.

    Если у нас всё в порядке с бэкапом, он по сути нам не нужен, дабы лог не разрастался и не занимал много места, мы переключаемся на модель восстановления на "простой" из "полный" и сжимаем лог. И он у нас будет разрастаться с шагом по авто увеличению и потом будет всегда обратно сжиматься до начального размера?

    - Для теста перевел БД в оффлайн. Удалил лог. Включил БД, в 1С провел новый документ, лога по прежнему нет. Как работает эта схема ? Ведь БД записывает новые данные сначала в оперативную память, потом с неё в лог, а лог уже обновляет БД.




    11 апреля 2019 г. 22:49

Ответы

  • - Я ошибаюсь или статистика обновляется сама после оптимизации индексов ? - статистика обновляется по некоторым признакам, а может вообще не обновляться, если не включено автообновление или нет комманд в коде. В 1с, если не ошибаюсь, как раз так - статистика обновляется в ручном режиме.

    https://docs.microsoft.com/ru-ru/sql/relational-databases/statistics/statistics?view=sql-server-2017

    Корректно все делать раз в неделю ? - все индивидуально и зависит от постоянства данных в таблицах.

    Статистика может и сама обновляться, особенно на часто изменяющихся таблицах и если стоит автообновление статистики.

    Если у нас всё в порядке с бэкапом, он по сути нам не нужен, дабы лог не разрастался и не занимал много места, мы переключаемся на модель восстановления на "простой" из "полный" и сжимаем лог. И он у нас будет разрастаться с шагом по авто увеличению и потом будет всегда обратно сжиматься до начального размера?

    тогда зачем вам вообще Full модель восстановления бд? опеределитесь с этим, чтобы не далть то, что  уже сейчас у вас не работает ,  только создаете лишнию нагрузку на бд

    Для теста перевел БД в оффлайн. Удалил лог. Включил БД, в 1С провел новый документ, лога по прежнему нет. Как работает эта схема ? Ведь БД записывает новые данные сначала в оперативную память, потом с неё в лог, а лог уже обновляет БД.- описание журнала транзакций есть здесь https://docs.microsoft.com/ru-ru/sql/relational-databases/logs/the-transaction-log-sql-server?view=sql-server-2017

    15 апреля 2019 г. 15:48