Nano Hash - криптовалюты, майнинг, программирование

Как уменьшить журнал транзакций в базах данных MS SQL 2000?

У меня есть несколько баз данных, в которых журнал транзакций (.LDF) во много раз больше, чем файл базы данных (.MDF).

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

02.10.2008

Ответы:


1

Это должно сделать работу

use master
go
dump transaction <YourDBName> with no_log
go
use <YourDBName>
go
DBCC SHRINKFILE (<YourDBNameLogFileName>, 100) -- where 100 is the size you may want to shrink it to in MB, change it to your needs
go
-- then you can call to check that all went fine
dbcc checkdb(<YourDBName>)

Предупреждение

Вы бы действительно использовали его только в базе данных тестирования / разработки, где вам не нужна надлежащая стратегия резервного копирования, поскольку сброс журнала приведет к потере истории транзакций. В работающих системах вы должны использовать решение, предложенное Кад Ру

02.10.2008

2

Сделайте резервную копию журнала транзакций и уменьшите его.

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

02.10.2008

3

Щелкните правой кнопкой мыши базу данных в Enterprise Manager > All Tasks > Shrink Database.

02.10.2008
  • ПРИМЕЧАНИЕ. Этот метод, который является самым простым, может работать в большинстве случаев, если ничего не происходит, следуйте принятому методу. 19.12.2013

  • 4

    СЖАТЫЙ ФАЙЛ DBCC.

    Здесь для 2005 г. Здесь для 2000.

    02.10.2008
  • Обе ссылки указывают на версию 2005 года. Это для 2000 года: support.microsoft.com/kb/272318 19.12.2013

  • 5

    Здесь никто этого не говорил, поэтому я скажу: НИКОГДА не уменьшайте журнал транзакций. Это плохая идея с точки зрения SQL Server.

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

    03.10.2008

    6

    Еще одна вещь, которую вы можете попробовать, — установить простой режим восстановления (если он еще не установлен) для базы данных, что предотвратит столь быстрый рост файлов журнала. Недавно у нас была эта проблема, когда наш журнал транзакций заполнился, и нам больше не разрешались транзакции.

    Сочетание сжатого файла с несколькими ответами и простого режима восстановления обеспечило разумный размер нашего файла журнала.

    02.10.2008

    7

    Использование анализатора запросов:

    USE yourdabatase
    SELECT * FROM sysfiles
    

    Вы должны найти что-то похожее на:

    FileID    …  
    1             1             24264    -1            1280      1048578               0             yourdabatase_Data    D:\MSSQL_Services\Data\yourdabatase_Data.MDF
    2             0             128         -1            1280      66           0                             yourdabatase_Log      D:\MSSQL_Services\Data\yourdabatase_Log.LDF
    

    Проверьте идентификатор файла журнала (в большинстве случаев это 2). Выполните 2 или 3 раза команду контрольной точки, чтобы записать каждую страницу на жесткий диск.

    Checkpoint
    GO
    Checkpoint
    GO
    

    Выполните следующую транзакционную команду, чтобы увеличить размер файла журнала до 1 МБ.

    DUMP TRAN yourdabatase WITH no_log 
    DBCC SHRINKFILE(2,1)  /*(FileID , the new size = 1 Mb)*/
    
    02.10.2008

    8

    Вот что я использовал

    BACKUP LOG <CatalogName> with TRUNCATE_ONLY
    DBCC SHRINKDATABASE (<CatalogName>, 1)
    use <CatalogName>
    go
    DBCC SHRINKFILE(<CatalogName_logName>,1)
    
    02.10.2008

    9

    попробуйте sp_force_shrink_log, который вы можете найти здесь http://www.rectanglered.com/sqlserver.php

    02.10.2008
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..