Чим відрізняється база даних від скорочення та файл?


Відповіді:


36

Просто ...

  • DBCC ShrinkDatabase(): зменшити всі файли
  • DBCC ShrinkFile(): лише один файл

Наприклад, у вас може виникнути проблема резервного копіювання журналу, і він вийшов з-під контролю, щоб ви запустили DBCC ShrinkFile().

Ви майже ніколи не використовуєте ShrinkDatabase.

Перш ніж розглянути можливість використання будь-якої команди, будь ласка, прочитайте блог Пола Рандала про скорочення .

Я б не скоротив жодного з файлів (mdf, ldf), якщо б не було чіткої причини. Файли мають такий розмір, оскільки вони повинні бути. Будь-які блоги, які пропонують зробити це як частина регулярного обслуговування, напевно, не розуміють, як працює SQL Server.


2
Спасибі людина. ти правий. Я щойно читав блог Брента Озара. Він буквально лається у своєму блозі "Перестань скорочувати файли Вашої бази даних. Серйозно. Зараз".

І коли він робить те саме, чому існують різні аргументи?
Стефан Штайнгер

2

База даних за замовчуванням має два файли

MyDb.MDF та MyDb.LDF

Файл MDF - це файл даних, де знаходиться первинний розділ. Залежно від ваших потреб, ви можете розділити базу даних на кілька файлів. Це робиться для того, щоб дані (одна чи кілька таблиць) могли охоплювати декілька файлів, які зазвичай ставлять на окремих жорстких дисках для досягнення більшої продуктивності.

Якщо ви зменшите базу даних, усі файли, пов’язані з цією базою даних, будуть скорочені.

Якщо ви зменшите файл, тоді буде вибрано лише вибраний файл.

Вам потрібно лише скористатися командою Зменшити базу даних. Але зазвичай це не є хорошою практикою, і це також не рекомендується.

Якщо ви скажете нам, у чому полягає проблема, з якою ви стикаєтесь, ми можемо дати вам більше інформації щодо її вирішення.


О, у нас на виробничому сервері не вистачає місця на диску. Додавання більше диска ідеально, але мені було цікаво, що ще ми можемо зробити?

0

Швидше за все, ми використовуємо лише dbcc shrinkfile. sp_helpdb 'ім'я бази даних' надає список файлів даних і журналів у базі даних.

клацніть правою кнопкою миші на студії управління, задач-> зменшити-> файл дає скільки відсотків ви можете зменшити.

те, що ми колись стискаємо, - це вільне місце на диску, як вільний простір.

наприклад: використовувати 'ім'я бази даних' dbcc shrinkfile (fileid, 100)

тут 100 - 100 Мб

fileid може отримати від sp_helpdb 'ім'я бази даних'

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