Это интересно

  • ОКД
  • ЗКС
  • ИПО
  • КНПВ
  • Мондиоринг
  • Большой ринг
  • Французский ринг
  • Аджилити
  • Фризби

Опрос

Какой уровень дрессировки необходим Вашей собаке?
 

Полезные ссылки

РКФ

 

Все о дрессировке собак


Стрижка собак в Коломне

Поиск по сайту

Устранение неполадок при переполнении журнала транзакций (ошибка SLQ Server 9002). Журнал транзакций переполнен


Устранение неполадок при переполнении журнала транзакций (ошибка SQL Server 9002)

  • 08/05/2016
  • Время чтения: 7 мин
  • Соавторы

В этой статье

ПРИМЕНЯЕТСЯ к: ДаSQL Serverнебазы данных SQL Azureнехранилище данных SQL Azure не Параллельное хранилище данныхTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

В этом разделе описаны возможные действия при переполнении журнала транзакций, а также советы о том, как его избежать.This topic discusses possible responses to a full transaction log and suggests how to avoid it in the future.

Когда журнал транзакций переполняется, в компоненте Компонент SQL Server Database EngineSQL Server Database Engine происходит ошибка 9002.When the transaction log becomes full, Компонент SQL Server Database EngineSQL Server Database Engine issues a 9002 error. Журнал может заполниться, когда база данных работает в режиме "в сети" или находится в процессе восстановления.The log can fill when the database is online, or in recovery. Если журнал заполняется, когда база данных находится в режиме «в сети», база данных остается в режиме «в сети», но доступной только для чтения, но не для обновления.If the log fills while the database is online, the database remains online but can only be read, not updated. Если журнал заполняется, когда база данных находится в процессе восстановления, компонент Компонент Database EngineDatabase Engine помечает базу данных как RESOURCE PENDING.If the log fills during recovery, the Компонент Database EngineDatabase Engine marks the database as RESOURCE PENDING. В любом случае необходимо вмешательство пользователя, чтобы сделать журнал транзакций доступным.In either case, user action is required to make log space available.

Действия при переполнении журнала транзакцийResponding to a full transaction log

Ответные действия при переполнении журнала транзакций частично зависят от условий, которые вызвали переполнение журнала.The appropriate response to a full transaction log depends partly on what condition or conditions caused the log to fill.

Чтобы определить, что препятствует усечению журнала транзакций в конкретном случае, используйте столбцы log_reuse_wait и log_reuse_wait_desc представления каталога sys.database.To discover what is preventing log truncation in a given case, use the log_reuse_wait and log_reuse_wait_desc columns of the sys.database catalog view. Дополнительные сведения см. в разделе sys.databases (Transact-SQL).For more information, see sys.databases (Transact-SQL). Описание причин, которые могут задержать усечение журнала, см. в разделе Журнал транзакций (SQL Server).For descriptions of factors that can delay log truncation, see The Transaction Log (SQL Server).

ВАЖНО!IMPORTANT!!Если при возникновении ошибки 9002 база данных находилась в состоянии восстановления, то после устранения проблемы восстановите базу данных с помощью инструкции ALTER DATABASE имя_базы_данных SET ONLINE.If the database was in recovery when the 9002 error occurred, after resolving the problem, recover the database by using ALTER DATABASE database_name SET ONLINE.

При переполнении журнала транзакций предусмотрены следующие ответные действия:Alternatives for responding to a full transaction log include:

  • создание резервной копии журнала;Backing up the log.

  • освобождение места на диске, чтобы журнал мог автоматически расти;Freeing disk space so that the log can automatically grow.

  • перемещение файла журнала на диск с достаточным объемом свободного места;Moving the log file to a disk drive with sufficient space.

  • увеличение размера файла журнала;Increasing the size of a log file.

  • добавление файла журнала на другой диск;Adding a log file on a different disk.

  • завершение или уничтожение длительной транзакции.Completing or killing a long-running transaction.

    Эти возможности описаны в следующих разделах.These alternatives are discussed in the following sections. Выберите ответное действие, наиболее подходящее в конкретной ситуации.Choose a response that fits your situation best.

Резервное копирование журналаBack up the log

Для полных моделей восстановления и моделей с неполным протоколированием резервное копирование может предотвратить усечение журнала транзакций, если оно не было сделано недавно.Under the full recovery model or bulk-logged recovery model, if the transaction log has not been backed up recently, backup might be what is preventing log truncation. Если резервная копия журнала создается в первый раз, следует сделать вторую резервную копию журнала , чтобы разрешить компоненту Компонент Database EngineDatabase Engine усечение журнала до точки последнего резервного копирования.If the log has never been backed up, you must create two log backups to permit the Компонент Database EngineDatabase Engine to truncate the log to the point of the last backup. Усечение журнала освобождает пространство для новых записей журнала.Truncating the log frees space for new log records. Чтобы избежать повторного переполнения журнала, следует чаще выполнять резервное копирование.To keep the log from filling up again, take log backups frequently.

Создание резервной копии журнала транзакцийTo create a transaction log backup

ВАЖНОIMPORTANTЕсли база данных повреждена, см. раздел Резервные копии заключительного фрагмента журнала (SQL Server).If the database is damaged, see Tail-Log Backups (SQL Server).

Освобождение места на дискеFreeing disk space

Возможно, следует освободить место на диске, где находится файл журнала транзакций для базы данных. Для этого можно удалить или переместить другие файлы.You might be able to free disk space on the disk drive that contains the transaction log file for the database by deleting or moving other files. Освобожденное место на диске позволит системе восстановления автоматически увеличить размер файла журнала.The freed disk space allows the recovery system to enlarge the log file automatically.

Перемещение файла журнала на другой дискMove the log file to a different disk

Если на текущем диске невозможно освободить достаточное количество места, следует переместить файл на другой диск, где места достаточно.If you cannot free enough disk space on the drive that currently contains the log file, consider moving the file to another drive with sufficient space.

ВАЖНО!IMPORTANT!! Файлы журнала ни в коем случае не следует размещать в файловых системах со сжатием.Log files should never be placed on compressed file systems.

Перемещение файла журналаMove a log file

Увеличение размера файла журналаIncrease log file size

Если на диске, на котором находится журнал, доступно свободное место, можно увеличить размер файла журнала.If space is available on the log disk, you can increase the size of the log file. Максимальный объем файлов журнала составляет 2 терабайта (ТБ) на файл журнала.The maximum size for log files is two terabytes (TB) per log file.

Увеличение размера файлаIncrease the file size

Если автоувеличение отключено, база данных находится в режиме «в сети» и на диске достаточно свободного места, выполните одно из следующих действий.If autogrow is disabled, the database is online, and sufficient space is available on the disk, either:

  • Вручную увеличьте размер файла для получения одного шага роста размера файла.Manually increase the file size to produce a single growth increment.

  • Включить свойство автоматического увеличения при помощи инструкции ALTER DATABASE, чтобы установить отличное от нуля значение шага роста для параметра FILEGROWTH.Turn on autogrow by using the ALTER DATABASE statement to set a non-zero growth increment for the FILEGROWTH option.

