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

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

Опрос

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

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

РКФ

 

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


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

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

Создание резервной копии журнала транзакций при повреждении базы данных (SQL Server). Ms sql журнал транзакций очистить


Журнал транзакций (SQL Server) | Microsoft Docs

  • 01/04/2017
  • Время чтения: 15 мин
  • Соавторы
    • mashathomas
    • olprod

В этой статье

Каждая база данных SQL ServerSQL Server имеет журнал транзакций, в котором фиксируются все транзакции и производимые ими в базе изменения.Every SQL ServerSQL Server database has a transaction log that records all transactions and the database modifications made by each transaction. Журнал транзакций необходимо регулярно усекать, чтобы избежать его переполнения.The transaction log must be truncated on a regular basis to keep it from filling up. Но при этом по ряду причин его усечение может быть отложено, поэтому очень важно следить за размером журнала.However, some factors can delay log truncation, so monitoring log size is important. Некоторые операции можно выполнять с минимальным протоколированием, чтобы сократить их вклад в размер журнала транзакций.Some operations can be minimally logged to reduce their impact on transaction log size.

Журнал транзакций является критическим компонентом базы данных и в случае системного сбоя может потребоваться для приведения базы данных в согласованное состояние.The transaction log is a critical component of the database and, if there is a system failure, the transaction log might be required to bring your database back to a consistent state. Журнал транзакций нельзя ни удалять, ни изменять, если только не известны возможные последствия.The transaction log should never be deleted or moved unless you fully understand the ramifications of doing this.

Примечание

Известные рабочие точки, от которых следует начинать применение журналов транзакций при восстановлении базы данных, создаются контрольными точками.Known good points from which to begin applying transaction logs during database recovery are created by checkpoints. Дополнительные сведения см. в разделе Контрольные точки базы данных (SQL Server).For more information, see Database Checkpoints (SQL Server).

В этом разделе.In this Topic:

Преимущества: Операции, поддерживаемые журналом транзакцийBenefits: Operations Supported by the Transaction Log

Журнал транзакций поддерживает следующие операции:The transaction log supports the following operations:

  • восстановление отдельных транзакций;Recovery of individual transactions.

  • восстановление всех незавершенных транзакций при запуске SQL ServerSQL Server ;Recovery of all incomplete transactions when SQL ServerSQL Server is started.

  • накат восстановленной базы данных, файла, файловой группы или страницы до момента сбоя;Rolling a restored database, file, filegroup, or page forward to the point of failure.

  • поддержка репликации транзакций;Supporting transactional replication.

  • Поддержка решений высокой уровня доступности и аварийного восстановления: Группы доступности AlwaysOnAlways On Availability Groups, зеркальное отображение базы данных и доставка журналов.Supporting high availability and disaster recovery solutions: Группы доступности AlwaysOnAlways On Availability Groups, database mirroring, and log shipping.

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

Процесс усечения журнала освобождает место в файле журнала для повторного использования журналом транзакций.Log truncation frees space in the log file for reuse by the transaction log. Усечение журнала необходимо для предотвращения переполнения журнала.Log truncation is essential to keep the log from filling. При усечении журнала удаляются неактивные виртуальные файлы журнала из логического журнала транзакций базы данных SQL ServerSQL Server , что приводит к освобождению пространства в логическом журнале для повторного использования физическим журналом транзакций.Log truncation deletes inactive virtual log files from the logical transaction log of a SQL ServerSQL Server database, freeing space in the logical log for reuse by the Physical transaction log. Если усечение журнала транзакций не выполняется, со временем он заполняет все доступное место на диске, отведенное для файлов физического журнала.If a transaction log were never truncated, it would eventually fill all the disk space that is allocated to its physical log files.

В целях предотвращения этой проблемы усечение журнала выполняется автоматически после следующих событий, за исключением тех случаев, когда оно по каким-то причинам задерживается.To avoid this problem, unless log truncation is being delayed for some reason, truncation occurs automatically after the following events:

  • В простой модели восстановления — после достижения контрольной точки.Under the simple recovery model, after a checkpoint.

  • Для моделей полного восстановления и моделей восстановления с неполным протоколированием, если контрольная точка была создана после предыдущего резервного копирования, усечение происходит после резервного копирования журнала (если только это не резервная копия журнала только для копирования).Under the full recovery model or bulk-logged recovery model, if a checkpoint has occurred since the previous backup, truncation occurs after a log backup (unless it is a copy-only log backup).

    Дополнительные сведения см. в подразделе Факторы, которые могут вызвать задержку усечения журналаниже в этом разделе.For more information, see Factors That Can Delay Log Truncation, later in this topic.

Примечание

Усечение журнала не приводит к уменьшению размера физического файла журнала.Log truncation does not reduce the size of the physical log file. Для уменьшения реального размера физического файла журнала необходимо выполнить его сжатие.To reduce the physical size of a physical log file, you need to shrink the log file. Сведения о сжатии физического файла журнала см. в разделе Управление размером файла журнала транзакций.For information about shrinking the size of the physical log file, see Manage the Size of the Transaction Log File.

Факторы, которые могут задержать усечение журналаFactors That Can Delay Log Truncation

Когда записи журнала остаются активными длительное время, усечение журнала транзакций откладывается и возникает вероятность переполнения журнала транзакций.When log records remain active for a long time transaction log truncation is delayed, and potentially the transaction log can fill up.

