5 ответов:
вы не можете обойтись без журналов транзакций в SQL Server, ни при каких обстоятельствах. Двигатель просто не будет работать.
вы можете настроить свою модель восстановления на SIMPLE на своих машинах dev - это предотвратит раздувание журнала транзакций, когда резервные копии журнала tran не будут сделаны.
ALTER DATABASE MyDB SET RECOVERY SIMPLE;
для работы SQL Server требуется журнал транзакций.
сказал, что есть два режима работы для журнала транзакций:
- простой
- полное
на полное режим журнал транзакций продолжает расти, пока вы не создадите резервную копию базы данных. В простой режим: пространство в журнале транзакций "перерабатывается" каждый КПП.
очень немногие люди имеют потребность работать их базы данных в полное модель восстановления. Единственный момент в использовании полной модели - это если вы хотите создать резервную копию базы данных несколько раз в день, а резервное копирование всей базы данных занимает слишком много времени, поэтому вы просто создаете резервную копию журнала транзакций.
журнал транзакций продолжает расти весь день, и вы продолжаете поддерживать только его. В ту ночь вы делаете полную резервную копию, а затем SQL Server усекает журнал транзакций, начинает повторно использовать пространство, выделенное в файл журнала транзакций.
Если вы только когда-нибудь сделать полное резервное копирование базы данных, вы не хотите полный режим восстановления.
существует третий режим восстановления, не упомянутый выше. Режим восстановления в конечном итоге определяет, насколько большими становятся файлы LDF и как они записываются. В тех случаях, когда вы собираетесь делать какие-либо массовые вставки, вы должны установить БД в "BULK/LOGGED". Это делает Навальные вставки двинуть быстро вперед и может быть изменено на лету.
для этого
USE master ; ALTER DATABASE model SET RECOVERY BULK_LOGGED ;изменить его обратно:
USE master ; ALTER DATABASE model SET RECOVERY FULL ;в духе добавления к разговор о том, почему кто-то не хочет LDF, я добавляю это: мы делаем многомерное моделирование. По сути, мы используем БД как большое хранилище переменных, которые обрабатываются навалом с помощью внешних программ. Мы никогда не требуем откатов. Если бы мы могли повысить производительность, включив все журналы, мы бы приняли это в сердцебиении.
в чем ваша проблема с журналами Tx? Они растут? Затем просто установите параметр усечь на контрольной точке.
из документации Microsoft:
в SQL Server 2000 или в SQL Server 2005," простая " модель восстановления эквивалентно "усечь вход в систему КПП" в более ранних версиях SQL Сервер. Если журнал транзакций усекается каждый раз, когда контрольная точка выполняется на сервере, это предотвращает с помощью журнала для базы данных восстановление. Вы можете используйте только полный резервные копии базы данных для восстановления данных. Резервные копии журнала транзакций отключается при" простом " восстановлении используется модель.
Если это только для машин dev, чтобы сэкономить место, то просто перейдите в простой режим восстановления, и вы будете делать все в порядке.
на производственных машинах, хотя я настоятельно рекомендую вам сохранить базы данных в режиме полного восстановления. Это гарантирует, что вы можете сделать момент восстановления времени, если это необходимо.
кроме того-наличие баз данных в режиме полного восстановления может помочь вам отменить случайные обновления и удаления, читая журнал транзакций. Ниже или более подробно.
как я могу откатить запрос на обновление в SQL server 2005?
читать лог-файл (*.LDF) в sql server 2008
Если пространство является проблемой на производственных машинах, то просто создайте частые резервные копии журнала транзакций.
Comments