ПРИМЕЧАНИЕ. В любом случае, если достигнут текущий предел размера файла, увеличьте значение MAXSIZE.NOTE In either case, if the current size limit has been reached, increase the MAXSIZE value.

Добавление файла журнала на другой дискAdd a log file on a different disk

Добавьте новый файл журнала базы данных на другом диске, где достаточно места, с помощью инструкции ALTER DATABASE <имя_базы_данных> ADD LOG FILE.Add a new log file to the database on a different disk that has sufficient space by using ALTER DATABASE <database_name> ADD LOG FILE.

Добавление файла журналаAdd a log file

  • Добавление файлов данных или журналов в базу данныхAdd Data or Log Files to a Database

    Завершение длительной транзакцииComplete or kill a long-running transaction

    Обнаружение длительных транзакцийDiscovering long-running transactions

    Очень длительная транзакция может привести к переполнению журнала транзакций.A very long-running transaction can cause the transaction log to fill. Длительные транзакции можно обнаружить следующими способами:To look for long-running transactions, use one of the following:

Завершение транзакцииKill a transaction

В некоторых случаях может потребоваться завершить процесс, для этого можно применить инструкцию KILL .Sometimes you just have to end the process; you may have to use the KILL statement. Ее следует использовать с осторожностью, особенно если запущены критические процессы, которые нельзя завершать.Please use this statement very carefully, especially when critical processes are running that you don't want to kill. Дополнительные сведения см. в разделе KILL (Transact-SQL).For more information, see KILL (Transact-SQL)

См. также разделSee also

Статья базы знаний — неожиданное увеличение или переполнение журнала транзакций в SQL Server ALTER DATABASE (Transact-SQL) KB support article - A transaction log grows unexpectedly or becomes full in SQL Server ALTER DATABASE (Transact-SQL) Управление размером файла журнала транзакций Manage the Size of the Transaction Log File Резервные копии журналов транзакций (SQL Server) Transaction Log Backups (SQL Server) sp_add_log_file_recover_suspect_db (Transact-SQL)sp_add_log_file_recover_suspect_db (Transact-SQL)

docs.microsoft.com

Устранение неполадок при переполнении журнала транзакций (ошибка SLQ Server 9002)

 

Опубликовано: Декабрь 2016

В этом разделе описаны возможные действия при переполнении журнала транзакций, а также советы о том, как его избежать. Когда журнал транзакций переполняется, в компоненте Компонент SQL Server Database Engine происходит ошибка 9002. Журнал может заполниться, когда база данных работает в режиме «в сети» или находится в процессе восстановления. Если журнал заполняется, когда база данных находится в режиме «в сети», база данных остается в режиме «в сети», но доступной только для чтения, но не для обновления. Если журнал заполняется, когда база данных находится в процессе восстановления, компонент Компонент Database Engine помечает базу данных как RESOURCE PENDING. В любом случае необходимо вмешательство пользователя, чтобы сделать журнал транзакций доступным.

Ответные действия при переполнении журнала транзакций частично зависят от условий, которые вызвали переполнение журнала. Чтобы определить, что препятствует усечению журнала транзакций в конкретном случае, используйте столбцы log_reuse_wait и log_reuse_wait_desc представления каталога sys.database. Дополнительные сведения см. в разделе sys.databases (Transact-SQL). Описание причин, которые могут задержать усечение журнала, см. в разделе Журнал транзакций (SQL Server).

System_CAPS_ICON_important.jpg Важно

Если при возникновении ошибки 9002 база данных находилась в состоянии восстановления, то после устранения проблемы восстановите базу данных с помощью инструкции ALTER DATABASE database_name SET ONLINE.

При переполнении журнала транзакций предусмотрены следующие ответные действия:

  • создание резервной копии журнала;

  • освобождение места на диске, чтобы журнал мог автоматически расти;

  • перемещение файла журнала на диск с достаточным объемом свободного места;

  • увеличение размера файла журнала;

  • добавление файла журнала на другой диск;

  • завершение или уничтожение длительной транзакции.

Эти возможности описаны в следующих разделах. Выберите ответное действие, наиболее подходящее в конкретной ситуации.

Создание резервной копии журнала

Для полных моделей восстановления и моделей с неполным протоколированием резервное копирование может предотвратить усечение журнала транзакций, если оно не было сделано недавно. Если резервная копия журнала создается в первый раз, необходимо сделать вторую резервную копию журнала, чтобы разрешить компоненту Компонент Database Engine усечение журнала до точки последнего резервного копирования. Усечение журнала освобождает пространство для новых записей журнала. Чтобы избежать повторного переполнения журнала, следует чаще выполнять резервное копирование.

Создание резервной копии журнала транзакций

Освободите место на диске

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

Перемещение файла журнала на другой диск

Если на текущем диске невозможно освободить достаточное количество места, следует переместить файл на другой диск, где места достаточно.

System_CAPS_ICON_important.jpg Важно

Файлы журнала ни в коем случае не следует размещать в файловых системах со сжатием.

Перемещение файла журнала

Увеличение размера файла журнала

Если на диске, на котором находится журнал, доступно свободное место, можно увеличить размер файла журнала. Максимальный объем файлов журнала составляет 2 терабайта (ТБ) на файл журнала.

Увеличение размера файла

Если автоувеличение отключено, база данных находится в режиме «в сети» и на диске достаточно свободного места, выполните одно из следующих действий.

  • Вручную увеличьте размер файла для получения одного шага роста размера файла.

  • Включить свойство автоматического увеличения при помощи инструкции ALTER DATABASE, чтобы установить отличное от нуля значение шага роста для параметра FILEGROWTH.

System_CAPS_ICON_note.jpg Примечание

В любом случае, если достигнут текущий предел размера файла, увеличьте значение MAXSIZE.

Добавление файла журнала на другой диск

Добавьте новый файл журнала базы данных на другом диске, где достаточно места, с помощью инструкции ALTER DATABASE <имя_базы_данных> ADD LOG FILE.

Добавление файла журнала

ALTER DATABASE (Transact-SQL)Управление размером файла журнала транзакцийРезервные копии журналов транзакций (SQL Server)sp_add_log_file_recover_suspect_db (Transact-SQL)

msdn.microsoft.com

Управление размером файла журнала транзакций

  • 01/05/2018
  • Время чтения: 11 мин
  • Соавторы

В этой статье

ПРИМЕНЯЕТСЯ к: ДаSQL Serverнебазы данных SQL Azureнехранилище данных SQL Azure не Параллельное хранилище данныхTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