Усечение журнала может быть задержано из-за множества факторов.Log truncation can be delayed by a variety of factors. Чтобы определить причину, препятствующую усечению журнала транзакций в конкретном случае, выполните запрос по столбцам log_reuse_wait и log_reuse_wait_desc представления каталога sys.database .You can discover what, if anything, is preventing log truncation by querying the log_reuse_wait and log_reuse_wait_desc columns of the sys.databases catalog view. В следующей таблице описаны значения этих столбцов.The following table describes the values of these columns.

Значение столбца log_reuse_waitlog_reuse_wait value Значение столбца log_reuse_wait_desclog_reuse_wait_desc value ОписаниеDescription
00 NOTHING;NOTHING В данный момент существует один или более виртуальных файлов журнала, доступных для повторного использования.Currently there are one or more reusable virtual log files.
11 CHECKPOINTCHECKPOINT С момента последнего усечения журнала не было новых контрольных точек, либо заголовок журнала не перемещался за пределы виртуального файла журнала.No checkpoint has occurred since the last log truncation, or the head of the log has not yet moved beyond a virtual log file. (Все модели восстановления)(All recovery models)

Это широко распространенная причина задержки усечения журнала.This is a routine reason for delaying log truncation. Дополнительные сведения см. в разделе Контрольные точки базы данных (SQL Server).For more information, see Database Checkpoints (SQL Server).

22 LOG_BACKUPLOG_BACKUP Требуется выполнить резервное копирование журналов, поскольку лишь после этого журнал транзакций может быть усечен.A log backup is required before the transaction log can be truncated. (Только для моделей полного восстановления и моделей восстановления с неполным протоколированием)(Full or bulk-logged recovery models only)

После завершения создания следующей резервной копии журнала некоторое пространство журнала может освободиться для повторного использования.When the next log backup is completed, some log space might become reusable.

33 ACTIVE_BACKUP_OR_RESTOREACTIVE_BACKUP_OR_RESTORE Выполняется резервное копирование или восстановление данных (для всех моделей восстановления).A data backup or a restore is in progress (all recovery models).

Если усечению журнала препятствует резервное копирование данных, то проблему может решить отмена операции резервного копирования.If a data backup is preventing log truncation, canceling the backup operation might help the immediate problem.

44 ACTIVE_TRANSACTIONACTIVE_TRANSACTION Активна одна из транзакций (для всех моделей восстановления).A transaction is active (all recovery models).

Во время начала создания резервной копии журнала может существовать длительная транзакция.A long-running transaction might exist at the start of the log backup. В этом случае, чтобы освободить пространство, может потребоваться создание другой резервной копии журнала.In this case, freeing the space might require another log backup. Обратите внимание на то, что длительные транзакции предотвратить усечение журнала во всех моделях восстановления, включая простой модели восстановления, в которой журнал транзакций обычно усекается на каждой автоматической контрольной точке.Note that a long-running transactions prevent log truncation under all recovery models, including the simple recovery model, under which the transaction log is generally truncated on each automatic checkpoint.

Транзакция отложена.A transaction is deferred. Отложенная транзакция — это активная транзакция, откат которой был заблокирован по причине недоступности какого-либо ресурса.A deferred transaction is effectively an active transaction whose rollback is blocked because of some unavailable resource. Дополнительные сведения о причинах, вызывающих появление отложенных транзакций, и о том, как их можно вывести из такого состояния, см. в статье Отложенные транзакции (SQL Server).For information about the causes of deferred transactions and how to move them out of the deferred state, see Deferred Transactions (SQL Server).

Длительные транзакции также могут переполнить журнал транзакций базы данных tempdb.Long-running transactions might also fill up tempdb's transaction log. Пользовательские транзакции неявно используют базу данных tempdb для внутренних объектов, например для сортировки рабочих таблиц, хэширования рабочих файлов, перемещения рабочих таблиц и управления версиями строк.Tempdb is used implicitly by user transactions for internal objects such as work tables for sorting, work files for hashing, cursor work tables, and row versioning. Даже если пользовательская транзакция включает в себя только считывает данные (запросы SELECT), внутренние объекты могут быть созданы и использованы в пользовательских транзакциях.Even if the user transaction includes only reading data (SELECT queries), internal objects may be created and used under user transactions. В результате журнал транзакций базы данных tempdb может быть заполнен.Then the tempdb transaction log can be filled.

55 DATABASE_MIRRORINGDATABASE_MIRRORING Зеркальное отображение базы данных приостановлено или в режиме высокой производительности зеркальная база данных намного отстает от основной.Database mirroring is paused, or under high-performance mode, the mirror database is significantly behind the principal database. (Только для модели полного восстановления)(Full recovery model only)

Дополнительные сведения см. в статье Зеркальное отображение базы данных (SQL Server).For more information, see Database Mirroring (SQL Server).

66 REPLICATIONREPLICATION Во время репликации транзакций в базу данных распространителя не доставляются транзакции, имеющие отношение к публикациям.During transactional replications, transactions relevant to the publications are still undelivered to the distribution database. (Только для модели полного восстановления)(Full recovery model only)

Дополнительные сведения о репликации транзакций см. в разделе SQL Server Replication.For information about transactional replication, see SQL Server Replication.

77 DATABASE_SNAPSHOT_CREATIONDATABASE_SNAPSHOT_CREATION Создается моментальный снимок базы данных.A database snapshot is being created. (Все модели восстановления)(All recovery models)

