powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Auto shrink
21 сообщений из 21, страница 1 из 1
Auto shrink
    #32011148
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему опция эта выставлена, а размер лога за долгое время так и не уменьшился?
...
Рейтинг: 0 / 0
Auto shrink
    #32011153
Screem6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почитай BOL повнимательней. Auto Shrink не уменьшает размер лога, она удаляет неиспользуемые страницы из БД. Если ты хочешь, чтобы автоматически удалялись выполненные транзакции установи галочку в поле Truncate log on chelpoint. Правда у тебя потом могут быть проблемы с восстановлением базы. Эту опцию советуют выставлять только для тестовых или отладочных баз
...
Рейтинг: 0 / 0
Auto shrink
    #32011156
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну как бы вот из BOL цитата
The server checks the space usage in each database periodically. If a database is found with a lot of empty space and it has the autoshrink option set to true, SQL Server reduces the size of the files in the database.
Я что-то неправильно перевел? Или это только к mdf относится?
...
Рейтинг: 0 / 0
Auto shrink
    #32011158
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевили-то вы все правильно, но не все так просто, т.к. transaction log file не просто сплошной файл, а имеет свою структуру и делиться на active/inactive virtual logs. Поэтому может сложиться ситуация, когда сжатие лога не приводит к физическому уменьшению файла.

Почитайте главу из BOL - Shrinking the Transaction Log - (для SQL2000). Там все показано наглядно в картинках.
...
Рейтинг: 0 / 0
Auto shrink
    #32011163
Screem6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Повторяю еще раз Что такое Auto Shrink! - если установлено значение True, то БД и журнал будут УПЛОТНЯТЬСЯ!, но чтобы журнал уплотнялся, надо установить параметр Truncate log on checkpoint тоже в True - иначе завершенные транзакции не удаляются и он просто физически не может уплотниться... А лучше не уменшать журнал таким образом, а делать его бэкап, при этом он тоже уменьшается. Тем более, что при уплотнии БД она блокируется. Надеюсь все понятно...
...
Рейтинг: 0 / 0
Auto shrink
    #32011164
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Screem6
К сведению - в SQL2000 у баз больше нет такой опции Truncate log on checkpoint , т.к. "SQL Server 2000 always generates automatic checkpoints"
...
Рейтинг: 0 / 0
Auto shrink
    #32011167
Screem6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И что? у тебя 2000? К сведению, 7.0 тоже автоматически генерирует контрольные точки, в зависимости от нагрузки на базу - в среднем раз в минуту. Не думаю что в 2000, даже уверене что нет, журнал логов также урезается автоматически
...
Рейтинг: 0 / 0
Auto shrink
    #32011168
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В SQL2000 режим "Truncate log on checkpoint" называется "Simple Recovery Model" в опциях БД.
...
Рейтинг: 0 / 0
Auto shrink
    #32011169
Alex Vader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на MS SQL 2000 в Property есть возможность выбрать Model Recovery, и если стоит Full - лог не будет усекаться (разве что руками). Либо выбери другую модель (и он будет усекаться на каждой Check Point) либо делай это сам, например:

CREATE PROCEDURE MY_DBSHARINK
( @name VARCHAR(200))
AS
CHECKPOINT;
print @name
BACKUP LOG @name WITH TRUNCATE_ONLY;
DBCC SHRINKDATABASE(@name);

GO
...
Рейтинг: 0 / 0
Auto shrink
    #32011170
Screem6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень рад Вот включи его, может тогда журнал логов и будет уменьшаться, но только тогда когда он будет заполнен не менее чем на 70% (в 7.0), а лучше просто делать бэкап!
...
Рейтинг: 0 / 0
Auto shrink
    #32011186
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два понятия: усечение журнала и его очистка. В первом случае, как раз, когда установлена опция автоусечения, происходит уменьшение журнала до первого активного виртуального журнала внутри trunsaction log. Во втором, просто из журнала выносятся в бэкап или уничтожаются все исполненные транзакции. Увы, автоусечение не будет работать, если в журнале остались не завершённые транзакции в начале файла или если там есть транзакции, которые невозможно удалить. Более подробную информацию о таких казусах и методах борьбы с ними можно получить в нижеследующеих статьях с этого сайта:
http://www.sql.ru/articles/mssql/01072301CausesOfSQLTransactionLogFillingUp.shtml
http://www.sql.ru/articles/mssql/01072302TransactionLogStillFull.shtml
http://www.sql.ru/articles/mssql/01070903TruncatingTransactionLog.shtml
http://www.sql.ru/articles/mssql/01070901QuicklyShrinkingTransactionLog.shtml
http://www.sql.ru/articles/mssql/01062802ShrinkingTransactionLogSQLServer2K.shtml
...
Рейтинг: 0 / 0
Auto shrink
    #32011235
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я слегка неправильно спросил. Видители сам лог, т.е. транзакции в нем усекаются, а вот файл лога не меняет размер. Для этого коненчо можно применить dbcc shinkdatabase, но тогда зачем auto shrik существует? В этом собственно вся соль вопроса.

Screem6 Auto shrink для уменьшения размера файлов БД полсе бекапа самой БД и лога. Ну вот насчет самой БД я уверен, а вот про лог мог соврать, т.к. реального уменьшения не происходит.

Я Александр ссылочки почитаю безусловно. Надеюсь найду ответ.
...
Рейтинг: 0 / 0
Auto shrink
    #32011238
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот и почитал. Советуют dbcc shrink... . Это конечно можно. К примеру вторым шагом в job, но ЛЮДИ ЗАЧЕМ ТОГДА AUTO SHRINK???
...
Рейтинг: 0 / 0
Auto shrink
    #32011249
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AUTO SHRINK - это стандартная возможность движка. Просто для журналов она мало применима. Эффект может быть заметен только при массовых операциях. В нашем случае главное, что он умеет автоматически расширяться.
...
Рейтинг: 0 / 0
Auto shrink
    #32011259
Screem6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В конце концов, он же не может уменьшаться до бесконечности Действительно - главное что не растет....
...
Рейтинг: 0 / 0
Auto shrink
    #32011274
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, главное, что если понадобится, он увеличится, лишь бы места на диске хватило. А если Вам жалко столько места для него держать постоянно, в статьях описаны методы, которые позволяют его укоротить.
...
Рейтинг: 0 / 0
Auto shrink
    #32011302
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
...
Рейтинг: 0 / 0
Auto shrink
    #32012301
sardana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется вопрос не исчерпан. AUTOSHRINK - опция относящаяся к базе данных, у которой в свою очередь есть понятие SIZE размер, MAXSIZE макс размер, FILEGROWTH - прирост задается в % или Мб. AUTOSHRINK - автоматическое сжатие данных, меньше SIZЕ не сжимает. Если у вас не указано FILEGROWTH и MAXSIZE для логов, то оно и сжиматься не будет.
...
Рейтинг: 0 / 0
Auto shrink
    #32012376
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим выставлю я FILEGROWTH, MAXSIZE и у меня физический размер файла лога после его бекапа сразу начнет уменьшаться как после dbcc shrinkdatabase?
...
Рейтинг: 0 / 0
Auto shrink
    #32012410
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не слишком надейтесь на автоматическое уменьшение. Для данных - может помешать их фрагментация, а для журналов, активные виртуальные журналы, которые тоже размещаются хаотично. Что бы это хоть немного работало, задайте очень маленькое приращение (которое само по себе становится бессмысленным).
...
Рейтинг: 0 / 0
Auto shrink
    #32012467
sardana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Физический размер файла уменьшится до SIZE по возможности.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Auto shrink
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]