SQL SSMS на розробці - очищати файли у форматі ldf


0

Працюючи над створенням великої бази даних SQL Server, я помітив, що на моєму диску C не вистачає місця під час запуску важких запитів SQL.

Наступний розмір папки - понад 150 ГБ, файли log.ldf - понад 50 ГБ.

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

БД все ще знаходиться в стадії розробки, і мені не потрібні такі журнали транзакцій або подібні речі.

Як я можу безпечно очистити ці файли журналу?


Швидкий та брудний спосіб - це клацнути правою кнопкою миші базу даних у SSMS, Завданнях> Зменшити> Файли. Виберіть "Тип файлу" журналу та переконайтеся, що встановлено перемикач "Випустити невикористаний пробіл". Клацніть ОК і стежте за тим, як журнал зменшиться.
spikey_richie

дуже дякую! але мені цікаво, чому це "брудно"?
r.tom

Оскільки він передбачає, що файл журналу фактично порожній. Він також не стосується файлу журналу, який містить дані на будь-якому кінці файлу на диску, і в цьому випадку ви хочете використовувати
Reorganize

Тут ви можете порекомендувати і попросити купу речей. По-перше, це одна база даних чи багато? По-друге, вони перебувають у режимі повного відновлення чи просто? Ви, мабуть, щасливіші з простими на даний момент. Далі, я наполегливо закликаю вас перенести принаймні ваші користувацькі бази даних з диска C і перейти на одноцільовий розділ, який містить лише бази даних користувачів. Нарешті, я настійно рекомендую зайти на brentozar.com та завантажити його інструмент аналізу Blitz-сервера та опрацювати рекомендації, які він вам надасть. Ви, ймовірно, можете отримати трохи від порівняно простих налаштувань, про які він повідомить.
Роб Пірсон

Відповіді:


2

Ви можете урізати файл журналу, видавши наступний блок коду з SSMS:

-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE AdventureWorks2012  
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE (AdventureWorks2012_Log, 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE AdventureWorks2012  
SET RECOVERY FULL;  
GO  

Ви можете переглянути повну документацію на цій сторінці MS DOCS

Більше інформації щодо цієї теми є, але я намагаюся вирішити ваше питання з деталями, які ви надаєте. Сподіваюся, це допомагає!


Що сказав Умберто. Крім того, якщо ви використовуєте базу даних для розробки та "не потрібен ваш журнал транзакцій", залиште його на простому відновленні. Ця стаття про просте та повне відновлення може допомогти.
Кетрін Вільярд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.