Это очень распространенная (и обычно кратковременная) причина задержки усечения журнала транзакций.This is a routine, and typically brief, cause of delayed log truncation.

88 LOG_SCANLOG_SCAN Производится просмотр журнала.A log scan is occurring. (Все модели восстановления)(All recovery models)

Это очень распространенная (и обычно кратковременная) причина задержки усечения журнала транзакций.This is a routine, and typically brief, cause of delayed log truncation.

99 AVAILABILITY_REPLICAAVAILABILITY_REPLICA Вторичная реплика группы доступности применяет записи журнала транзакций этой базы данных к соответствующей базе данных-получателю.A secondary replica of an availability group is applying transaction log records of this database to a corresponding secondary database. (Модель полного восстановления)(Full recovery model)

Дополнительные сведения см. в разделе Обзор групп доступности AlwaysOn (SQL Server).For more information, see Overview of AlwaysOn Availability Groups (SQL Server).

1010 —— Только для внутреннего примененияFor internal use only
1111 —— Только для внутреннего примененияFor internal use only
1212 —— Только для внутреннего примененияFor internal use only
1313 OLDEST_PAGEOLDEST_PAGE Если база данных настроена для использования косвенных контрольных точек, самая старая страница в базе данных может быть старше контрольной точки с номером LSN.If a database is configured to use indirect checkpoints, the oldest page on the database might be older than the checkpoint LSN. В этом случае самая старая страница может задержать усечение журнала.In this case, the oldest page can delay log truncation. (Все модели восстановления)(All recovery models)

Сведения о косвенных контрольных точках см. в статье Database Checkpoints (SQL Server).For information about indirect checkpoints, see Database Checkpoints (SQL Server).

1414 OTHER_TRANSIENTOTHER_TRANSIENT Эта значение сейчас не используется.This value is currently not used.
1616 XTP_CHECKPOINTXTP_CHECKPOINT Если база данных содержит оптимизированную для памяти файловую группу, журнал транзакций может не усекаться до автоматического В-памяти OLTPIn-Memory OLTP контрольная точка срабатывает (что происходит на каждые 512 МБ рост журнала).When a database has a memory-optimized filegroup, the transaction log may not truncate until automatic В-памяти OLTPIn-Memory OLTP checkpoint is triggered (which happens at every 512 MB of log growth).

Примечание: Для усечения журнала транзакций до 512 МБ размер, запускать команду Checkpoint вручную в базе данных в вопросе.Note: To truncate transaction log before 512 MB size, fire the Checkpoint command manually against the database in question.

Операции, которые можно применять минимальное протоколированиеOperations That Can Be Minimally Logged

Минимальное протоколирование — это протоколирование только информации, необходимой для восстановления транзакции без поддержки восстановления на момент времени.Minimal logging involves logging only the information that is required to recover the transaction without supporting point-in-time recovery. В этом разделе определяются операции, которые подлежат минимальному протоколированию в модели восстановления с неполным протоколированием (как и в простой модели восстановления, кроме случаев, когда выполняется резервное копирование).This topic identifies the operations that are minimally logged under the bulk-logged recovery model (as well as under the simple recovery model, except when a backup is running).

Примечание

Минимальное протоколирование не поддерживается для оптимизированных для памяти таблиц.Minimal logging is not supported for memory-optimized tables.

Примечание

В модели полного восстановления все массовые операции полностью протоколируются.Under the full recovery model, all bulk operations are fully logged. Однако для набора массовых операций можно использовать минимальное протоколирование, временно переключив базу данных на модель восстановления с неполным протоколированием во время массовых операций.However, you can minimize logging for a set of bulk operations by switching the database to the bulk-logged recovery model temporarily for bulk operations. Минимальное протоколирование более эффективно, чем полное, и снижает вероятность того, что во время массовой операции большого объема будет заполнено все доступное пространство журнала транзакций.Minimal logging is more efficient than full logging, and it reduces the possibility of a large-scale bulk operation filling the available transaction log space during a bulk transaction. Однако, если при включенном минимальном протоколировании база данных будет повреждена или потеряна, ее нельзя будет восстановить до точки сбоя.However, if the database is damaged or lost when minimal logging is in effect, you cannot recover the database to the point of failure.