В этой статье рассказывается о мониторинге размера журнала транзакций SQL ServerSQL Server, сжатии журнала транзакций, добавлении или увеличении файла журнала транзакций, оптимизации скорости роста журнала транзакций tempdb, а также об управлении размером файла журнала транзакций.This topic covers how to monitor SQL ServerSQL Server transaction log size, shrink the transaction log, add to or enlarge a transaction log file, optimize the tempdb transaction log growth rate, and control the growth of a transaction log file.

Мониторинг используемого пространства журналаMonitor log space use

Для мониторинга используемого пространства журнала используйте sys.dm_db_log_space_usage.Monitor log space use by using sys.dm_db_log_space_usage. Это динамическое административное представление возвращает сведения об используемом сейчас журналом объеме пространства и сообщает, когда журнал транзакций требует усечения.This DMV returns information about the amount of log space currently used, and indicates when the transaction log needs truncation.

Для получения сведений о текущем размере файла журнала, его максимальном размере и параметре автоматического увеличения файла вы можете также использовать столбцы size, max_size и growth для данного файла журнала в представлении sys.database_files.For information about the current log file size, its maximum size, and the autogrow option for the file, you can also use the size, max_size, and growth columns for that log file in sys.database_files.

Важно!

Избегайте переполнения содержащего журналы диска.Avoid overloading the log disk. Хранилище журналов должно отвечать требованиям к числу операций ввода-вывода в секунду и низкой задержке для транзакционной нагрузки.Ensure the log storage can withstand the IOPS and low latency requirements for your transactional load.

Уменьшение размера файла журналаShrink log file size

Для уменьшения реального размера физического файла журнала необходимо выполнить его сжатие.To reduce the physical size of a physical log file, you must shrink the log file. Это полезно, если файл журнала транзакций содержит неиспользованное пространство.This is useful when you know that a transaction log file contains unused space. Вы можете сжать файл журнала, только если база данных активна и хотя бы один виртуальный файл журнала (VLF) свободен.You can shrink a log file only while the database is online, and at least one virtual log file (VLF) is free. В ряде случаев сжатие невозможно до тех пор, пока не выполнена следующая операция усечения журнала.In some cases, shrinking the log may not be possible until after the next log truncation.

Сжатие файла журнала удаляет виртуальные файлы журнала, которые не содержат частей логического журнала (то есть, неактивные виртуальные файлы журнала).Shrinking a log file removes one or more VLFs that hold no part of the logical log (that is, inactive VLFs). При сжатии файла журнала транзакций неактивные виртуальные файлы журнала в конце удаляются, чтобы журнал уменьшился приблизительно до целевого размера.When a transaction log file is shrunk, inactive VLFs are removed from the end of the log file to reduce the log to approximately the target size.

Важно!

Перед сжатием следует учесть факторы, которые могут вызвать задержку усечения журнала.Before shrinking the transaction log, keep in mind Factors that can delay log truncation. Если после сжатия журнала снова потребуется дисковое пространство, размер журнала транзакций снова будет увеличиваться, что повлияет на производительность во время операций увеличения.If the storage space is required again after a log shrink, the transaction log will grow again and by doing that, introduce performance overhead during log growth operations. Дополнительные сведения см. в разделе Рекомендации этой статьи.For more information, see the Recommendations in this topic.

Сжатие файла журнала (без сжатия файлов базы данных)Shrink a log file (without shrinking database files)

Добавление или увеличение размера файла журналаAdd or enlarge a log file

Вы можете выделить дополнительное место на диске, увеличив существующий файл журнала (если для этого достаточно места на диске) либо добавив файл журнала в базу данных, как правило, на другом диске.You can gain space by enlarging the existing log file (if disk space permits) or by adding a log file to the database, typically on a different disk. До тех пор, пока в журнале и на содержащем его дисковом томе достаточно свободного места, будет достаточного одного файла журнала транзакций.One transaction log file is sufficient unless log space is running out, and disk space is also running out on the volume that holds the log file.

  • Чтобы добавить файл журнала в базу данных, используйте предложение ADD LOG FILE инструкции ALTER DATABASE.To add a log file to the database, use the ADD LOG FILE clause of the ALTER DATABASE statement. Это позволяет увеличить размер файла.Adding a log file allows the log to grow.
  • Чтобы увеличить размер файла журнала, используйте предложение MODIFY FILE инструкции ALTER DATABASE с указанием синтаксиса SIZE и MAXSIZE.To enlarge the log file, use the MODIFY FILE clause of the ALTER DATABASE statement, specifying the SIZE and MAXSIZE syntax. Дополнительные сведения см. в разделе Параметры инструкции ALTER DATABASE (Transact-SQL) для файлов и файловых групп.For more information, see ALTER DATABASE (Transact-SQL) File and Filegroup options.

Дополнительные сведения см. в разделе Рекомендации этой статьи.For more information, see the Recommendations in this topic.

Оптимизация размера журнала транзакций tempdbOptimize tempdb transaction log size

При перезапуске экземпляра сервера размер журнала транзакций базы данных tempdb изменяется и становится равным исходному размеру, который был до применения параметра автоматического увеличения файла.Restarting a server instance resizes the transaction log of the tempdb database to its original, pre-autogrow size. Это может понизить производительность журнала транзакций базы данных tempdb .This can reduce the performance of the tempdb transaction log.

Этого можно избежать с помощью увеличения размера журнала транзакций базы данных tempdb после запуска или перезапуска экземпляра сервера.You can avoid this overhead by increasing the size of the tempdb transaction log after starting or restarting the server instance. Дополнительные сведения см. в статье tempdb Database.For more information, see tempdb Database.

Управление увеличением размера файла журнала транзакцийControl transaction log file growth

Для управления увеличением файла журнала транзакций используйте инструкцию ALTER DATABASE (Transact-SQL) с параметрами для файлов и файловых групп.Use the ALTER DATABASE (Transact-SQL) File and Filegroup options statement to manage the growth of a transaction log file. Следует отметить следующее.Note the following:

  • Чтобы изменить текущий размер файла в КБ, МБ, ГБ и ТБ, используйте параметр SIZE.To change the current file size in KB, MB, GB, and TB units, use the SIZE option.
  • Чтобы изменить шаг приращения размера, используйте параметр FILEGROWTH.To change the growth increment, use the FILEGROWTH option. Значение 0 указывает, что автоматическое приращение выключено и дополнительное пространство для файла не разрешено.A value of 0 indicates that automatic growth is set to off and no additional space is permitted.
  • Чтобы установить максимальный размер файла журнала в КБ, МБ, ГБ и ТБ или задать неограниченный размер (UNLIMITED), используйте параметр MAXSIZE.To control the maximum the size of a log file in KB, MB, GB, and TB units or to set growth to UNLIMITED, use the MAXSIZE option.

Дополнительные сведения см. в разделе Рекомендации этой статьи.For more information, see the Recommendations in this topic.

РекомендацииRecommendations

Далее приведены некоторые общие рекомендации по работе с файлами журналов транзакций.Following are some general recommendations when you are working with transaction log files:

  • Шаг приращения автоматического увеличения журнала транзакций, задаваемый параметром FILEGROWTH, должен быть достаточно большим, чтобы с запасом соответствовать потребностям транзакций рабочих нагрузок.The automatic growth (autogrow) increment of the transaction log, as set by the FILEGROWTH option, must be large enough to stay ahead of the needs of the workload transactions. Во избежание слишком частых увеличений размера файла журнала следует задать достаточно большое значение шагу роста файла журнала.The file growth increment on a log file should be sufficiently large to avoid frequent expansion. Чтобы подбирать оптимальный размер журнала транзакций, рекомендуем отслеживать объем журнала, занимаемый в следующих случаях.A good pointer to properly size a transaction log is monitoring the amount of log occupied during:

    • Во время, необходимое для выполнения полного резервного копирования, так как резервные копии журнала создаются только после его завершения.The time required to execute a full backup, because log backups cannot occur until it finishes.
    • Во время, необходимое для самых продолжительных операций обслуживания индекса.The time required for the largest index maintenance operations.
    • Во время, необходимое для выполнения наибольшего пакета в базе данных.The time required to execute the largest batch in a database.
  • При активации autogrow для файлов журналов и данных с помощью параметра FILEGROWTH может быть лучше задать рост журнала через размер (size), а не процент (percentage). Это позволит более эффективно контролировать увеличение, так как процент будет характеризовать постоянно растущую величину.When setting autogrow for data and log files using the FILEGROWTH option, it might be preferred to set it in size instead of percentage, to allow better control on the growth ratio, as percentage is an ever-growing amount.

    • Учитывайте, что журналы транзакций не могут использовать мгновенную инициализацию файлов, поэтому особо продолжительное время их роста имеет критическую важность.Keep in mind that transaction logs cannot leverage Instant File Initialization, so extended log growth times are especially critical.
    • Рекомендуется не устанавливать для журналов транзакций значение параметра FILEGROWTH выше 1024 МБ.As a best practice, do not set the FILEGROWTH option value above 1,024 MB for transaction logs. Значения для параметра FILEGROWTH по умолчанию.The default values for FILEGROWTH option are:

      ВерсияVersion Значения по умолчаниюDefault values
      Начиная с SQL Server 2016 (13.x)SQL Server 2016 (13.x)Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) Данные — 64 МБ.Data 64 MB. Файлы журналов — 64 МБ.Log files 64 MB.
      Начиная с SQL Server 2005SQL Server 2005Starting with SQL Server 2005SQL Server 2005 Данные — 1 МБ.Data 1 MB. Файлы журналов — 10 %.Log files 10%.
      До SQL Server 2005SQL Server 2005Prior to SQL Server 2005SQL Server 2005 Данные — 10 %.Data 10%. Файлы журналов — 10 %.Log files 10%.
  • При небольшом шаге приращения может формироваться слишком много виртуальных файлов журнала малого размера и снижаться производительность.A small growth increment can generate too many small VLFs and can reduce performance. Чтобы определить оптимальное распределение виртуальных файлов журнала для текущего размера журнала транзакций всех баз данных в определенном экземпляре, а также требуемые приращения для достижения нужного размера, см. следующий скрипт.To determine the optimal VLF distribution for the current transaction log size of all databases in a given instance, and the required growth increments to achieve the required size, see this script.

  • При большом шаге приращения может формироваться слишком мало крупных виртуальных файлов журнала, что также повлияет на производительность.A large growth increment can generate too few and large VLFs and can also affect performance. Чтобы определить оптимальное распределение виртуальных файлов журнала для текущего размера журнала транзакций всех баз данных в определенном экземпляре, а также требуемые приращения для достижения нужного размера, см. следующий скрипт.To determine the optimal VLF distribution for the current transaction log size of all databases in a given instance, and the required growth increments to achieve the required size, see this script.

  • Даже если включено автоматическое увеличение, вы можете получить сообщение, что журнал транзакций заполнен, если его размер не может достаточно быстро увеличиваться под нужды вашего запроса.Even with autogrow enabled, you can receive a message that the transaction log is full, if it cannot grow fast enough to satisfy the needs of your query. Дополнительные сведения об изменении шага приращения см. в разделе Параметры инструкции ALTER DATABASE (Transact-SQL) для файлов и файловых группFor more information on changing the growth increment, see ALTER DATABASE (Transact-SQL) File and Filegroup options

  • Наличие множества файлов журнала в базе данных не способствует повышению производительности, так как файлы журнала транзакций не используют пропорциональное заполнение, как файлы данных в одной файловой группе.Having multiple log files in a database does not enhance performance in any way, because the transaction log files do not use proportional fill like data files in a same filegroup.

  • Вы можете настроить автоматическое сжатие файлов журналов.Log files can be set to shrink automatically. Но делать это не рекомендуется, и параметру базы данных auto_shrink по умолчанию задано значение FALSE.However this is not recommended, and the auto_shrink database property is set to FALSE by default. Если параметру auto_shrink задано значение TRUE, автоматическое сжатие уменьшает размер файла, только если в нем не использовано более 25 % объема.If auto_shrink is set to TRUE, automatic shrinking reduces the size of a file only when more than 25 percent of its space is unused.

См. также разделSee also

BACKUP (Transact-SQL) BACKUP (Transact-SQL) Устранение неполадок при переполнении журнала транзакций (ошибка SQL Server 9002) Troubleshoot a Full Transaction Log (SQL Server Error 9002) Раздел "Резервные копии журналов транзакций" в руководстве по архитектуре журнала транзакций SQL Server и управлению им Transaction Log Backups in the SQL Server Transaction Log Architecture and Management Guide Резервные копии журналов транзакций (SQL Server) Transaction Log Backups (SQL Server) Параметры инструкции ALTER DATABASE (Transact-SQL) для файлов и файловых группALTER DATABASE (Transact-SQL) File and Filegroup options

docs.microsoft.com

Резервные копии журнала транзакций (SQL Server)

  • 01/05/2018
  • Время чтения: 6 мин
  • Соавторы

В этой статье

ПРИМЕНЯЕТСЯ к: ДаSQL Serverнебазы данных SQL Azureнехранилище данных SQL Azure не Параллельное хранилище данныхTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse Этот раздел относится только к тем базам данных SQL ServerSQL Server, которые используют модель полного восстановления или модель восстановления с неполным протоколированием. This topic is relevant only for SQL ServerSQL Server databases that are using the full or bulk-logged recovery models. В этом разделе рассматривается создание резервной копии журнала транзакций базы данных SQL ServerSQL Server .This topic discusses backing up the transaction log of a SQL ServerSQL Server database.

Перед созданием любой резервной копии журнала необходимо создать как минимум одну полную резервную копию.Minimally, you must have created at least one full backup before you can create any log backups. После этого резервное копирование журнала транзакций может выполняться в любое время, кроме времени другого резервного копирования журнала.After that, the transaction log can be backed up at any time unless the log is already being backed up.

Рекомендуется периодически производить резервное копирование журнала для снижения вероятности потери результатов работы и для усечения журнала транзакций.We recommend you take log backups frequently, both to minimize work loss exposure and to truncate the transaction log.

Обычно администратор базы данных время от времени создает полную резервную копию базы данных (например, еженедельно) и дополнительно создает разностные резервные копии через более короткие интервалы, например ежедневно.A database administrator typically creates a full database backup occasionally, such as weekly, and, optionally, creates a series of differential database backup at a shorter interval, such as daily. Независимо от резервного копирования базы данных администратор с высокой периодичностью создает резервные копии журнала транзакций.Independent of the database backups, the database administrator backs up the transaction log at frequent intervals. При таком подходе к резервному копированию оптимальный интервал между моментами выполнения резервного копирования зависит от множества факторов: важности данных, размера базы данных и рабочей нагрузки сервера.For a given type of backup, the optimal interval depends on factors such as the importance of the data, the size of the database, and the workload of the server. Дополнительные сведения о выборе подходящей стратегией см. в разделе Рекомендации этой статьи.For more information about implementing a good strategy, see Recommendations in this topic.

Работа последовательности резервных копий журналаHow a sequence of log backups works

Последовательность резервных копий цепочки журналов транзакций не зависит от резервных копий данных.The sequence of transaction log backups log chain is independent of data backups. Например, предположим, что имеется следующая последовательность событий:For example, assume the following sequence of events.

TimeTime СобытиеEvent
8:008:00 AM Резервное копирование базы данных.Back up database.
ПолденьNoon Резервное копирование журнала транзакций.Back up transaction log.
16:004:00 PM Резервное копирование журнала транзакций.Back up transaction log.
18:006:00 PM Резервное копирование базы данных.Back up database.
20:008:00 PM Резервное копирование журнала транзакций.Back up transaction log.

Резервная копия журналов транзакций, созданная в 20:00, содержит записи журнала транзакций с 16:00 до 20:00. В этом временном диапазоне, а именно в 18:00, была создана полная резервная копия базы данных. Последовательность резервных копий журнала транзакций продолжается непрерывно с момента создания начальной полной резервной копии базы данных в 8:00 и до создания последней резервной копии журналов транзакций в 20:00.The transaction log backup created at 8:00 PM contains transaction log records from 4:00 PM through 8:00 PM, spanning the time when the full database backup was created at 6:00 PM The sequence of transaction log backups is continuous from the initial full database backup created at 8:00 AM to the last transaction log backup created at 8:00 PM. Сведения о применении этих резервных копий журналов приводятся в примере в статье Применение резервных копий журналов транзакций (SQL Server).For information about how to apply these log backups, see the example in Apply Transaction Log Backups (SQL Server).

РекомендацииRecommendations

  • Если журнал транзакций поврежден, будут потеряны все результаты работы, начиная с момента самого последнего действительного резервного копирования.If a transaction log is damaged, work that is performed since the most recent valid backup is lost. Поэтому настоятельно рекомендуется помещать файлы журнала в отказоустойчивое хранилище.Therefore we strongly recommend that you put your log files on fault-tolerant storage.

  • Если база данных повреждена или требуется восстановить базу данных, рекомендуется создать резервную копию заключительного фрагмента журнала , чтобы можно было восстановить базу данных до текущего момента.If a database is damaged or you are about to restore the database, we recommend that you create a tail-log backup to enable you to restore the database to the current point in time.

  • По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок служб SQL ServerSQL Server и в журнал системных событий.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. Если создание резервной копии журналов производится очень часто, это приводит к быстрому накоплению сообщений об успешном завершении. Это приводит к увеличению журналов ошибок, затрудняя поиск других сообщений.If back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. Если работа существующих скриптов не зависит от этих записей, то их можно отключить с помощью флага трассировки 3226.In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

  • Создавайте резервные копии журналов с достаточной периодичностью в соответствии с вашими бизнес-требованиями, в особенности касающимися устойчивости к потере данных, что может произойти из-за повреждения хранилища журналов.Take frequent enough log backups to support your business requirements, specifically your tolerance for work loss such as might be caused by a damaged log storage.

    • Частота создания резервных копий журнала зависит от степени толерантности к возможности потери данных и от того, какое количество резервных копий журнала получится хранить и в потенциале восстанавливать, а также каким количеством управлять.The appropriate frequency for taking log backups depends on your tolerance for work-loss exposure balanced by how many log backups you can store, manage, and, potentially, restore. При реализации стратегии восстановления и, в частности, периодичности резервного копирования журнала, определите необходимое целевое время и целевую точку восстановления.Think about the required RTO and RPO when implementing your recovery strategy, and specifically the log backup cadence.
    • Возможно, создания резервных копий журналов один раз в 15-30 минут может оказаться достаточно.Taking a log backup every 15 to 30 minutes might be enough. Если предприятию необходимо минимизировать вероятность потери данных, следует увеличить частоту создания резервных копий журнала.If your business requires that you minimize work-loss exposure, consider taking log backups more frequently. Более частое создание резервных копий журнала предоставляет преимущество за счет более частого усечения журнала, результатом которого является меньший размер файлов журнала.More frequent log backups have the added advantage of increasing the frequency of log truncation, resulting in smaller log files.

Важно!

Чтобы ограничить число резервных копий журналов, которые требуется восстановить, важно периодически создавать резервные копии данных.To limit the number of log backups that you need to restore, it is essential to routinely back up your data. Например, можно запланировать еженедельное создание полной резервной копии базы данных и ежедневное создание разностных резервных копий.For example, you might schedule a weekly full database backup and daily differential database backups.Опять же, при реализации стратегии восстановления и, в частности, периодичности полного и разностного резервного копирования базы данных, определите необходимое целевое время и целевую точку восстановления.Again, think about the required RTO and RPO when implementing your recovery strategy, and specifically the full and differential database backup cadence.

Создание резервной копии журнала транзакцийTo create a transaction log backup

См. также:See Also

Журнал транзакций (SQL Server) The Transaction Log (SQL Server) Раздел "Резервные копии журналов транзакций" в руководстве по архитектуре журнала транзакций SQL Server и управлению им Transaction Log Backups in the SQL Server Transaction Log Architecture and Management Guide Резервное копирование и восстановление баз данных SQL Server Back Up and Restore of SQL Server Databases Резервные копии заключительного фрагмента журнала (SQL Server) Tail-Log Backups (SQL Server) Применение резервных копий журналов транзакций (SQL Server)Apply Transaction Log Backups (SQL Server)

docs.microsoft.com

Усечение журнала транзакций

Эта документация перемещена в архив и не поддерживается.

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

За исключением тех случаев, когда усечение журнала по каким-то причинам задерживается, оно выполняется автоматически следующим образом.

  • В простой модели восстановления — после достижения контрольной точки.

  • В модели полного восстановления или в модели восстановления с неполным протоколированием — после создания резервной копии журналов, при условии, что со времени предыдущей операции резервного копирования была достигнута контрольная точка. Дополнительные сведения см. в подразделе «Усечение журнала в модели полного восстановления и модели восстановления с неполным протоколированием» далее в этом разделе.

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

Дополнительные сведения об усечении журнала см. в подразделе «Как работает усечение журнала» далее в разделе.

В модели полного восстановления или модели восстановления с неполным протоколированием неактивную часть журнала нельзя усечь, пока в резервную копию не попали все записи журнала. Это необходимо, чтобы обеспечить наличие цепочки журналов — набора записей журнала с неразрывной последовательностью регистрационных номеров транзакций в журнале (номера LSN). Журнал усекается при создании резервной копии журналов, если выполняются следующие условия.

  • С момента создания последней резервной копии журнала была создана контрольная точка. Контрольная точка является важным, но недостаточным условием усечения журнала при использовании модели полного восстановления или модели восстановления с неполным протоколированием. После контрольной точки журнал остается нетронутым по крайней мере до создания следующей резервной копии журналов.

    Дополнительные сведения см. в разделе Контрольные точки и активная часть журнала.

  • Никакие другие факторы не препятствуют усечению журнала.

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

  • В инструкции BACKUP LOG не указан параметр WITH COPY_ONLY.

Резервное копирование журнала транзакций

ПримечаниеПримечание

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

Журнал транзакций является оборачиваемым файлом. При создании базы данных логический файл журнала начинается в начале физического файла журнала. Новые записи журнала добавляются в конце логического журнала и приближаются к концу физического файла журнала. Журнал транзакций в базе данных сопоставляет один или несколько физических файлов. Компонент SQL Server Database Engine делит каждый физический файл журнала на несколько виртуальных файлов журнала. Процесс усечения журнала освобождает пространство в логическом журнале путем удаления неактивных виртуальных файлов журналов из начала логического журнала. Подробные сведения об архитектуре журнала транзакций см. в разделах Логическая архитектура журнала транзакций и Физическая архитектура журнала транзакций.

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

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

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

На следующем рисунке показан журнал транзакций до усечения и после. На первом рисунке показан журнал транзакций, который никогда не усекался. В настоящий момент логический журнал состоит из четырех виртуальных файлов. Логический журнал начинается с начала первого файла виртуального журнала и заканчивается виртуальным файлом журнала 4. Запись MinLSN находится в виртуальном журнале 3. Виртуальные журналы 1 и 2 содержат только неактивные записи журнала. Эти записи можно усечь. Виртуальный журнал 5 пока не используется и не является частью текущего логического журнала.

Журнал транзакций с четырьмя виртуальными журналами

На втором рисунке показан журнал после усечения. Виртуальные журналы 1 и 2 усечены и могут использоваться повторно. Логический журнал теперь начинается с начала виртуального журнала 3. Виртуальный журнал 5 все еще не используется и не является частью текущего логического журнала.

Файл журнала, разделенный на четыре виртуальных файла журнала
Справочник
Основные понятия

msdn.microsoft.com

Создание резервной копии журнала транзакций (SQL Server)

  • 02/01/2017
  • Время чтения: 14 мин
  • Соавторы

В этой статье

ПРИМЕНЯЕТСЯ к: ДаSQL Serverнебазы данных SQL Azureнехранилище данных SQL Azure не Параллельное хранилище данныхTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

В этом разделе описано, как создать резервную копию журнала транзакций в SQL Server 2017SQL Server 2017 с помощью среды Среда SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLили PowerShell.This topic describes how to back up a transaction log in SQL Server 2017SQL Server 2017 by using Среда SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell.

ОграниченияLimitations and restrictions

  • Инструкция BACKUP не разрешена в явных и неявных транзакциях.The BACKUP statement is not allowed in an explicit or implicit transaction. Явными транзакциями являются транзакции, для которых явно назначаются запуск и остановка.An explicit transaction is one in which you explicitly define both the start and end of the transaction.

РекомендацииRecommendations

  • Если в базе данных используется полная модель восстановления или модель восстановления с неполным протоколированием, то необходимо регулярно создавать резервную копию журнала транзакций, чтобы защитить данные и предотвратить переполнение журнала транзакций.If a database uses either the full or bulk-logged recovery model, you must back up the transaction log regularly enough to protect your data, and to prevent the transaction log from filling. При этом журнал усекается и поддерживает восстановление базы данных на определенный момент времени.This truncates the log and supports restoring the database to a specific point in time.

  • По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок служб SQL ServerSQL Server и в журнал системных событий.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. Если создание резервной копии журналов производится очень часто, сообщения об успешном завершении накапливаются очень быстро. Это приводит к увеличению журналов ошибок, затрудняя поиск других сообщений.If you back up the log frequently, these success messages accumulate quickly, resulting in huge error logs, making finding other messages difficult. Если работа существующих скриптов не зависит от этих записей, то их можно отключить с помощью флага трассировки 3226.In such cases you can suppress these log entries by using trace flag 3226, if none of your scripts depend on those entries. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

PermissionsPermissions

Перед началом убедитесь в наличии необходимых разрешений!Check for the correct permissions before you begin!

Нужные разрешения BACKUP DATABASE и BACKUP LOG назначаются по умолчанию членам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator .The BACKUP DATABASE and BACKUP LOG permissions needed are granted by default to members of the sysadmin fixed server role, and the db_owner and db_backupoperator fixed database roles.

Проблемы, связанные с владельцем и разрешениями у физических файлов на устройстве резервного копирования, могут помешать операции резервного копирования.Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL ServerSQL Server должен иметь возможность считывать и записывать данные на устройстве; учетная запись, от имени которой выполняется служба SQL ServerSQL Server , должна иметь разрешения на запись. must be able to read and write to the device; the account under which the SQL ServerSQL Server service runs must have write permissions. Однако процедура sp_addumpdevice, добавляющая запись для устройства резервного копирования в системные таблицы, не проверяет разрешения на доступ к файлу.However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. Проблемы доступа к физическому файлу устройства резервного копирования могут не проявляться до обращения к физическому ресурсу при попытке архивации или восстановления.Permissions problems on the backup device's physical file may not become obvious to you until you attemt to access the physical resource when you try to backup or restore. Поэтому обязательно убедитесь в наличии необходимых разрешений, прежде чем начать!So again, check permissions before you begin!

Резервное копирование с помощью SSMSBack up using SSMS

  1. После подключения к соответствующему экземпляру компонента Компонент SQL Server Database EngineSQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув его имя.After connecting to the appropriate instance of the Компонент SQL Server Database EngineSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. Раскройте узел Базы данныхи в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем команду Создать резервную копию.Right-click the database, point to Tasks, and then click Back Up. Откроется диалоговое окно Резервное копирование базы данных .The Back Up Database dialog box appears.

  4. В списке База данных проверьте имя базы данных.In the Database list box, verify the database name. При необходимости можно выбрать другую базу данных из списка.You can optionally select a different database from the list.

  5. Убедитесь в том, что используется либо модель восстановления FULL , либо BULK_LOGGED.Verify that the recovery model is either FULL or BULK_LOGGED.

  6. Выберите Журнал транзакций в списке Тип резервного копирования.In the Backup type list box, select Transaction Log.

  7. Также можно выбрать вариант Резервная копия только для копирования , чтобы создать резервную копию только для копирования.Optionally, you can select Copy Only Backup to create a copy-only backup. Резервная копия только для копирования — это резервная копия SQL ServerSQL Server, которая не зависит от обычной последовательности создания традиционных резервных копий SQL ServerSQL Server.A copy-only backup is a SQL ServerSQL Server backup that is independent of the sequence of conventional SQL ServerSQL Server backups. Дополнительные сведения см. в разделе Резервные копии только для копирования (SQL Server).For more information, see Copy-Only Backups (SQL Server).

    Внимание! Если выбран параметр Разностная, то резервную копию только для копирования создать не удастся.** NOTE!** When the Differential option is selected, you cannot create a copy-only backup.

  8. Оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя , или введите другое имя резервного набора данных.Either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. При необходимости можно ввести описание резервного набора данных в текстовом поле Описание .Optionally, in the Description text box, enter a description of the backup set.

  10. Укажите, когда истекает срок действия резервного набора данных.Specify when the backup set will expire:

    • Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания.To have the backup set expire after a specific number of days, click After (the default option), and enter the number of days after set creation that the set will expire. Это значение может быть задано в диапазоне от 0 до 99 999 дней. Значение 0 означает, что срок действия резервного набора данных не ограничен.This value can be from 0 to 99999 days; a value of 0 days means that the backup set will never expire.

      Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней) диалогового окна Свойства сервера (страницаПараметры базы данных ).The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). Для этого щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите его свойства, затем страницу Параметры базы данных .To access this dialog box, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт Наи введите дату истечения срока действия резервного набора данных.To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  11. Чтобы выбрать тип назначения резервной копии, выберите пункт Диск, URL-адрес или Лента.Choose the type of backup destination by clicking Disk, URL or Tape. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить.To select the paths of up to 64 disk or tape drives containing a single media set, click Add. Выбранные пути отображаются в списке Создать резервную копию в .The selected paths are displayed in the Backup to list box.

    Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить.To remove a backup destination, select it and click Remove. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.To view the contents of a backup destination, select it and click Contents.

  12. Чтобы просмотреть или выбрать дополнительные параметры, нажмите кнопку Параметры на панели Выбор страницы .To view or select the advanced options, click Options in the Select a page pane.

  13. Выберите параметр Переписать носитель , указав один из следующих вариантов:Select an Overwrite Media option, by clicking one of the following:

    • Создать резервную копию в существующем наборе носителейBack up to the existing media set

      Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных.For this option, click either Append to the existing backup set or Overwrite all existing backup sets. Дополнительные сведения см. в разделах Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).For more information, see Media Sets, Media Families, and Backup Sets (SQL Server).

      При необходимости выберите Проверить имя набора носителей и срок действия резервного набора данных , чтобы при выполнении операции резервного копирования производилась проверка срока действия набора носителей и резервного набора данных.Optionally, select Check media set name and backup set expiration to cause the backup operation to verify the date and time at which the media set and backup set expire.

      При необходимости введите имя в текстовое поле Имя набора носителей .Optionally, enter a name in the Media set name text box. Если имя не указано, создается набор носителей с пустым именем.If no name is specified, a media set with a blank name is created. Если имя набора носителей указано, то для носителя (ленточного или дискового) проверяется совпадение введенного и существующего имени.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name you enter here.

      Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данныхBack up to a new media set, and erase all existing backup sets

      Для этого параметра введите имя в текстовом поле Имя нового набора носителей и при необходимости введите описание набора носителей в текстовое поле Описание нового набора носителей .For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box. Дополнительные сведения см. в разделе Наборы носителей, семейства носителей и резервные наборы данных Sets (SQL Server).For more information, see Media Sets, Media Families, and Backup Sets (SQL Server).

  14. В разделе Надежность можно установить следующие флажки.In the Reliability section, optionally, check:

  15. В разделе Журнал транзакций можно установить следующие флажки.In the Transaction log section:

    • Для повседневного резервного копирования журналов оставьте вариант по умолчанию Обрезать журнал транзакций путем удаления неактивных записей.For routine log backups, keep the default selection, Truncate the transaction log by removing inactive entries.

    • Для создания резервной копии заключительного фрагмента журнала (т. е. активного журнала) отметьте параметр Выполнять резервное копирование заключительного фрагмента журнала, оставляя базу данных в состоянии восстановления.To back up the tail of the log (that is, the active log), check Back up the tail of the log, and leave database in the restoring state.

      Резервное копирование заключительного фрагмента журнала выполняется после сбоя, чтобы предотвратить потерю сделанной работы.A tail-log backup is taken after a failure to back up the tail of the log in order to prevent work loss. Резервное копирование активного журнала (резервное копирование заключительного фрагмента журнала) следует выполнять как после сбоя, так и перед началом восстановления базы данных, а также при сбое базы данных-получателя.Back up the active log (a tail-log backup) both after a failure, before beginning to restore the database, or when failing over to a secondary database. Выбор этого параметра равносилен применению параметра NORECOVERY в инструкции BACKUP LOG языка Transact-SQL.Selecting this option is equivalent to specifying the NORECOVERY option in the BACKUP LOG statement of Transact-SQL. Дополнительные сведения о резервных копиях заключительного фрагмента журнала см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

  16. При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие ) активен параметр Выгрузить ленту после резервного копирования .If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой .Clicking this option activates the Rewind the tape before unloading option.

  17. SQL Server 2008 EnterpriseSQL Server 2008 Enterprise и более поздние версии поддерживают сжатие резервных копий. and later supports backup compression. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default .By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. Однако независимо от текущего значения по умолчанию на уровне сервера можно сжать резервные копии, установив параметр Сжимать резервные копии, или отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    Просмотр текущих значений параметров по умолчанию для сжатия резервных копийTo view the current backup compression default

    ШифрованиеEncryption

    Для шифрования файла резервной копии установите флажок Зашифровать файл резервной копии .To encrypt the backup file check the Encrypt backup check box. Выберите алгоритм шифрования файла резервной копии и выберите сертификат или асимметричный ключ.Select an encryption algorithm to use for encrypting the backup file and provide a Certificate or Asymmetric key. Доступны следующие алгоритмы шифрования:The available algorithms for encryption are:

  • AES 128AES 128

  • AES 192AES 192

  • AES 256AES 256

  • Triple DESTriple DES

