Использование инструкции DBCC SHRINKFILE сжать файл журнала транзакций в SQL Server 2005

Переводы статьи Переводы статьи
Код статьи: 907511 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

ВВЕДЕНИЕ

В Microsoft SQL Server 2005 можно сжать файл журнала транзакций в базе данных для удаления неиспользуемых страниц. Компонент database engine повторно пространство эффективно. Тем не менее когда файл журнала транзакций неожиданно возрастает, возможно Уменьшение размера файла журнала транзакций вручную.

В данной статье описывается использование Инструкция DBCC SHRINKFILE сжать файл журнала транзакций вручную в поле полная модель восстановления базы данных SQL Server 2005. В метод, который можно использовать для уменьшения размера файла журнала транзакций в SQL Server 2005, может отличаться от метода, который можно использовать для уменьшения размера файла журнала транзакций в SQL Server 2000. Для получения дополнительных сведений о том, как уменьшить размер файла журнала транзакций в SQL Server 2000 щелкните следующий номер статьи базы знаний Майкрософт:
272318Сжатие журнала транзакций в SQL Server 2000 с помощью инструкции DBCC SHRINKFILE

Дополнительная информация

В SQL Server 2005 пытается операция сжатия (DBCC SHRINKFILE) немедленно сжать файл журнала указанной транзакции до требуемого размера. Уменьшение размера файла журнала транзакций вручную при использовании модели полного восстановления, резервной копии файла журнала транзакций. Затем с помощью Инструкция DBCC SHRINKFILE сжать файл журнала транзакций.

Как правило сжатие файла журнала транзакций в SQL Server 2005 выполняется быстрее, чем сжатие файла журнала транзакций в SQL Server 2000. Причина в том, что SQL Диспетчер журналов сервера 2005 создает или использует неактивные виртуальные файлы журнала следующий порядок хранения физического диска. Таким образом неактивная часть транзакции файл журнала обычно находится в конце файла.

Например файл журнала транзакций может иметь 100 виртуальных файлов журнала и используются только 2 виртуальных файлов журнала. SQL Server 2000 может хранить первый используется виртуальный файл журнала в Запуск файла журнала транзакций и второй используется виртуальный файл журнала в середине файла журнала транзакций. Чтобы сжать файл журнала транзакций до только 2 виртуальных файлов журнала, SQL Server заполняет остающейся части второй виртуальный файл журнала с помощью фиктивного журнала операции. SQL Server перемещает начало логического журнала Далее доступных виртуального файла журнала, указанный в параметре Диспетчер журналов. Диспетчер журналов может создать виртуальный файл журнала в середине файла журнала транзакций только впереди последний активный виртуальный файл журнала. В этом случае необходимо использовать несколько операций резервного копирования журнала и несколько операций сжатия успешно уменьшение размера файла журнала транзакций на 2 виртуальные файлы журнала. В худшем случае в этом примере может потребоваться использовать 50 операций резервного копирования журнала и 50 сжатия операции успешно сжать файл журнала транзакций до 2 виртуальных файлов журнала.

Однако в SQL Server 2005 можно выполнять одна инструкция DBCC SHRINKFILE для уменьшения размера файла журнала транзакций сразу 2 виртуальные файлы журнала. Это можно сделать, так как Диспетчер журналов SQL Server 2005 создает 2 виртуальных файлов журнала, следуя порядок хранения физического диска. Оба этих виртуальных файлов журнала, в начале журнала транзакций файл.

При сжатии файла журнала транзакций, имеющей мало свободное пространство в SQL Server 2005, может потребоваться выполнение дополнительных резервных операция. Резервной копии журнала Операция усекает для уменьшения размера файла журнала транзакций. Эта операция резервного копирования журнала, в дополнение к три действия, которые выполняют операции сжатия файла журнала в SQL Server 2000. Дополнительные сведения содержатся в статье базы знаний Майкрософт, описанное в разделе «Введение». Уменьшение размера файла журнала транзакций, имеющей мало Освободите место в SQL Server 2005, выполните следующие действия:
  1. Создание резервной копии файла журнала транзакций, большинство активных виртуальных файлов журнала неактивные. Таким образом неактивные виртуальные файлы журнала могут быть удалены в более позднем этапе. Для этого запустите инструкцию Transact-SQL, аналогичная следующей инструкции Transact-SQL.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Примечание В данном заявлении, <databasename></databasename> — Это имя базы данных, при выполнении резервного копирования. В данном заявлении, <backupfile></backupfile> — Это полный путь файла резервной копии.

    Например выполните следующую инструкцию Transact-SQL.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Уменьшение размера файл журнала транзакций. Для этого запустите инструкцию Transact-SQL, аналогичная следующей инструкции Transact-SQL.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Примечание В данном заявлении, <filename></filename> — Это имя файла журнала транзакций. В данном заявлении, <targetsize></targetsize> — Это размер целевого файла журнала транзакций, чтобы быть. Конечный размер должен быть разумным. Например не удается сжать файл журнала транзакций, размер которой будет меньше, чем 2 виртуальных файлов журнала.
  3. Если инструкция DBCC SHRINKFILE не удалось сжать файл журнала транзакций целевой размер, выполните инструкцию BACKUP LOG, описанное на шаге 1, чтобы сделать более от неактивных виртуальных файлов.
  4. Выполнение инструкции DBCC SHRINKFILE, упомянутого в шаге 2. После этой операции должен быть файл журнала транзакций Подобно целевого размера.
В целом, алгоритм Диспетчер журналов обновить поднять виртуальный файл журнала непосредственно в SQL Server 2005. Таким образом сжатие файла журнала транзакций в SQL Server 2005 может отличаться от сжатие файла журнала транзакций в SQL Server 2000:
  • Если файл журнала имеет большой объем свободного места, сжатие файла журнала транзакций в SQL Server 2005 работает быстрее, чем сжатие файла журнала транзакций в SQL Server 2000.
  • Если файл журнала отсутствует свободное место, сжатие файла журнала транзакций в SQL Server 2005 является таким же, как сжатие файла журнала транзакций в SQL Server 2000.
  • Если файл журнала имеет мало свободного места, необходимо выполнить резервной копии журнала операции в SQL Server 2005, чем вы обязаны осуществлять в SQL Server 2000.

Ссылки

Дополнительные сведения содержатся в следующих разделах в электронной документации по SQL Server 2005:
  • Сжатие журнала транзакций
  • Инструкция DBCC SHRINKFILE (Transact-SQL)
  • Усечение журнала транзакций

Свойства

Код статьи: 907511 - Последний отзыв: 16 июля 2013 г. - Revision: 5.2
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Ключевые слова: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 907511

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com