Следующие операции, выполняемые с полным протоколированием в модели полного восстановления, осуществляются с минимальным протоколированием в простой модели восстановления и модели восстановления с неполным протоколированием:The following operations, which are fully logged under the full recovery model, are minimally logged under the simple and bulk-logged recovery model:

  • Операции массового импорта (bcp, BULK INSERT и INSERT... SELECT).Bulk import operations (bcp, BULK INSERT, and INSERT... SELECT). Дополнительные сведения о том, когда массовый импорт в таблицу подлежит минимальному протоколированию, см. в разделе Prerequisites for Minimal Logging in Bulk Import.For more information about when bulk import into a table is minimally logged, see Prerequisites for Minimal Logging in Bulk Import.

    Примечание

    Если включена репликация транзакций, операции BULK INSERT полностью протоколируются даже в модели с неполным протоколированием.When transactional replication is enabled, BULK INSERT operations are fully logged even under the Bulk Logged recovery model.

  • Операции SELECT INTO .SELECT INTO operations.

    Примечание

    Если включена репликация транзакций, операции SELECT INTO полностью протоколируются даже в модели восстановления с неполным протоколированием.When transactional replication is enabled, SELECT INTO operations are fully logged even under the Bulk Logged recovery model.

  • Частичные обновления типов данных с большими значениями с помощью предложений .WRITE инструкции UPDATE при вставке или добавлении новых данных.Partial updates to large value data types, using the .WRITE clause in the UPDATE statement when inserting or appending new data. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений.Note that minimal logging is not used when existing values are updated. Дополнительные сведения о больших типах-значениях см. в статье Типы данных (Transact-SQL).For more information about large value data types, see Data Types (Transact-SQL).

  • WRITETEXT и UPDATETEXT при вставке или добавлении новых данных в text, ntext, и image столбцы с типом данных.WRITETEXT and UPDATETEXT statements when inserting or appending new data into the text, ntext, and image data type columns. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений.Note that minimal logging is not used when existing values are updated.

    Примечание

    Инструкции WRITETEXT и UPDATETEXT являются устаревшими, поэтому следует избегать их использования в новых приложениях.The WRITETEXT and UPDATETEXT statements are deprecated, so you should avoid using them in new applications.

  • Если в базе данных используется простая модель восстановления или модель восстановления с неполным протоколированием, некоторые DDL-операции с индексом протоколируются в минимальном объеме при их выполнении как режиме «вне сети», так и в режиме «в сети».If the database is set to the simple or bulk-logged recovery model, some index DDL operations are minimally logged whether the operation is executed offline or online. Минимально протоколируются следующие операции с индексами.The minimally logged index operations are as follows:

    • ОперацииCREATE INDEX (включая индексированные представления).CREATE INDEX operations (including indexed views).

    • ОперацииALTER INDEX REBUILD или DBCC DBREINDEX.ALTER INDEX REBUILD or DBCC DBREINDEX operations.

      Примечание

      Инструкция DBCC DBREINDEX является устаревшей, поэтому следует избегать ее использования в новых приложениях.The DBCC DBREINDEX statement is deprecated so you should avoid using it in new applications.

    • Перестроение новой кучи DROP INDEX (если применимо).DROP INDEX new heap rebuild (if applicable).

      Примечание

      Освобождение страниц во время индекса DROP INDEX операции всегда полностью протоколируются.Index page deallocation during a DROP INDEX operation is always fully logged.

Managing the transaction log

См. такжеSee Also

Управление устойчивостью транзакций Control Transaction Durability Предварительные условия для минимального протоколирования массового импорта данных Prerequisites for Minimal Logging in Bulk Import Резервное копирование и восстановление баз данных SQL Server Back Up and Restore of SQL Server Databases Контрольные точки базы данных (SQL Server) Database Checkpoints (SQL Server) Просмотр или изменение свойств базы данных View or Change the Properties of a Database Модели восстановления (SQL Server)Recovery Models (SQL Server)

msdn.microsoft.com

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

  • 06/13/2017
  • Время чтения: 7 мин
  • Соавторы
    • mashathomas
    • olprod

В этой статье

В некоторых случаях может быть полезным физическое сжатие или расширение физического файла журнала транзакций из журнала SQL ServerSQL Server базы данных.In some cases, it can be useful to physically shrink or expand the physical log file of the transaction log of a SQL ServerSQL Server database. В данном разделе содержатся сведения о мониторинге размера журнала транзакций SQL ServerSQL Server , сжатии журнала транзакций, добавлении или увеличении файла журнала транзакций, оптимизации скорости роста журнала транзакций tempdb , а также об управлении размером файла журнала транзакций.This topic contains information about how to monitor the size of a SQL ServerSQL Server transaction log, shrink the transaction log, add 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

Контролировать используемое пространство журнала можно с помощью процедуры DBCC SQLPERF (LOGSPACE).You can monitor log space use by using DBCC SQLPERF (LOGSPACE). Она возвращает сведения об объеме пространства, используемого журналом в данный момент, и указывает, если необходимо провести усечение журнала транзакций.This command returns information about the amount of log space currently used and indicates when the transaction log is in need of truncation. Дополнительные сведения см. в разделе DBCC SQLPERF (Transact-SQL).For more information, see DBCC SQLPERF (Transact-SQL). Для получения сведений о текущем размере файла журнала, его максимальном размере и параметре автоматического увеличения файла вы можете также использовать столбцы size, max_size и growth для данного файла журнала в представлении sys.database_files.For information about the current size of a log file, 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. Дополнительные сведения см. в разделе sys.database_files (Transact-SQL).For more information, see sys.database_files (Transact-SQL).

Важно!

Рекомендуется избегать переполнения диска, содержащего журналы.We recommend that you avoid overloading the log disk.

Уменьшение размера файла журналаShrink the Size of the Log File

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

Примечание

Такие факторы, как долго выполняемые транзакции, удерживающие файлы журналов в активном состоянии в течение продолжительного периода времени, могут ограничить или вовсе не допустить возможность сжатия журнала.Factors, such as a long-running transaction, that keep virtual log files active for an extended period can restrict log shrinkage or even prevent the log from shrinking at all. Дополнительные сведения о факторах, из-за которых усечение журнала может откладываться, см. в разделе Журнал транзакций (SQL Server).For information about factors that can delay log truncation, see The Transaction Log (SQL Server).

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

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

Примечание

Можно задать автоматическое выполнение сжатия файлов базы данных и журнала.Shrinking database and log files can be set to occur automatically. Однако автоматическое сжатие не рекомендуется, поэтому свойство autoshrink базы данных по умолчанию имеет значение FALSE.However, we recommend against automatic shrinking, and the autoshrink database property is set to FALSE by default. Если свойство autoshrink имеет значение TRUE, то автоматическое сжатие уменьшит размер файла только в том случае, если неиспользуемое пространство занимает более 25 % от общего объема.If autoshrink is set to TRUE, automatic shrinking reduces the size of a file only when more than 25 percent of its space is unused. Файл будет сжат либо до размера, в котором 25 % пространства не используется, либо до исходного размера, каким бы большим он ни был.The file is shrunk either to the size at which only 25 percent of the file is unused space or to the original size of the file, whichever is larger. Сведения об изменении параметра autoshrink свойство, см. в разделе Просмотр или изменение свойств базы данных— использовать Auto Shrink свойство параметрыстраницы — или параметры ALTER DATABASE SET (Transact-SQL)— использование параметра AUTO_SHRINK.For information about changing the setting of the autoshrink property, see View or Change the Properties of a Database—use the Auto Shrink property on the Options page—or ALTER DATABASE SET Options (Transact-SQL)—use the AUTO_SHRINK option.

Добавление или увеличение размера файла журналаAdd or Enlarge a Log File

Кроме того, можно выделить дополнительное место на диске путем увеличения существующего файла журнала (если для этого достаточно места на диске) либо путем добавления файла журнала в базу данных, как правило, на другом диске.Alternatively, 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.

  • Файл журнала добавляется в базу данных с помощью предложения 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).

Оптимизация размера журнала транзакций tempdbOptimize the Size of the tempdb Transaction Log

При перезапуске экземпляра сервера размер журнала транзакций базы данных 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 the Growth of a Transaction Log File

Для управления размером файла журнала транзакций вы можете использовать инструкцию ALTER DATABASE (Transact-SQL).You can use the ALTER DATABASE (Transact-SQL) 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. Небольшое значение параметра автоувеличения прироста размера файла журнала может снизить производительность системы.A small autogrowth increment on a log file can reduce performance. Во избежание слишком частых увеличений размера файла журнала следует задать достаточно большое значение шагу роста файла журнала.The file growth increment on a log file should be sufficiently large to avoid frequent expansion. Как правило, достаточно установить значение увеличения шага роста равным 10 %.The default growth increment of 10 percent is generally suitable.

    Сведения об изменении свойства прироста на файл журнала, см. в разделе ALTER DATABASE (Transact-SQL).For information on changing the file-growth property on a log file, see ALTER DATABASE (Transact-SQL).

  • Чтобы установить максимальный размер файла журнала в КБ, МБ, ГБ и ТБ или задать неограниченный размер, используйте параметр 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.

См. такжеSee Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL) Устранение неполадок при переполнении журнала транзакций (ошибка SQL Server 9002)Troubleshoot a Full Transaction Log (SQL Server Error 9002)

msdn.microsoft.com

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

  • 06/13/2017
  • Время чтения: 12 мин
  • Соавторы
    • MikeRayMSFT
    • olprod

В этой статье

В этой теме описывается резервное копирование журнала транзакций в случае, если база данных повреждена в SQL Server 2014SQL Server 2014 . Для этого используется Среда SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL.This topic describes how to back up a transaction log when the database is damaged in SQL Server 2014SQL Server 2014 by using Среда SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

В этом разделеIn This Topic

Перед началомBefore You Begin

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

  • Инструкция BACKUP не разрешена в явных и неявных транзакциях.The BACKUP statement is not allowed in an explicit or implicit transaction.

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

  • В базе данных, использующей модель полного восстановления или модель восстановления с неполным протоколированием, в большинстве случаев требуется, чтобы перед восстановлением базы данных была создана резервная копия заключительного фрагмента журнала.For a database that uses either the full or bulk-logged recovery model, you generally need to back up the tail of the log before beginning to restore the database. Также необходимо выполнить резервное копирование заключительного фрагмента журнала базы данных-источника перед переходом на другой ресурс конфигурации доставки журналов.You also should back up the tail of the log of the primary database before failing over a log shipping configuration. Восстановление резервной копии заключительного фрагмента журнала в качестве заключительной резервной копии перед восстановлением базы данных позволяет избежать потери работы после сбоя.Restoring the tail-log backup as the final log backup before recovering the database avoids work loss after a failure. Дополнительные сведения о резервных копиях заключительного фрагмента журнала см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

безопасностьSecurity

PermissionsPermissions

