-
Notifications
You must be signed in to change notification settings - Fork 2
38. Журналирование в SQL Server
Каждая база данных SQL Server имеет журнал транзакций, в котором фиксируются все изменения данных, произведенные в каждой из транзакций. Журнал транзакций необходимо регулярно усекать, чтобы избежать его переполнения. Но при этом по ряду причин его усечение может быть отложено, поэтому очень важно следить за размером журнала. Некоторые операции можно выполнять с минимальным протоколированием, чтобы сократить их вклад в размер журнала транзакций.
Журнал транзакций является критическим компонентом базы данных и в случае системного сбоя может потребоваться для приведения базы данных в согласованное состояние. Журнал транзакций нельзя ни удалять, ни изменять, если только не известны возможные последствия.
- восстановление отдельных транзакций;
- восстановление всех незавершенных транзакций при запуске SQL Server;
- накат восстановленной базы данных, файла, файловой группы или страницы до момента сбоя;
- поддержка репликации транзакций;
- Поддержка решений высокого уровня доступности и аварийного восстановления: Группы доступности AlwaysOn, зеркальное отображение базы данных и доставка журналов.
Журнал ошибок сервера SQL Server позволяет убедиться, что процессы были завершены успешно (например, операции резервного копирования и восстановления, пакеты команд или другие сценарии и процессы). Это полезно при определении любых текущих или потенциальных проблем, включая сообщения автоматического восстановления (особенно если экземпляр SQL Server был остановлен и перезапущен), сообщения ядра и другие сообщения об ошибках на уровне сервера.
По умолчанию журнал ошибок содержится в файлах Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG и ERRORLOG.n.
Новый журнал ошибок создается при каждом запуске экземпляра сервера SQL Server, хотя циклическую смену журнала ошибок можно организовать при помощи системной хранимой процедуры sp_cycle_errorlog без перезапуска экземпляра сервера SQL Server. Обычно сервер SQL Server хранит резервные копии шести предыдущих журналов и присваивает наиболее свежей копии расширение «.1», следующей расширение «.2» и т. д. Файл текущего журнала ошибок расширения не имеет.