Что такое команда для усечения файла журнала SQL Server?


Мне нужно очистить файл LDF перед отправкой коллеге. Как заставить SQL Server усечь журнал?

6 170

6 ответов:

если я правильно помню... в анализаторе запросов или эквиваленте:

BACKUP LOG  databasename  WITH TRUNCATE_ONLY

DBCC SHRINKFILE (  databasename_Log, 1)

в:

  • не делайте этого в живой среде, но чтобы убедиться, что вы сжимаете свой dev db столько, сколько сможете:
    • щелкните правой кнопкой мыши базу данных, выберите Properties, потом Options.
    • убедитесь, что " модель восстановления "имеет значение" простой", а не"полный"
    • Нажмите кнопку ОК
  • щелкните правой кнопкой мыши базу данных еще раз, выберите Tasks ->Shrink ->Files
  • изменить тип файла "Журнал"
  • Нажмите кнопку ОК.

альтернативно, SQL, чтобы сделать это:

 ALTER DATABASE mydatabase SET RECOVERY SIMPLE
 DBCC SHRINKFILE (mydatabase_Log, 1)

Ref:http://msdn.microsoft.com/en-us/library/ms189493.aspx

для SQL Server 2008, команда:

ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)

это уменьшило мой файл журнала 14GB до 1MB.

для SQL 2008 Вы можете создать резервную копию журнала в nul устройство:

BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10

и затем использовать DBCC SHRINKFILE для усечения файла журнала.

резервное копирование logname журнала с truncate_only с последующей командой dbcc shrinkfile

еще один вариант-отсоединить базу данных через Management Studio. Затем просто удалите файл журнала или переименуйте его и удалите позже.

назад в Management Studio снова присоедините базу данных. В окне прикрепить удалите файл журнала из списка файлов.

БД подключается и создает новый пустой файл журнала. После проверки все в порядке, вы можете удалить переименованный файл журнала.

вы, вероятно, не должны использовать это для производства база данных.