Разрешения BACKUP DATABASE и BACKUP LOG назначены по умолчанию членам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator .BACKUP DATABASE and BACKUP LOG permissions 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. Проблемы физического файла устройства резервного копирования могут не проявляться до момента доступа к физическому ресурсу во время операции резервного копирования или восстановления.Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Создание резервной копии заключительного фрагмента журнала транзакцийTo back up the tail of the transaction log
  1. После соединения с соответствующим экземпляром компонента MicrosoftMicrosoft Компонент SQL Server Database EngineSQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув его имя.After connecting to the appropriate instance of the MicrosoftMicrosoft Компонент 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. Оставьте снятым флажок Резервная копия только для копирования .Leave Copy Only Backup deselected.

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

  9. Введите описание резервной копии заключительного фрагмента журнала в текстовом поле Описание .In the Description text box, enter a description for the tail-log backup.

  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. Чтобы выбрать тип назначения резервной копии, выберите пункт Диск или Лента.Choose the type of backup destination by clicking Disk 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. На странице Параметры выберите параметр Переписать носитель , указав один из следующих вариантов.On the Options page, 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.

      При необходимости выберите Проверить имя набора носителей и срок действия резервного набора данных , чтобы при выполнении операции резервного копирования производилась проверка срока действия набора носителей и резервного набора данных.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.

      Сведения о параметрах набора носителей см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).For more information about media set options, see Media Sets, Media Families, and Backup Sets (SQL Server).

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

  14. В разделе Журнал транзакций установите флажок Создать резервную копию заключительного фрагмента журнала и оставить базу данных в состоянии восстановления.In the Transaction log section, check Back up the tail of the log, and leave database in the restoring state.

    Это эквивалентно следующей инструкции BACKUP :This is equivalent to specifying the following BACKUP statement:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

    Важно!

    Во время восстановления в диалоговом окне "Восстановление базы данных" тип резервной копии заключительного фрагмента журнала отображается как Журнал транзакций (только копия).At restore time, the Restore Database dialog box displays the type of a tail-log backup as Transaction Log (Copy Only).

  15. При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие ) активен параметр Выгрузить ленту после резервного копирования .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.

  16. 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

Использование Transact-SQLUsing Transact-SQL

Создание резервной копии активного журнала транзакцийTo create a backup of the currently active transaction log
  1. Для создания резервной копии активного журнала транзакций выполните инструкцию BACKUP LOG, указав:Execute the BACKUP LOG statement to back up the currently active transaction log, specifying:

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

    • устройство резервного копирования, на котором будет создана резервная копия журнала транзакций;The backup device where the transaction log backup will be written.

    • предложение NO_TRUNCATE.The NO_TRUNCATE clause.

      Это предложение позволяет выполнить резервное копирование активной части журнала транзакций, даже если база данных недоступна, при условии, что файл журнала транзакций доступен и не поврежден.This clause allows the active part of the transaction log to be backed up even if the database is inaccessible, provided that the transaction log file is accessible and undamaged.

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

Примечание

В этом примере используется метод AdventureWorks2012AdventureWorks2012, который опирается на простую модель восстановления.This example uses the AdventureWorks2012AdventureWorks2012, 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).

В этом примере выполняется резервное копирование активного журнала транзакций, когда база данных повреждена и недоступна, однако журнал транзакций не поврежден и доступен.This example backs up the currently active transaction log when a database is damaged and inaccessible, if the transaction log is undamaged and accessible.

BACKUP LOG AdventureWorks2012 TO MyAdvWorks_FullRM_log1 WITH NO_TRUNCATE; GO

См. такжеSee Also

Восстановление резервной копии журнала транзакций (SQL Server) Restore a Transaction Log Backup (SQL Server) Восстановление базы данных SQL Server до определенного момента времени (модель полного восстановления) Restore a SQL Server Database to a Point in Time (Full Recovery Model) Резервное копирование базы данных (страница "Параметры резервного копирования") Back Up Database (Backup Options Page) Резервное копирование базы данных (страница "Общие") Back Up Database (General Page) Применение резервных копий журналов транзакций (SQL Server) Apply Transaction Log Backups (SQL Server) BACKUP (Transact-SQL) BACKUP (Transact-SQL) Восстановление файлов (простая модель восстановления) File Restores (Simple Recovery Model) Файлы из резервных копий (модель полного восстановления)File Restores (Full Recovery Model)

msdn.microsoft.com

Восстановить журнал транзакций (страница «Параметры»)

  • 12/15/2008
  • Время чтения: 2 мин

В этой статье

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

Восстановление журнала транзакций в среде SQL Server Management Studio

ms177167.note(ru-ru,SQL.90).gifПримечание.
Если задача восстановления выполняется в среде SQL Server Management Studio, можно создать соответствующий сценарий RESTORE на языке Transact-SQL, нажав кнопку Сценарий и выбрав место назначения для этого сценария.

Параметры

  • Сохранить настройки репликацииСохраняет настройки репликации при восстановлении опубликованной базы данных не на том сервере, где эта база данных была создана.

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

    Выбор параметра Сохранить настройки репликации равнозначен использованию параметра PRESERVE_REPLICATION инструкции RESTORE языка Transact-SQL.

  • Выдавать запрос перед восстановлением каждой резервной копииЗапрашивает подтверждение, прежде чем восстанавливать каждый резервный набор данных.

    Этот параметр особенно полезен, когда приходится менять ленты для различных наборов носителей (например, если на сервере только одно ленточное устройство).

  • Ограничить доступ к восстановленной базе данныхДоступ к восстановленной базе данных будет только у пользователей с правами db_owner, dbcreator или sysadmin.

    Выбор этой функции равнозначен использованию параметра RESTRICTED_USER инструкции RESTORE языка Transact-SQL.

  • Оставить базу данных готовой к использованию, выполнив откат незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. (RESTORE WITH RECOVERY)Восстанавливает базу данных. Этот параметр равнозначен параметру RECOVERY в инструкции RESTORE языка Transact-SQL.
  • Оставить базу данных в нерабочем состоянии и не производить откат незавершенных транзакций. Можно восстановить дополнительные журналы транзакций. (RESTORE WITH NORECOVERY)Оставляет базу данных в невосстановленном состоянии. Этот параметр равнозначен использованию параметра NORECOVERY в инструкции RESTORE языка Transact-SQL.

    При выборе этого параметра параметр Сохранить настройки репликации становится недоступным.

  • Оставляет базу данных в режиме «только для чтения». Отменить незафиксированные транзакции, но сохранить отмененные действия в файле, чтобы иметь возможность отменить результаты восстановления. (RESTORE WITH STANDBY)Оставляет базу данных в резервном состоянии. Этот параметр равнозначен использованию параметра STANDBY в инструкции RESTORE языка Transact-SQL.

    При выборе этого параметра необходимо указать резервный файл.

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

См. также

Другие ресурсы

Аргументы инструкции RESTORE (Transact-SQL)Основные сведения о журналах транзакций и управлении имиИспользование резервных копий журналов транзакций

Справка и поддержка

Получение помощи по SQL Server 2005

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

      В последнем случае можно проверить, восстановлены ли все нужные резервные копии журналов. Такой подход часто полезен при выполнении восстановления на момент времени.

ms187607.note(ru-ru,SQL.90).gifВажно!
Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY. Это особенно важно учитывать при написании сценариев.

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

  1. Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:

    • имя базы данных, к которой будет применен журнал транзакций;
    • устройство резервного копирования, с которого будет восстановлена резервная копия журналов транзакций;
    • предложение NORECOVERY.

    В этой инструкции применяется следующая основная синтаксическая конструкция:

    RESTORE LOG имя_базы_данных FROM <устройство_резервного_копирования> WITH NORECOVERY.

    Здесь имя_базы_данных — имя базы данных, а <устройство_резервного_копирования>** — имя устройства, на котором содержится восстанавливаемая резервная копия журнала.

  2. Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.

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

    RESTORE имя_базы_данных WITH RECOVERY

    ms187607.note(ru-ru,SQL.90).gifВажно!
    При создании зеркальной базы данных этап восстановления можно пропустить. Зеркальная база данных должна остаться в состоянии 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

Восстановление журнала транзакций (страница «Общие»)

  • 12/15/2008
  • Время чтения: 2 мин

В этой статье

Эта страница позволяет задать данные о базе данных-источнике и базе данных-получателе для операции восстановления журнала транзакций.

Восстановление журнала транзакций в среде SQL Server Management Studio

ms188107.note(ru-ru,SQL.90).gifПримечание.
Если задача восстановления выполняется в среде SQL Server Management Studio, можно создать соответствующий сценарий RESTORE на языке Transact-SQL, нажав кнопку Сценарий и выбрав место назначения для этого сценария.

Параметры

  • База данныхВыберите имя базы данных, которая находится в состоянии восстановления. Список включает все базы данных на сервере, за исключением системных баз данных master и tempdb.
  • Из предыдущих резервных копий базы данныхВыберите имя базы данных, резервные копии журналов которой нужно восстановить. Эти сведения берутся из журнала резервного копирования в базе данных msdb на сервере. Если журнал резервного копирования удален или восстановление выполняется с другого сервера, необходимо использовать параметр Файл или Лента.
  • Из файла или с лентыНажмите кнопку обзора (...), чтобы выбрать один или несколько файлов или накопителей на магнитной ленте в качестве источника резервной копии журналов транзакций.
  • Выбрать резервные копии журналов транзакций для восстановленияВыводит сетку со списком резервных копий журналов транзакций, доступных для выделенной базы данных. Резервная копия журналов доступна только в том случае, если ее первый номер LSN больше, чем последний номер LSN базы данных. Резервные копии журналов перечислены в порядке регистрационных номеров транзакций в журнале, и должны восстанавливаться именно в таком порядке.

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

    Заголовок Значения

    Восстановление

    Установленные флажки обозначают резервные наборы данных, отмеченные для восстановления.

    Имя

    Имя резервного набора данных.

    Компонент

    Компонент, сохраненный в резервной копии: База данных, Файл или <пусто> (для журналов транзакций).

    База данных

    Имя базы данных, участвовавшей в операции резервного копирования.

    Дата начала

    Дата и время начала операции резервного копирования, представленные в региональных настройках клиента.

    Дата завершения

    Дата и время окончания операции резервного копирования, представленные в региональных настройках клиента.

    Первый номер LSN

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

    Последний номер LSN

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

    Номер LSN для контрольной точки

    Регистрационный номер транзакции в журнале для последней контрольной точки во время создания резервной копии.

    Полный номер LSN

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

    Сервер

    Имя экземпляра ядра СУБД, выполнившего операцию резервного копирования.

    Имя пользователя

    Имя пользователя, выполнившего операцию резервного копирования.

    Размер

    Размер резервного набора данных в байтах.

    Положение

    Расположение резервного набора данных в томе.

    Истечение срока

    Дата и время истечения срока действия резервного набора данных.

  • На момент времениВосстановить самую последнюю резервную копию базы данных или копию на определенный момент времени. Значение по умолчанию: Самый последний. Для указания конкретного момента времени нажмите кнопку обзора (...).

    Дата и время указываются в региональных настройках клиента.

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

См. также

Другие ресурсы

Как выполнить восстановление на момент времени (Transact-SQL)Как произвести восстановление до точки сбоя (Transact-SQL)Как просмотреть содержимое ленты или файла резервной копии (среда SQL Server Management Studio)Как просмотреть свойства и содержимое логического устройства резервного копирования (среда SQL Server Management Studio)Восстановление базы данных на момент времени в пределах резервной копииОсновные сведения о журналах транзакций и управлении имиИспользование резервных копий журналов транзакций

