Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

4.9.2. Уменьшение размера базы данных

Уменьшение размера файлов баз данных SQL Server 2005, DBCC SHRINKDATABASE, DBCC SHRINKFILE, DBCC SHOWFILESTATS, BCC SQLPERF(LOGSPACE)

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

Уменьшение размера файлов данных также можно произвести двумя способами:

1.     На графическом экране SQL Server Management Studio в контекстном меню базы данных выбрать команду Tasks | Shrink (Задачи | Сжать), а затем в открывшемся окне выбрать, что вы хотите уменьшить: все файлы данных в базе данных или только выбранный файл.

2.     Из скрипта Transact-SQL это можно сделать при помощи команд DBCC SHRINKDATABASE (для всех файлов базы данных) или DBCC SHRINKFILE (для отдельного файла).

При уменьшении размера файлов баз данных нужно учитывать следующие моменты:

q      при уменьшении размера всей базы данных вы не сможете уменьшить ее менее исходного размера, который был определен при создании. Но добиться такого результата можно, если сжимать файлы базы данных по отдельности;

q      само уменьшение может производиться в четырех режимах:

·                по умолчанию — все используемые страницы переносятся в начало файла, и пустое пространство освобождается для использования операционной системой;

·                режим NOTRUNCATE — все используемые страницы переносятся в начало файла, но пустое пространство не возвращается операционной системе;

·                режим TRUNCATEONLY — страницы внутри файла не переносятся, файл уменьшается только за счет пустого пространства в конце;

·                режим EMPTYFILE — файл не уменьшается, но SQL Server 2005 пытается перенести все используемые страницы в нем в другие файлы той же файловой группы. Если это удается, то пустой файл можно будет удалить при помощи команды ALTER DATABASE;

q      перед уменьшением может быть полезно получить информацию о том, сколько места можно высвободить в файле данных. Удобнее всего просмотреть эти данные в окне Shrink File (Сжать файл) в SQL Server Management Studio (рис. 4.2), которое открывается при помощи контекстного меню Tasks | Shrink | Files базы данных. Средствами Transact-SQL эту информацию можно получить при помощи команды DBCC SHOWFILESTATS (для файлов журналов транзакций — DBCC SQLPERF(LOGSPACE)).

Рис. 4.2. Диалоговое окно Shrink File

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

И напомним, что в подавляющем большинстве случаев настройка автоматического уменьшения базы данных при помощи параметра AUTO_SHRINK — это очень вредная вещь.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru