Как применить резервную копию журналов транзакций (Transact-SQL). Ms sql очистка журнала транзакций
Использование резервных копий журнала транзакций (SQL Server)
- 06/13/2017
- Время чтения: 8 мин
-
Соавторы
В этой статье
Этот раздел относится только к модели полного восстановления и модели восстановления с неполным протоколированием.The topic is relevant only for the full recovery model or bulk-logged recovery model.
В этом разделе описано применение резервных копий журнала транзакции в процессе восстановления базы данных SQL ServerSQL Server .This topic describes applying transaction log backups as part of restoring a SQL ServerSQL Server database.
В этом разделе.In this Topic:
Требования к восстановлению резервных копий журналов транзакцийRequirements for Restoring Transaction Log Backups
Для применения резервной копии журнала транзакций необходимо выполнить следующие требования.To apply a transaction log backup, the following requirements must be met:
Достаточное количество резервных копий журналов для последовательности восстановления. Записей в резервных копиях журнала должно быть достаточно, чтобы провести полную последовательность восстановления.Enough Log Backups for a Restore Sequence : You must have enough log records backed up to complete a restore sequence. Необходимые резервные копии журнала, включая при необходимости резервные копии конца журнала , должны быть доступны перед запуском последовательности восстановления.The necessary log backups, including the tail-log backup where required, must be available before the start of the restore sequence.
Правильный порядок восстановления. Необходимо сначала восстановить последнюю полную или разностную резервную копию базы данных.Correct restore order: The immediately previous full database backup or differential database backup must be restored first. После этого в хронологическом порядке необходимо восстановить все журналы транзакций, созданные после указанной полной или разностной резервной копии.Then, all transaction logs that are created after that full or differential database backup must be restored in chronological order. Если резервная копия журнала транзакций в этой цепочке журналов утрачена или повреждена, то восстановить можно только журналы транзакций до отсутствующего журнала.If a transaction log backup in this log chain is lost or damaged, you can restore only transaction logs before the missing transaction log.
База данных еще не восстановлена. База данных не может быть восстановлена до тех пор, пока не применен последний журнал транзакций.Database not yet recovered: The database cannot be recovered until after the final transaction log has been applied. Если база данных восстанавливается после восстановления одной из промежуточных резервных копий журнала транзакций, расположенной перед концом цепочки журналов, базу данных после этой точки можно восстановить без перезапуска всей последовательности восстановления, начинающейся с полной резервной копии базы данных.If you recover the database after restoring one of the intermediate transaction log backups, that before the end of the log chain, you cannot restore the database past that point without restarting the complete restore sequence, starting with the full database backup.
Совет
Лучше всего восстановить все резервные журналы (RESTORE LOG имя_базы_данных WITH NORECOVERY).A best practice is to restore all the log backups (RESTORE LOG database_name WITH NORECOVERY). После восстановления последней резервной копии журнала восстановите базу данных отдельной операцией (RESTORE DATABASE имя_базы_данных WITH RECOVERY).Then, after restoring the last log backup, recover the database in a separate operation (RESTORE DATABASE database_name WITH RECOVERY).
Журналы восстановления и транзакцийRecovery and Transaction Logs
По завершении операции восстановления и восстановления базы данных будет произведен откат всех незавершенных транзакций.When you finish the restore operation and recover the database, recovery rolls back all incomplete transactions. Этот шаг называется стадией отката.This is known as the undo phase. Откат требуется для восстановления целостности базы данных.Rolling back is required to restore the integrity of the database. После отката база данных включается в режим «в сети», и больше никакие резервные копии журнала транзакций не могут быть применены.After rollback, the database goes online, and no more transaction log backups can be applied to the database.
Например, серия резервных копий журнала транзакций содержит долго выполняющуюся транзакцию.For example, a series of transaction log backups contain a long-running transaction. Начало транзакции записано в первой резервной копии журнала транзакций, а конец транзакции записан во второй резервной копии журнала транзакций.The start of the transaction is recorded in the first transaction log backup, but the end of the transaction is recorded in the second transaction log backup. В первой резервной копии журнала транзакций нет записи об операции фиксации или отката.There is no record of a commit or rollback operation in the first transaction log backup. Если операция восстановления запускается при применении первой резервной копии журнала транзакций, то долго выполняющаяся транзакция рассматривается как незавершенная, а изменения в данных, записанные в первой резервной копии журнала транзакций, будут отменены.If a recovery operation runs when the first transaction log backup is applied, the long-running transaction is treated as incomplete, and data modifications recorded in the first transaction log backup for the transaction are rolled back. SQL ServerSQL Server не позволяет применять вторую резервную копию журнала транзакций. does not allow for the second transaction log backup to be applied after this point.
Примечание
В некоторых обстоятельствах при восстановлении журнала можно явно добавить файл.In some circumstances, you can explicitly add a file during log restore.
Использование резервных копий журнала для восстановления до точки сбояUsing Log Backups to Restore to the Point of Failure
Предполагается такая последовательность событий.Assume the following sequence of events.
| 8:008:00 A.M. | Создание резервной копии базы данных для создания полной резервной копии базы данных.Back up database to create a full database backup. |
| ПолденьNoon | Резервное копирование журнала транзакций.Back up transaction log. |
| 16:004:00 P.M. | Резервное копирование журнала транзакций.Back up transaction log. |
| 18:006:00 P.M. | Создание резервной копии базы данных для создания полной резервной копии базы данных.Back up database to create a full database backup. |
| 20:008:00 P.M. | Резервное копирование журнала транзакций.Back up transaction log. |
| 21:459:45 P.M. | Произошел сбой.Failure occurs. |
Чтобы восстановить базу данных до ее состояния в 21:45To restore the database to its state at 9:45 P.M. (точка сбоя), может быть использована любая из следующих альтернативных процедур.(the point of failure), either of the following alternative procedures can be used:
Альтернативный способ 1. Восстановление базы данных с помощью последней полной резервной копии базы данныхAlternative 1: Restore the database by using the most recent full database backup
Создайте резервную копию заключительного фрагмента активного журнала транзакций на момент точки сбоя.Create a tail-log backup of the currently active transaction log as of the point of failure.
Не восстанавливайте полную резервную копию базы данных,Do not restore the 8:00 A.M. резервной копии базы данных от 18:00.full database backup. Вместо этого восстановите последнюю полную резервную копию, созданную в 18:00:00Instead, restore the more recent 6:00 P.M. а затем примените резервную копию журналаfull database backup, and then apply the 8:00 P.M. и резервную копию заключительного фрагмента журнала, созданные в 20:00:00.log backup and the tail-log backup.
Альтернативный способ 2. Восстановление базы данных с использованием более ранней полной резервной копии базы данныхAlternative 2: Restore the database by using an earlier full database backup
Примечание
Этот вариант можно использовать в том случае, если проблема не позволяет воспользоваться полнойThis alternative process is useful if a problem prevents you from using the 6:00 P.M. резервной копии базы данных от 18:00.full database backup. Этот процесс занимает больше времени, чем восстановление полнойThis process takes longer than restoring from the 6:00 P.M. резервной копии базы данных от 18:00.full database backup.
Создайте резервную копию заключительного фрагмента активного журнала транзакций на момент точки сбоя.Create a tail-log backup of the currently active transaction log as of the point of failure.
Восстановите полную резервную копиюRestore the 8:00 A.M. базы данных от 8:00, а затем последовательно восстановите все четыре резервные копии журнала транзакций.full database backup, and then restore all four transaction log backups in sequence. Это позволяет произвести накат всех завершенных транзакций вплоть до 21:45.This rolls forward all completed transactions up to 9:45 P.M.
Этот вариант указывает на избыточную безопасность, предлагаемую цепочкой резервных копий журнала транзакций в серии полных резервных копий базы данных.This alternative points out the redundant security offered by maintaining a chain of transaction log backups across a series of full database backups.
Использование резервной копии журнала транзакцийTo apply a transaction log backup
См. такжеSee Also
Журнал транзакций (SQL Server)The Transaction Log (SQL Server)
msdn.microsoft.com
Очистка журнала заданий | Microsoft Docs
- 06/25/2013
- Время чтения: 2 мин
В этой статье
В этом разделе описано, как удалить содержимое журнала заданий агента Microsoft SQL Server средствами SQL Server 2012 с помощью среды Среда SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server.
В этом разделе
Перед началом работы выполните следующие действия.
Безопасность
Для очистки журнала заданий используется:
Среда SQL Server Management Studio
Transact-SQL
Управляющие объекты SQL Server
Перед началом
Безопасность
Дополнительные сведения см. в разделе Обеспечение безопасности агента SQL Server.
[Top]
Использование среды SQL Server Management Studio
Очистка журнала заданий
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.
Раскройте узел Агент SQL Server, а затем узел Задания.
Щелкните правой кнопкой мыши задание и выберите Просмотреть журнал.
В Программе просмотра файла журнала выберите задание, журнал которого нужно очистить, и выполните одно из следующих действий.
В окне Удалить журнал нажмите кнопку Удалить, затем Удалить весь журнал. Можно удалить как весь журнал заданий, так и только записи, сделанные до указанной даты. Чтобы удалить весь журнал заданий, нажмите кнопку Удалить весь журнал. Чтобы удалить из журнала заданий записи определенной давности, нажмите кнопку Удалить журнал до и укажите дату.
Чтобы очистить журнал многосерверного задания, нажмите кнопку Состояние задания. Нажмите кнопку Задание, выберите имя задания, а затем выберите пункт Просмотреть удаленный журнал заданий.
Нажмите кнопку Удалить.
[Top]
Использование Transact-SQL
Очистка журнала заданий
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На панели «Стандартная» выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- example removes the history for a job named NightlyBackups. USE msdb ; GO EXEC dbo.sp_purge_jobhistory @job_name = N'NightlyBackups' ; GO
[Top]
Использование управляющих объектов SQL Server
Очистка журнала заданий
Вызовите метод PurgeJobHistory класса JobServer, используя выбранный язык программирования, например Visual Basic, Visual C# или PowerShell. Дополнительные сведения см. в разделе Использование управляющих объектов SQL Server (SMO).
[Top]
msdn.microsoft.com
Журнал транзакций (SQL Server) | Microsoft Docs
- 10/01/2013
- Время чтения: 7 мин
В этой статье
Каждая база данных SQL Server имеет журнал транзакций, в котором фиксируются все изменения данных, произведенные в каждой из транзакций. Журнал транзакций необходимо регулярно усекать, чтобы избежать его переполнения. Но при этом по ряду причин его усечение может быть отложено, поэтому очень важно следить за размером журнала. Некоторые операции можно выполнять с минимальным протоколированием, чтобы сократить их вклад в размер журнала транзакций.
Журнал транзакций является критическим компонентом базы данных и в случае системного сбоя может потребоваться для приведения базы данных в согласованное состояние. Журнал транзакций нельзя ни удалять, ни изменять, если только не известны возможные последствия.
Известные рабочие точки, от которых следует начинать применение журналов транзакций при восстановлении базы данных, создаются контрольными точками. Дополнительные сведения см. в разделе Контрольные точки базы данных (SQL Server). |
В этом разделе:
Преимущества Операции, поддерживаемые журналом транзакций
Усечение журнала транзакций
Факторы, которые могут вызвать задержку усечения журнала
Операции, для которых возможно минимальное протоколирование
Связанные задачи
Преимущества Операции, поддерживаемые журналом транзакций
Журнал транзакций поддерживает следующие операции:
восстановление отдельных транзакций;
восстановление всех незавершенных транзакций при запуске SQL Server;
накат восстановленной базы данных, файла, файловой группы или страницы до момента сбоя;
поддержка репликации транзакций;
Поддержка решений высокого уровня доступности и аварийного восстановления: Группы доступности AlwaysOn, зеркальное отображение базы данных и доставка журналов.
[В начало]
Усечение журнала транзакций
Процесс усечения журнала освобождает место в файле журнала для повторного использования журналом транзакций. Усечение журнала необходимо для предотвращения переполнения журнала. При усечении журнала удаляются неактивные виртуальные файлы журнала из логического журнала транзакций базы данных SQL Server, что приводит к освобождению пространства в логическом журнале для повторного использования физическим журналом транзакций. Если усечение журнала транзакций не выполняется, со временем он заполняет все доступное место на диске, отведенное для файлов физического журнала.
В целях предотвращения этой проблемы усечение журнала выполняется автоматически после следующих событий, за исключением тех случаев, когда оно по каким-то причинам задерживается.
В простой модели восстановления — после достижения контрольной точки.
Для моделей полного восстановления и моделей восстановления с неполным протоколированием, если контрольная точка была создана после предыдущего резервного копирования, усечение происходит после резервного копирования журнала (если только это не резервная копия журнала только для копирования).
Дополнительные сведения см. в подразделе Факторы, которые могут вызвать задержку усечения журнала ниже в этом разделе.
Усечение журнала не приводит к уменьшению размера физического файла журнала. Для уменьшения реального размера физического файла журнала необходимо выполнить его сжатие. Сведения о сжатии физического файла журнала см. в разделе Управление размером файла журнала транзакций. |
[В начало]
Факторы, которые могут вызвать задержку усечения журнала
Когда записи журнала остаются активными длительное время, усечение журнала транзакций откладывается и возникает вероятность переполнения журнала транзакций.
Усечение журнала может быть задержано из-за множества факторов. Чтобы определить причину, препятствующую усечению журнала транзакций в конкретном случае, выполните запрос по столбцам log_reuse_wait и log_reuse_wait_desc представления каталога sys.database. В следующей таблице описаны значения этих столбцов.
0 | NOTHING; | В данный момент существует один или более виртуальных файлов журнала, доступных для повторного использования. | |
1 | CHECKPOINT | С момента последнего усечения журнала не было новых контрольных точек, либо заголовок журнала не перемещался за пределы виртуального файла журнала. (Все модели восстановления) Это широко распространенная причина задержки усечения журнала. Дополнительные сведения см. в разделе Контрольные точки базы данных (SQL Server). | |
2 | LOG_BACKUP | Требуется выполнить резервное копирование журналов, поскольку лишь после этого журнал транзакций может быть усечен. (Только для моделей полного восстановления и моделей восстановления с неполным протоколированием) После завершения создания следующей резервной копии журнала некоторое пространство журнала может освободиться для повторного использования. | |
3 | ACTIVE_BACKUP_OR_RESTORE | Выполняется резервное копирование или восстановление данных (для всех моделей восстановления). Если усечению журнала препятствует резервное копирование данных, то проблему может решить отмена операции резервного копирования. | |
4 | ACTIVE_TRANSACTION | Активна одна из транзакций (для всех моделей восстановления).
| |
5 | DATABASE_MIRRORING | Зеркальное отображение базы данных приостановлено или в режиме высокой производительности зеркальная база данных намного отстает от основной. (Только для модели полного восстановления) Дополнительные сведения см. в разделе Зеркальное отображение базы данных (SQL Server). | |
6 | REPLICATION | Во время репликации транзакций в базу данных распространителя не доставляются транзакции, имеющие отношение к публикациям. (Только для модели полного восстановления) Дополнительные сведения о репликации транзакций см. в разделе Репликация SQL Server. | |
7 | DATABASE_SNAPSHOT_CREATION | Создается моментальный снимок базы данных. (Все модели восстановления) Это очень распространенная (и обычно кратковременная) причина задержки усечения журнала транзакций. | |
8 | LOG_SCAN | Производится просмотр журнала. (Все модели восстановления) Это очень распространенная (и обычно кратковременная) причина задержки усечения журнала транзакций. | |
9 | AVAILABILITY_REPLICA | Вторичная реплика группы доступности применяет записи журнала транзакций этой базы данных к соответствующей базе данных-получателю. (Модель полного восстановления) Дополнительные сведения см. в разделе Обзор групп доступности AlwaysOn (SQL Server). | |
10 | — | Только для внутреннего использования | |
11 | — | Только для внутреннего использования | |
12 | — | Только для внутреннего использования | |
13 | OLDEST_PAGE | Если база данных настроена для использования косвенных контрольных точек, самая старая страница в базе данных может быть старше контрольной точки с номером LSN. В этом случае самая старая страница может задержать усечение журнала. (Все модели восстановления) Дополнительные сведения о косвенных контрольных точках см. в разделе Контрольные точки базы данных (SQL Server). | |
14 | OTHER_TRANSIENT | Эта значение сейчас не используется. |
[В начало]
Операции, для которых возможно минимальное протоколирование
Минимальное протоколирование — это протоколирование только информации, необходимой для восстановления транзакции без поддержки восстановления на момент времени. В этом разделе определяются операции, которые подлежат минимальному протоколированию в модели восстановления с неполным протоколированием (как и в простой модели восстановления, кроме случаев, когда выполняется резервное копирование).
В модели полного восстановления все массовые операции полностью протоколируются. Однако для набора массовых операций можно использовать минимальное протоколирование, временно переключив базу данных на модель восстановления с неполным протоколированием во время массовых операций. Минимальное протоколирование более эффективно, чем полное, и снижает вероятность того, что во время массовой операции большого объема будет заполнено все доступное пространство журнала транзакций. Однако, если при включенном минимальном протоколировании база данных будет повреждена или потеряна, ее нельзя будет восстановить до точки сбоя. |
Следующие операции, выполняемые с полным протоколированием в модели полного восстановления, осуществляются с минимальным протоколированием в простой модели восстановления и модели восстановления с неполным протоколированием:
Операции массового импорта (bcp, BULK INSERT и INSERT... SELECT). Дополнительные сведения о том, когда массовый импорт в таблицу подлежит минимальному протоколированию, см. в разделе Предварительные условия для минимального ведения журнала массового импорта данных.
Примечание Если включена репликация транзакций, операции BULK INSERT полностью протоколируются даже в модели с неполным протоколированием.
Операции SELECT INTO.
Примечание Если включена репликация транзакций, операции SELECT INTO полностью протоколируются даже в модели восстановления с неполным протоколированием.
Частичные обновления типов данных с большими значениями с помощью предложений .WRITE инструкции UPDATE при вставке или добавлении новых данных. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений. Дополнительные сведения о больших типах-значениях см. в разделе Типы данных (Transact-SQL).
Инструкции WRITETEXT и UPDATETEXT при вставке или добавлении новых данных в столбцы с типом данных text, ntext и image. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений.
Примечание Инструкции WRITETEXT и UPDATETEXT являются устаревшими, поэтому следует избегать их использования в новых приложениях.
Если в базе данных используется простая модель восстановления или модель восстановления с неполным протоколированием, некоторые DDL-операции с индексом протоколируются в минимальном объеме при их выполнении как режиме «вне сети», так и в режиме «в сети». Минимально протоколируются следующие операции с индексами.
Операции CREATE INDEX (включая индексированные представления).
Операции ALTER INDEX REBUILD или DBCC DBREINDEX.
Примечание Инструкция DBCC DBREINDEX является устаревшей, поэтому следует избегать ее использования в новых приложениях.
Перестроение новой кучи DROP INDEX (если применимо).
Примечание Освобождение страниц индекса в ходе выполнения операции DROP INDEX всегда протоколируется полностью.
[В начало]
Связанные задачи
Managing the transaction log
Резервное копирование журнала транзакций (модель полного восстановления)
Восстановление журнала транзакций (модель полного восстановления)
[В начало]
См. также
Основные понятия
Предварительные условия для минимального ведения журнала массового импорта данных
Резервное копирование и восстановление баз данных SQL Server
Контрольные точки базы данных (SQL Server)
Просмотр или изменение свойств базы данных
Модели восстановления (SQL Server)
msdn.microsoft.com
Как применить резервную копию журналов транзакций (Transact-SQL)
- 12/15/2008
- Время чтения: 2 мин
В этой статье
Для применения резервной копии журнала транзакций к базе данных необходимо выполнение следующих условий.
Перед созданием самой последней полной или разностной резервной копии базы данных необходимо, чтобы в базе данных использовалась полная модель восстановления (или модель восстановления с неполным протоколированием).
В последовательности восстановления должен указываться параметр WITH NORECOVERY, если восстанавливаются ранние резервные копии.
Резервные копии журналов необходимо применять в порядке их создания, без разрывов в цепочке журналов. За исключением последней резервной копии журналов, необходимо использовать параметр WITH NORECOVERY следующим образом:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;При применении последней резервной копии журналов можно сделать следующее.
Восстановить базу данных в составе последней инструкции BACKUP LOG:
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GOПодождать, а затем восстановить базу данных отдельной инструкцией RESTORE DATABASE:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GOВ последнем случае можно проверить, восстановлены ли все нужные резервные копии журналов. Такой подход часто полезен при выполнении восстановления на момент времени.
| Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY. Это особенно важно учитывать при написании сценариев. |
Использование резервной копии журнала транзакций
Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:
- имя базы данных, к которой будет применен журнал транзакций;
- устройство резервного копирования, с которого будет восстановлена резервная копия журналов транзакций;
- предложение NORECOVERY.
В этой инструкции применяется следующая основная синтаксическая конструкция:
RESTORE LOG имя_базы_данных FROM <устройство_резервного_копирования> WITH NORECOVERY.
Здесь имя_базы_данных — имя базы данных, а <устройство_резервного_копирования>** — имя устройства, на котором содержится восстанавливаемая резервная копия журнала.
Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.
После восстановления из последовательности восстановления последней резервной копии базу данных следует восстановить при помощи следующей инструкции:
RESTORE имя_базы_данных WITH RECOVERY
Важно! При создании зеркальной базы данных этап восстановления можно пропустить. Зеркальная база данных должна остаться в состоянии RESTORING.
Пример
По умолчанию, база данных AdventureWorks пользуется простой моделью восстановления. В следующем примере для перехода на полную модель восстановления требуется изменить базу данных следующим образом:
ALTER DATABASE AdventureWorks SET RECOVERY FULLА. Применение единичной резервной копии журналов транзакций
В следующем примере база данных AdventureWorks восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks_1. Затем применяется первая резервная копия журнала транзакций, находящаяся на устройстве с именем AdventureWorks_log. В заключение происходит восстановление базы данных.
RESTORE DATABASE AdventureWorks FROM AdventureWorks_1 WITH NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 1, WITH NORECOVERY GO RESTORE DATABASE AdventureWorks WITH RECOVERY GOБ. Применение нескольких резервных копий журналов транзакций
В следующем примере база данных AdventureWorks восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks_1. Затем последовательно применяются первые три копии журнала транзакций, находящиеся на устройстве с именем AdventureWorks_log. В заключение происходит восстановление базы данных.
RESTORE DATABASE AdventureWorks FROM AdventureWorks_1 WITH NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 1, NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 2, WITH NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 3, WITH NORECOVERY GO RESTORE DATABASE AdventureWorks WITH RECOVERY GOСм. также
Задачи
Как восстановить резервную копию журнала транзакций (среда SQL Server Management Studio)Как выполнить восстановление на определенный момент времени (среда SQL Server Management Studio)Как создавать резервные копии журналов транзакций (Transact-SQL)Как восстановить базу данных до помеченной транзакции (среда SQL Server Management Studio)Как произвести восстановление до точки сбоя (Transact-SQL)Как выполнить восстановление на момент времени (Transact-SQL)
Основные понятия
Использование резервных копий журналов транзакций
Другие ресурсы
RESTORE (Transact-SQL)Учебник по среде SQL Server Management Studio
Справка и поддержка
Получение помощи по SQL Server 2005
msdn.microsoft.com
Очистка журнала заданий | Microsoft Docs
- 06/25/2013
- Время чтения: 2 мин
В этой статье
В этом разделе описано, как удалить содержимое журнала заданий агента Microsoft SQL Server средствами SQL Server 2012 с помощью среды Среда SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server.
В этом разделе
Перед началом работы выполните следующие действия.
Безопасность
Для очистки журнала заданий используется:
Среда SQL Server Management Studio
Transact-SQL
Управляющие объекты SQL Server
Перед началом
Безопасность
Дополнительные сведения см. в разделе Обеспечение безопасности агента SQL Server.
[Top]
Использование среды SQL Server Management Studio
Очистка журнала заданий
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.
Раскройте узел Агент SQL Server, а затем узел Задания.
Щелкните правой кнопкой мыши задание и выберите Просмотреть журнал.
В Программе просмотра файла журнала выберите задание, журнал которого нужно очистить, и выполните одно из следующих действий.
В окне Удалить журнал нажмите кнопку Удалить, затем Удалить весь журнал. Можно удалить как весь журнал заданий, так и только записи, сделанные до указанной даты. Чтобы удалить весь журнал заданий, нажмите кнопку Удалить весь журнал. Чтобы удалить из журнала заданий записи определенной давности, нажмите кнопку Удалить журнал до и укажите дату.
Чтобы очистить журнал многосерверного задания, нажмите кнопку Состояние задания. Нажмите кнопку Задание, выберите имя задания, а затем выберите пункт Просмотреть удаленный журнал заданий.
Нажмите кнопку Удалить.
[Top]
Использование Transact-SQL
Очистка журнала заданий
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На панели «Стандартная» выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- example removes the history for a job named NightlyBackups. USE msdb ; GO EXEC dbo.sp_purge_jobhistory @job_name = N'NightlyBackups' ; GO
[Top]
Использование управляющих объектов SQL Server
Очистка журнала заданий
Вызовите метод PurgeJobHistory класса JobServer, используя выбранный язык программирования, например Visual Basic, Visual C# или PowerShell. Дополнительные сведения см. в разделе Использование управляющих объектов SQL Server (SMO).
[Top]
msdn.microsoft.com
Очистка журнала заданий | Microsoft Docs
- 06/25/2013
- Время чтения: 2 мин
В этой статье
В этом разделе описано, как удалить содержимое журнала заданий агента Microsoft SQL Server средствами SQL Server 2012 с помощью среды Среда SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server.
В этом разделе
Перед началом работы выполните следующие действия.
Безопасность
Для очистки журнала заданий используется:
Среда SQL Server Management Studio
Transact-SQL
Управляющие объекты SQL Server
Перед началом
Безопасность
Дополнительные сведения см. в разделе Обеспечение безопасности агента SQL Server.
[Top]
Использование среды SQL Server Management Studio
Очистка журнала заданий
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.
Раскройте узел Агент SQL Server, а затем узел Задания.
Щелкните правой кнопкой мыши задание и выберите Просмотреть журнал.
В Программе просмотра файла журнала выберите задание, журнал которого нужно очистить, и выполните одно из следующих действий.
В окне Удалить журнал нажмите кнопку Удалить, затем Удалить весь журнал. Можно удалить как весь журнал заданий, так и только записи, сделанные до указанной даты. Чтобы удалить весь журнал заданий, нажмите кнопку Удалить весь журнал. Чтобы удалить из журнала заданий записи определенной давности, нажмите кнопку Удалить журнал до и укажите дату.
Чтобы очистить журнал многосерверного задания, нажмите кнопку Состояние задания. Нажмите кнопку Задание, выберите имя задания, а затем выберите пункт Просмотреть удаленный журнал заданий.
Нажмите кнопку Удалить.
[Top]
Использование Transact-SQL
Очистка журнала заданий
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На панели «Стандартная» выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- example removes the history for a job named NightlyBackups. USE msdb ; GO EXEC dbo.sp_purge_jobhistory @job_name = N'NightlyBackups' ; GO
[Top]
Использование управляющих объектов SQL Server
Очистка журнала заданий
Вызовите метод PurgeJobHistory класса JobServer, используя выбранный язык программирования, например Visual Basic, Visual C# или PowerShell. Дополнительные сведения см. в разделе Использование управляющих объектов SQL Server (SMO).
[Top]
msdn.microsoft.com
Как применить резервную копию журналов транзакций (Transact-SQL)
- 12/15/2008
- Время чтения: 2 мин
В этой статье
Для применения резервной копии журнала транзакций к базе данных необходимо выполнение следующих условий.
Перед созданием самой последней полной или разностной резервной копии базы данных необходимо, чтобы в базе данных использовалась полная модель восстановления (или модель восстановления с неполным протоколированием).
В последовательности восстановления должен указываться параметр WITH NORECOVERY, если восстанавливаются ранние резервные копии.
Резервные копии журналов необходимо применять в порядке их создания, без разрывов в цепочке журналов. За исключением последней резервной копии журналов, необходимо использовать параметр WITH NORECOVERY следующим образом:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;При применении последней резервной копии журналов можно сделать следующее.
Восстановить базу данных в составе последней инструкции BACKUP LOG:
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GOПодождать, а затем восстановить базу данных отдельной инструкцией RESTORE DATABASE:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GOВ последнем случае можно проверить, восстановлены ли все нужные резервные копии журналов. Такой подход часто полезен при выполнении восстановления на момент времени.
| Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY. Это особенно важно учитывать при написании сценариев. |
Использование резервной копии журнала транзакций
Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:
- имя базы данных, к которой будет применен журнал транзакций;
- устройство резервного копирования, с которого будет восстановлена резервная копия журналов транзакций;
- предложение NORECOVERY.
В этой инструкции применяется следующая основная синтаксическая конструкция:
RESTORE LOG имя_базы_данных FROM <устройство_резервного_копирования> WITH NORECOVERY.
Здесь имя_базы_данных — имя базы данных, а <устройство_резервного_копирования>** — имя устройства, на котором содержится восстанавливаемая резервная копия журнала.
Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.
После восстановления из последовательности восстановления последней резервной копии базу данных следует восстановить при помощи следующей инструкции:
RESTORE имя_базы_данных WITH RECOVERY
Важно! При создании зеркальной базы данных этап восстановления можно пропустить. Зеркальная база данных должна остаться в состоянии RESTORING.
Пример
По умолчанию, база данных AdventureWorks пользуется простой моделью восстановления. В следующем примере для перехода на полную модель восстановления требуется изменить базу данных следующим образом:
ALTER DATABASE AdventureWorks SET RECOVERY FULLА. Применение единичной резервной копии журналов транзакций
В следующем примере база данных AdventureWorks восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks_1. Затем применяется первая резервная копия журнала транзакций, находящаяся на устройстве с именем AdventureWorks_log. В заключение происходит восстановление базы данных.
RESTORE DATABASE AdventureWorks FROM AdventureWorks_1 WITH NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 1, WITH NORECOVERY GO RESTORE DATABASE AdventureWorks WITH RECOVERY GOБ. Применение нескольких резервных копий журналов транзакций
В следующем примере база данных AdventureWorks восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks_1. Затем последовательно применяются первые три копии журнала транзакций, находящиеся на устройстве с именем AdventureWorks_log. В заключение происходит восстановление базы данных.
RESTORE DATABASE AdventureWorks FROM AdventureWorks_1 WITH NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 1, NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 2, WITH NORECOVERY GO RESTORE LOG AdventureWorks FROM AdventureWorks_log WITH FILE = 3, WITH NORECOVERY GO RESTORE DATABASE AdventureWorks WITH RECOVERY GOСм. также
Задачи
Как восстановить резервную копию журнала транзакций (среда SQL Server Management Studio)Как выполнить восстановление на определенный момент времени (среда SQL Server Management Studio)Как создавать резервные копии журналов транзакций (Transact-SQL)Как восстановить базу данных до помеченной транзакции (среда SQL Server Management Studio)Как произвести восстановление до точки сбоя (Transact-SQL)Как выполнить восстановление на момент времени (Transact-SQL)
Основные понятия
Использование резервных копий журналов транзакций
Другие ресурсы
RESTORE (Transact-SQL)Учебник по среде SQL Server Management Studio
Справка и поддержка
Получение помощи по SQL Server 2005
msdn.microsoft.com