Справка и поддержка

Получение помощи по SQL Server 2005

msdn.microsoft.com

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

  • 06/25/2013
  • Время чтения: 6 мин

В этой статье

В этой теме описывается резервное копирование журнала транзакций в случае, если база данных повреждена в SQL Server 2012. Для этого используется Среда SQL Server Management Studio или Transact-SQL.

В этом разделе

  • Перед началом работы выполните следующие действия.

    Ограничения

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

    Безопасность

  • Создание резервной копии журнала транзакций при повреждении базы данных при помощи:

    Среда SQL Server Management Studio

    Transact-SQL

Перед началом

Ограничения

  • Инструкция BACKUP не разрешена в явных и неявных транзакциях.

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

  • В базе данных, использующей модель полного восстановления или модель восстановления с неполным протоколированием, в большинстве случаев требуется, чтобы перед восстановлением базы данных была создана резервная копия заключительного фрагмента журнала. Также необходимо выполнить резервное копирование заключительного фрагмента журнала базы данных-источника перед переходом на другой ресурс конфигурации доставки журналов. Восстановление резервной копии заключительного фрагмента журнала в качестве заключительной резервной копии перед восстановлением базы данных позволяет избежать потери работы после сбоя. Дополнительные сведения о резервном копировании заключительного фрагмента журнала см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).

Безопасность

Разрешения

Разрешения BACKUP DATABASE и BACKUP LOG предоставлены по умолчанию членам предопределенной роли сервера sysadmin, а также членам предопределенных ролей базы данных db_owner и db_backupoperator.

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование среды SQL Server Management Studio

Создание резервной копии заключительного фрагмента журнала транзакций

  1. После соединения с соответствующим экземпляром компонента Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера, щелкнув его имя.

  2. Раскройте узел Базы данных и в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем выберите команду Создать резервную копию. Откроется диалоговое окно Резервное копирование базы данных.

  4. В списке База данных проверьте имя базы данных. При необходимости можно выбрать другую базу данных из списка.

  5. Убедитесь в том, что используется либо модель восстановления FULL или BULK_LOGGED.

  6. Выберите Журнал транзакций в списке Тип резервного копирования.

  7. Оставьте снятым флажок Резервная копия только для копирования.

  8. В области Набор резервного копирования оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя, или введите другое имя резервного набора данных.

  9. Введите описание резервной копии заключительного фрагмента журнала в текстовом поле Описание.

  10. Укажите, когда истекает срок действия резервного набора данных.

    • Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания. Это значение может быть задано в диапазоне от 0 до 99999 дней 0 означает, что срок действия резервного набора данных не ограничен.

      Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней): диалогового окна Свойства сервера (страница Параметры базы данных). Для этого щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите его свойства, затем выберите страницу Параметры базы данных.

    • Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт На, и введите дату истечения срока действия резервного набора данных.

  11. Чтобы выбрать тип назначения резервной копии, выберите пункт Диск или Лента. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить. Выбранные пути отображаются в списке Создать резервную копию в.

    Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.

  12. На странице Параметры выберите параметр Переписать носитель, указав один из следующих вариантов.

    • Создать резервную копию в существующем наборе носителей

      Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных.

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

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

      Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.

    • Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных

      Для этого параметра введите имя в текстовое поле Имя нового набора носителей и, при необходимости, введите описание набора носителей в поле Описание нового набора носителей.

    Дополнительные сведения о параметрах установки носителя см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).

  13. В разделе Надежность можно установить следующие флажки.

    • Проверить резервную копию после завершения.

    • Рассчитать контрольную сумму перед записью на носитель.

    • Продолжить при ошибке контрольной суммы

    Дополнительные сведения о контрольных суммах см. в разделе Возможные ошибки носителей во время резервного копирования и восстановления (SQL Server).

  14. В разделе Журнал транзакций установите флажок Создать резервную копию заключительного фрагмента журнала и оставить базу данных в состоянии восстановления.

    Это эквивалентно следующей инструкции BACKUP:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

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

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

  15. При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие) активен параметр Выгрузить ленту после резервного копирования. Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой.

  16. SQL Server 2008 Enterprise и более поздние версии поддерживают сжатие резервных копий. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default. Однако, независимо от текущего значения по умолчанию на уровне сервера, можно сжать резервные копии, установив параметр Сжимать резервные копии, и отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование Transact-SQL

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

Пример (Transact-SQL)

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

В этом примере используется метод AdventureWorks2012 , который опирается на простую модель восстановления. Чтобы разрешить создание резервных копий журналов, перед созданием полной резервной копии база данных должна быть настроена на использование модели полного восстановления. Дополнительные сведения см. в разделе Просмотр или изменение модели восстановления базы данных (SQL Server).

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

BACKUP LOG AdventureWorks2012 TO MyAdvWorks_FullRM_log1 WITH NO_TRUNCATE; GO

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

Резервное копирование базы данных (страница «Параметры»)

Резервное копирование базы данных (страница «Общие»)

BACKUP (Transact-SQL)

Основные понятия

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

Восстановление базы данных SQL Server до определенного момента времени (модель полного восстановления)

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

Восстановления файлов (простая модель восстановления)

Файлы из резервных копий (модель полного восстановления)

msdn.microsoft.com


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