Резервное копирование с помощью T-SQLBack up using T-SQL

  1. Выполните инструкцию BACKUP LOG для создания резервной копии журнала транзакций, указав следующее:Execute the BACKUP LOG statement to back up the transaction log, specifying the following:

    • имя базы данных, которой принадлежит журнал транзакций, резервную копию которого необходимо создать;The name of the database to which the transaction log that you want to back up belongs.

    • Устройство резервного копирования, на которое записывается резервная копия журнала транзакций.The backup device where the transaction log backup is written.

Примеры (Transact-SQL)Example (Transact-SQL)

ВАЖНО!IMPORTANT!!! В этом примере используется база данных AdventureWorks2012AdventureWorks2012 , которая опирается на простую модель восстановления.This example uses the AdventureWorks2012AdventureWorks2012 database, which uses the simple recovery model. Чтобы разрешить создание резервных копий журналов, перед созданием полной резервной копии база данных должна быть настроена на использование модели полного восстановления.To permit log backups, before taking a full database backup, the database was set to use the full recovery model. Дополнительные сведения см. в разделе Просмотр или изменение модели восстановления базы данных (SQL Server).For more information, see View or Change the Recovery Model of a Database (SQL Server).

В этом примере создается резервная копия журнала транзакций для базы данных AdventureWorks2012AdventureWorks2012 на созданном ранее устройстве резервного копирования, имеющая имя MyAdvWorks_FullRM_log1.This example creates a transaction log backup for the AdventureWorks2012AdventureWorks2012 database to the previously created named backup device, MyAdvWorks_FullRM_log1.

BACKUP LOG AdventureWorks2012 TO MyAdvWorks_FullRM_log1; GO

Использование PowerShellUsing PowerShell

  1. Используйте командлет Backup-SqlDatabase и укажите Log в качестве значения параметра -BackupAction .Use the Backup-SqlDatabase cmdlet and specify Log for the value of the -BackupAction parameter.

    В следующем примере создается полная резервная копия журналов базы данных MyDB в заданном по умолчанию расположении резервного копирования на экземпляре сервера Computer\Instance.The following example creates a log backup of the MyDB database to the default backup location of the server instance Computer\Instance.

    --Enter this command at the PowerShell command prompt, C:\PS> Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log

    Настройка и использование поставщика SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Дополнительные сведенияMore information

BACKUP (Transact-SQL) BACKUP (Transact-SQL) Применение резервных копий журналов транзакций (SQL Server) Apply Transaction Log Backups (SQL Server) Планы обслуживания Maintenance Plans Полные резервные копии файлов (SQL Server)Full File Backups (SQL Server)

docs.microsoft.com

Устранение неполадок при переполнении журнала транзакций (ошибка 9002)

Эта документация перемещена в архив и не поддерживается.

В этом разделе описаны возможные действия при переполнении журнала транзакций, а также советы о том, как его избежать. Когда журнал транзакций переполняется, в компоненте SQL Server Database Engine происходит ошибка 9002. Журнал может заполниться, когда база данных работает в режиме «в сети» или находится в процессе восстановления. Если журнал заполняется, когда база данных находится в режиме «в сети», база данных остается в режиме «в сети», но доступной только для чтения, но не для обновления. Если журнал заполняется, когда база данных находится в процессе восстановления, компонент Database Engine помечает базу данных как RESOURCE PENDING. В любом случае необходимо вмешательство пользователя, чтобы сделать журнал транзакций доступным.

ПримечаниеПримечание

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

Ответные действия при переполнении журнала транзакций частично зависят от условий, которые вызвали переполнение журнала. Чтобы определить, что препятствует усечению журнала транзакций в конкретном случае, используйте столбцы log_reuse_wait и log_reuse_wait_desc представления каталога sys.database. Дополнительные сведения см. в разделе sys.databases (Transact-SQL). Описание причин, которые могут задержать усечение журнала, см. в разделе Факторы, могущие вызвать задержку усечения журнала.

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

Если при возникновении ошибки 9002 база данных находилась в состоянии восстановления, то после устранения проблемы восстановите базу данных с помощью инструкции ALTER DATABASE database_name SET ONLINE.

При переполнении журнала транзакций предусмотрены следующие ответные действия:

  • создание резервной копии журнала;

  • освобождение места на диске, чтобы журнал мог автоматически расти;

  • перемещение файла журнала на диск с достаточным объемом свободного места;

  • увеличение размера файла журнала;

  • добавление файла журнала на другой диск;

  • завершение или уничтожение длительной транзакции.

Эти возможности описаны в следующих разделах. Выберите ответное действие, наиболее подходящее в конкретной ситуации.

Создание резервной копии журнала

Для полных моделей восстановления и моделей с неполным протоколированием резервное копирование может предотвратить усечение журнала транзакций, если оно не было сделано недавно. Если резервная копия журнала создается в первый раз, необходимо сделать вторую резервную копию журнала, чтобы разрешить компоненту Database Engine усечение журнала до точки последнего резервного копирования. Усечение журнала освобождает пространство для новых записей журнала. Чтобы избежать повторного переполнения журнала, следует чаще выполнять резервное копирование.  

Создание резервной копии журнала транзакций

Освободите место на диске

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

Перемещение файла журнала на другой диск

Если на текущем диске невозможно освободить достаточное количество места, следует переместить файл на другой диск, где места достаточно.

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

Файлы журнала ни в коем случае не следует размещать в файловых системах со сжатием.

Перемещение файла журнала

Увеличение размера файла журнала

Если на диске, на котором находится журнал, доступно свободное место, можно увеличить размер файла журнала. Максимальный объем файлов журнала составляет 2 терабайта (ТБ) на файл журнала.

Увеличение размера файла

Если автоувеличение отключено, база данных находится в режиме «в сети» и на диске достаточно свободного места, выполните одно из следующих действий.

  • Вручную увеличьте размер файла для получения одного шага роста размера файла.

  • Включить свойство автоматического увеличения при помощи инструкции ALTER DATABASE, чтобы установить отличное от нуля значение шага роста для параметра FILEGROWTH.

ПримечаниеПримечание

В любом случае, если достигнут текущий предел размера файла, увеличьте значение MAXSIZE.

Добавление файла журнала на другой диск

Добавьте новый файл журнала базы данных на другом диске, где достаточно места, с помощью инструкции ALTER DATABASE <имя_базы_данных> ADD LOG FILE.

Добавление файла журнала

Идентификация и управление длительной транзакцией

Справочник
Основные понятия
Другие ресурсы

msdn.microsoft.com


Смотрите также

KDC-Toru | Все права защищены © 2018 | Карта сайта