Поделиться через


Добавление и удаление файлов данных и журналов транзакций

Файлы данных и журналов транзакций можно добавлять для расширения базы данных или удалять для уменьшения ее размера.

Важное примечаниеВажно!

Файлы данных и журналов транзакций SQL Server нельзя хранить в файловых системах со сжатием данных. Однако вторичные файловые группы и базы данных, предназначенные только для чтения, могут размещаться на файловых системах, использующих сжатие файлов NTFS. Дополнительные сведения см. в разделе Сжатие и файловые группы только для чтения.

SQL Server в каждой файловой группе использует пропорциональную стратегию заполнения файлов, сохраняя данные пропорционально объему свободного пространства в файле. Это позволяет начать использование новых файлов сразу же после их добавления. При таком подходе файлы обычно заполняются приблизительно за одинаковое время. Однако файлы журнала транзакций не могут входить в файловую группу, они существуют отдельно. В процессе работы заполняется первый файл журнала транзакций, затем второй и т.д., при этом используется стратегия полного заполнения. Следовательно, при добавлении нового файла журнала он не может быть использован до тех пор, пока не будут заполнены другие файлы.

Добавление файлов

При добавлении новый файл сразу же становится доступным для использования базой данных. При добавлении можно указать размер файла. Если для первичного файла не задан размер, компонент Database Engine использует размер первичного файла, указанный в базе данных model. Когда указан вторичный файл данных или журнала, но для этого файла не указан размер, компонент Database Engine задает размер файла равным 1 МБ. Размер, указанный для первичного файла, должен быть не меньше размера первичного файла базы данных model. Дополнительные сведения см. в разделе База данных model.

Можно установить максимальный размер, до которого может увеличиваться файл, если пространство в этом файле будет исчерпано. При необходимости можно также установить приращение, с которым должен увеличиваться файл. Если максимальный размер не задан, файл будет увеличиваться до полного заполнения диска. Если не задано приращение файла, в качестве значения приращения по умолчанию принимается 1 МБ для файлов данных и 10 процентов для файлов журнала. Минимальное значение равно 64 КБ.

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

Удаление файлов

При удалении файла данных или журнала транзакций он удаляется из базы данных. Нельзя удалить из базы данных файл, если он содержит данные или журналы транзакций. Прежде чем файл может быть удален, он должен быть совершенно пуст. Для переноса данных из одного файла данных в другие файлы той же файловой группы используется инструкция DBCC SHRINKFILE с указанием предложения EMPTYFILE. Так как компонент Database Engine не поддерживает размещение данных в файле после операции сжатия, пустой файл можно удалить с помощью инструкции ALTER DATABASE или среды SQL Server Management Studio.

Данные журнала транзакций не могут переноситься из одного файла журнала в другой с целью очистки файла журнала транзакций. Для удаления неактивных транзакций из файла журнала транзакций он должен быть усечен или произведено его резервное копирование. Файл журналов транзакций может быть удален из базы данных, если он не содержит активных или неактивных транзакций. Дополнительные сведения см. в разделе Управление журналом транзакций.

Важное примечаниеВажно!

После добавления или удаления файлов немедленно выполните резервное копирование базы данных. Резервное копирование журналов транзакций не должно производиться до тех пор, пока не будет создана полная резервная копия базы данных.

Добавление или удаление файлов данных или журнала в базе данных