SlideShare une entreprise Scribd logo
1  sur  39
Transaction Log – How it works.
Виталий Попович
Разработчик баз данных
Intapp
Say Thank you to Volunteers:
 They spend their FREE time to give you this
event.
 Because they are love our COMMUNITY.
 Because they want YOU
to learn from the BEST IN THE WORLD.
 If you see one of these guys in the hall – buy
them a beer/wine, they deserve it.
Vitaliy Popovych
Olena Smoliak
Maksim Garnets
Yevhen Nedashkivskyi
Oksana Borysenko
3 Sponsor Sessions at 12:30
 Don’t miss them, they might be
providing some interesting and
valuable information!
 Bakotech (Dell) – Room “AE”
 Intapp – Room “F”
 DevArt – Room “Lazurny”
Our Sponsors:
Содержание
 Что такое журнал транзакций и для чего он
нужен?
 Как работает журнал транзакций?
 Из чего состоит журнал транзакций?
 Ошибки при работе с журналом
транзакций.
 Лучшие практики.
Что такое журнал транзакций?
В журнале транзакций фиксируются все
изменения данных, произведенные в каждой из
транзакций.
Файл данных
*.mdf
Файл журнала транзакций
*.ldf
Транзакция
Транзакция это - набор из одной или нескольких
операций с базой данных, которые
обрабатываются как одно целое.
Элементарная еденица работы с базой данных
Соблюдение принципов ACID
 Atomicity (атомарность транзакций)
 Consistency (согласованность данных)
 Isolation (изоляция транзакций)
 Durability (устойчивость транзакций)
Гарантия корректной и надежной работы транзакций.
A - Atomicity
Атомарность транзакций
Если транзакция выполняется успешно, все ее
изменения сохраняются. Если нет – все
изменения полностью отменяются.
“Все или ничего!”
C - Consistency
Согласованность данных
Обрабатываемые транзакцией данные никогда
не будут в промежуточном или несогласованном
состоянии.
Данные которые затрагивает команда UPDATE,
изменяющая десять записей, будут видны либо в
первоначальном, либо в конечном состоянии.
I - Isolation
Изолированность
Транзакция является изолированной если она не
воздействует на другие параллельные
транзакции, и они на нее не воздействуют тоже.
Изоляция препятствует получению транзакцией
неправдивых или неполных данных, которые в данный
момент обрабатываются другой транзакцией.
D - Durability
Устойчивость
Транзакция считается устойчивой, если она
может завершиться, несмотря на системный
сбой, или, в случае незафиксированной
транзакции, может быть полностью отменена.
Rolled forward – накатка транзакции
Rolled back – откат транзакции
Для чего он нужен?
На журнал транзакций ложиться работа по
обеспечению атомарности транзакций
(Atomicity) и живучасти транзакций (Durability).
Так же он принимает участие в обеспечении
согласованности транзакций (Consistency), в
случае если транзакция откатывается.
Для чего он нужен?
Журнал транзакций поддерживает
следующие операции:
 восстановление транзакций;
 восстановление всех незавершенных транзакций
при запуске SQL Server;
 поддержка репликации транзакций;
 поддержка решений высокого уровня доступности
и аварийного восстановления: Группы
доступности AlwaysOn, зеркальное отображение
базы данных.
Как работает журнал транзакций?
UPDATE [Table] SET column1 = 10 WHERE column2 LIKE '%Text%';
База данных
Журнал транзакций
Buffer Pool
1) Страницы данных из Table
считываются с диска в память
(Buffer Pool)
Как работает журнал транзакций?
UPDATE [Table] SET column1 = 10 WHERE column2 LIKE '%Text%';
База данных
Журнал транзакций
Buffer Pool
2) Запускается неявная транзакция.
3) Эти три страницы блокируются для
выполнения обновлений.
4) Изменения вносятся в страницах
данных, находящихся в памяти.
Как работает журнал транзакций?
UPDATE [Table] SET column1 = 10 WHERE column2 LIKE '%Text%';
База данных
Журнал транзакций
Buffer Pool
5) Изменения записываются также в
записи журнала транзакций на диске.
6) Автоматически закрывается неявная
транзакция.
Как работает журнал транзакций?
Когда же данные попадают в файл данных?
Страницы данных будут записаны на диск при следующей операции
контрольной точки (Checkpoint) или если память, занимаемая ими в
буферном пуле, потребуется для другой страницы.
SQL Server пытается запустить процесс контрольной точки всякий раз
когда журнал транзакций заполняется более чем на 70 процентов, или
при получении ошибки переполнения журнала транзакций, а также
при останове SQL Server (если используется SHUTDOWN WITH
NOWAIT)
Записываются все измененные (грязные) страницы!
Checkpoint
UNDO – откат всех
изменений до
первоначального
состояния.
REDO – повтор всех
изменений
Контрольная точка создает надежную точку, с которой SQL Server Database
Engine может начать применение изменений, содержащихся в журнале,
после непредвиденного отключения или аварии.
Из чего он состоит?
Физически, файл журнала транзакций, состоит из
виртуальных файлов - Virtual Log Files (VLF’s)
Размер журнала
транзакций
Кол-во VLF
64Mb 4 VLF’s
>64Mb <=1Gb 8 VLF’s
>1Gb 16 VLF’s
Как работают VLF
VLF1 VLF2 VLF3 VLF4 VLF5
Начало лога Конец лога
Checkpoint
Когда файл VLF заполняется, процедура ведения
журнала автоматически переходит к следующему VLF в
журнале транзакций.
Как работают VLF
VLF1 VLF2 VLF3 VLF4 VLF5
Начало лога
Конец лога
Неактивные VLF отбрасываются и могут быть перезаписанны.
 Транзакция, частью которой является эта запись, зафиксирована.
 Все страницы базы данных, которые она изменила, записаны на диск
процедурой контрольной точки.
 Данная запись журнала не требуется для резервного копирования
(полного, выборочного или журнала).
 Эта запись журнала не требуется никакому компоненту, читающему
журнал (например, средству зеркального отображения базы данных или
репликации)
Как работают VLF
VLF1 VLF2 VLF3 VLF4 VLF5
Конец лога
Начало лога
Усечение журнала транзакций
Процесс усечения журнала освобождает место в файле
журнала для повторного использования журналом
транзакций.
Усечение журнала необходимо для предотвращения
переполнения журнала.
Когда выполняется усечение?
Усечение журнала выполняется автоматически после
следующих событий:
 В простой модели восстановления — после контрольной точки.
 Для моделей полного восстановления и моделей восстановления с
неполным протоколированием, если контрольная точка была
создана после предыдущего резервного копирования, усечение
происходит после резервного копирования журнала.
Усечение журнала не приводит к уменьшению размера физического
файла журнала
Демонстрация
Virtual Log Files
Логический вид
…
Log Sequence Numbers (LSN)
00000021:00000018:0001
VLF number: Log Block Offset: Slot Number
4 байта : 4 байта : 2 байта
VLF number – номер виртуального файла
Log Block Offset – сдвиг внутри VLF
Slot Number – номер слота
Общие ошибки
Журнал транзакций растет и заполняет диск!
 Если выбрана модель востановления FULL и
не делаются бекапы логов;
 Старые (долгие) незафиксированные
транзакции;
Демонстрация
Full Transaction Log
Long Transaction
Лучшие практики
Не создавайте несколько файлов журналов,
поскольку это не приводит к выигрышу в
производительности.
Файл журнала транзакций это файл с последовательным
доступом, и SQL Server не пишет в несколько файлов
одновременно.
Лучшие практики
Храните файл журнала транзакций на
отдельном диске.
В этом случае есть больше шансов востановления БД после сбоя.
Так же это эффективнее с точки знения I/O (нагрузки на дисковую
подсистему)
Вопросы?
Спасибо за внимание!
Email: vitaliy.popovych@outlook.com
Skype: vitalik.popovych
www.facebook.com/vitaliy.popovich.911
www.twitter.com/PopovychVitaliy

Contenu connexe

En vedette

تفسير اسماء الله لعبدالرحمن ناصر السعدي
تفسير اسماء الله لعبدالرحمن ناصر السعديتفسير اسماء الله لعبدالرحمن ناصر السعدي
تفسير اسماء الله لعبدالرحمن ناصر السعدي
فهد الجباري
 
السيرة النبوية دروس وعبر
السيرة النبوية دروس وعبرالسيرة النبوية دروس وعبر
السيرة النبوية دروس وعبر
فهد الجباري
 
وقفات مع السبع المثاني - للشيخ سلمان العودة
وقفات مع السبع المثاني - للشيخ سلمان العودةوقفات مع السبع المثاني - للشيخ سلمان العودة
وقفات مع السبع المثاني - للشيخ سلمان العودة
فهد الجباري
 

En vedette (14)

Dallas Techologies
Dallas TechologiesDallas Techologies
Dallas Techologies
 
Covington
CovingtonCovington
Covington
 
Dallas technologiesreviews
Dallas technologiesreviewsDallas technologiesreviews
Dallas technologiesreviews
 
SEO
SEOSEO
SEO
 
dallas technologies reviews
dallas technologies reviewsdallas technologies reviews
dallas technologies reviews
 
Dallas technologies
Dallas technologiesDallas technologies
Dallas technologies
 
Html5
Html5Html5
Html5
 
UA Presents 2014-15 Season Preview
UA Presents 2014-15 Season PreviewUA Presents 2014-15 Season Preview
UA Presents 2014-15 Season Preview
 
Sharepoint
SharepointSharepoint
Sharepoint
 
تفسير اسماء الله لعبدالرحمن ناصر السعدي
تفسير اسماء الله لعبدالرحمن ناصر السعديتفسير اسماء الله لعبدالرحمن ناصر السعدي
تفسير اسماء الله لعبدالرحمن ناصر السعدي
 
SQL Saturday 406 - Key Range Locking
SQL Saturday 406 - Key Range LockingSQL Saturday 406 - Key Range Locking
SQL Saturday 406 - Key Range Locking
 
السيرة النبوية دروس وعبر
السيرة النبوية دروس وعبرالسيرة النبوية دروس وعبر
السيرة النبوية دروس وعبر
 
revised CV 2016 final
revised CV 2016 finalrevised CV 2016 final
revised CV 2016 final
 
وقفات مع السبع المثاني - للشيخ سلمان العودة
وقفات مع السبع المثاني - للشيخ سلمان العودةوقفات مع السبع المثاني - للشيخ سلمان العودة
وقفات مع السبع المثاني - للشيخ سلمان العودة
 

Similaire à SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)

Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требований
JaneKozmina
 
028
028028
028
JIuc
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 

Similaire à SQL Saturday #377 Kyiv 2015 (Transaction log – how it works) (20)

Traditional relational databases architecture
Traditional relational databases architectureTraditional relational databases architecture
Traditional relational databases architecture
 
вебинар транзакционные блокировки
вебинар транзакционные блокировкивебинар транзакционные блокировки
вебинар транзакционные блокировки
 
DB REPLICATION
DB REPLICATIONDB REPLICATION
DB REPLICATION
 
Отчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитикиОтчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитики
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
 
DATA EXCHANGE
DATA EXCHANGEDATA EXCHANGE
DATA EXCHANGE
 
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)Джентльменский набор сисадмина / Антон Турецкий (Badoo)
Джентльменский набор сисадмина / Антон Турецкий (Badoo)
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Базы данных лекция №9
Базы данных лекция №9Базы данных лекция №9
Базы данных лекция №9
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требований
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S Optimizations
 
InterBase XE7: Применение Change Views для синхронизации данных
InterBase XE7: Применение Change Views для синхронизации данныхInterBase XE7: Применение Change Views для синхронизации данных
InterBase XE7: Применение Change Views для синхронизации данных
 
DevHub 3 - CVS
DevHub 3 - CVSDevHub 3 - CVS
DevHub 3 - CVS
 
Tfs reports customization
Tfs reports customizationTfs reports customization
Tfs reports customization
 
028
028028
028
 
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 

Dernier

Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 

Dernier (9)

Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 

SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)

  • 1. Transaction Log – How it works. Виталий Попович Разработчик баз данных Intapp
  • 2. Say Thank you to Volunteers:  They spend their FREE time to give you this event.  Because they are love our COMMUNITY.  Because they want YOU to learn from the BEST IN THE WORLD.  If you see one of these guys in the hall – buy them a beer/wine, they deserve it.
  • 8. 3 Sponsor Sessions at 12:30  Don’t miss them, they might be providing some interesting and valuable information!  Bakotech (Dell) – Room “AE”  Intapp – Room “F”  DevArt – Room “Lazurny”
  • 10. Содержание  Что такое журнал транзакций и для чего он нужен?  Как работает журнал транзакций?  Из чего состоит журнал транзакций?  Ошибки при работе с журналом транзакций.  Лучшие практики.
  • 11. Что такое журнал транзакций? В журнале транзакций фиксируются все изменения данных, произведенные в каждой из транзакций. Файл данных *.mdf Файл журнала транзакций *.ldf
  • 12. Транзакция Транзакция это - набор из одной или нескольких операций с базой данных, которые обрабатываются как одно целое. Элементарная еденица работы с базой данных
  • 13. Соблюдение принципов ACID  Atomicity (атомарность транзакций)  Consistency (согласованность данных)  Isolation (изоляция транзакций)  Durability (устойчивость транзакций) Гарантия корректной и надежной работы транзакций.
  • 14. A - Atomicity Атомарность транзакций Если транзакция выполняется успешно, все ее изменения сохраняются. Если нет – все изменения полностью отменяются. “Все или ничего!”
  • 15. C - Consistency Согласованность данных Обрабатываемые транзакцией данные никогда не будут в промежуточном или несогласованном состоянии. Данные которые затрагивает команда UPDATE, изменяющая десять записей, будут видны либо в первоначальном, либо в конечном состоянии.
  • 16. I - Isolation Изолированность Транзакция является изолированной если она не воздействует на другие параллельные транзакции, и они на нее не воздействуют тоже. Изоляция препятствует получению транзакцией неправдивых или неполных данных, которые в данный момент обрабатываются другой транзакцией.
  • 17. D - Durability Устойчивость Транзакция считается устойчивой, если она может завершиться, несмотря на системный сбой, или, в случае незафиксированной транзакции, может быть полностью отменена. Rolled forward – накатка транзакции Rolled back – откат транзакции
  • 18. Для чего он нужен? На журнал транзакций ложиться работа по обеспечению атомарности транзакций (Atomicity) и живучасти транзакций (Durability). Так же он принимает участие в обеспечении согласованности транзакций (Consistency), в случае если транзакция откатывается.
  • 19. Для чего он нужен? Журнал транзакций поддерживает следующие операции:  восстановление транзакций;  восстановление всех незавершенных транзакций при запуске SQL Server;  поддержка репликации транзакций;  поддержка решений высокого уровня доступности и аварийного восстановления: Группы доступности AlwaysOn, зеркальное отображение базы данных.
  • 20. Как работает журнал транзакций? UPDATE [Table] SET column1 = 10 WHERE column2 LIKE '%Text%'; База данных Журнал транзакций Buffer Pool 1) Страницы данных из Table считываются с диска в память (Buffer Pool)
  • 21. Как работает журнал транзакций? UPDATE [Table] SET column1 = 10 WHERE column2 LIKE '%Text%'; База данных Журнал транзакций Buffer Pool 2) Запускается неявная транзакция. 3) Эти три страницы блокируются для выполнения обновлений. 4) Изменения вносятся в страницах данных, находящихся в памяти.
  • 22. Как работает журнал транзакций? UPDATE [Table] SET column1 = 10 WHERE column2 LIKE '%Text%'; База данных Журнал транзакций Buffer Pool 5) Изменения записываются также в записи журнала транзакций на диске. 6) Автоматически закрывается неявная транзакция.
  • 23. Как работает журнал транзакций? Когда же данные попадают в файл данных? Страницы данных будут записаны на диск при следующей операции контрольной точки (Checkpoint) или если память, занимаемая ими в буферном пуле, потребуется для другой страницы. SQL Server пытается запустить процесс контрольной точки всякий раз когда журнал транзакций заполняется более чем на 70 процентов, или при получении ошибки переполнения журнала транзакций, а также при останове SQL Server (если используется SHUTDOWN WITH NOWAIT) Записываются все измененные (грязные) страницы!
  • 24. Checkpoint UNDO – откат всех изменений до первоначального состояния. REDO – повтор всех изменений Контрольная точка создает надежную точку, с которой SQL Server Database Engine может начать применение изменений, содержащихся в журнале, после непредвиденного отключения или аварии.
  • 25. Из чего он состоит? Физически, файл журнала транзакций, состоит из виртуальных файлов - Virtual Log Files (VLF’s) Размер журнала транзакций Кол-во VLF 64Mb 4 VLF’s >64Mb <=1Gb 8 VLF’s >1Gb 16 VLF’s
  • 26. Как работают VLF VLF1 VLF2 VLF3 VLF4 VLF5 Начало лога Конец лога Checkpoint Когда файл VLF заполняется, процедура ведения журнала автоматически переходит к следующему VLF в журнале транзакций.
  • 27. Как работают VLF VLF1 VLF2 VLF3 VLF4 VLF5 Начало лога Конец лога Неактивные VLF отбрасываются и могут быть перезаписанны.  Транзакция, частью которой является эта запись, зафиксирована.  Все страницы базы данных, которые она изменила, записаны на диск процедурой контрольной точки.  Данная запись журнала не требуется для резервного копирования (полного, выборочного или журнала).  Эта запись журнала не требуется никакому компоненту, читающему журнал (например, средству зеркального отображения базы данных или репликации)
  • 28. Как работают VLF VLF1 VLF2 VLF3 VLF4 VLF5 Конец лога Начало лога
  • 29. Усечение журнала транзакций Процесс усечения журнала освобождает место в файле журнала для повторного использования журналом транзакций. Усечение журнала необходимо для предотвращения переполнения журнала.
  • 30. Когда выполняется усечение? Усечение журнала выполняется автоматически после следующих событий:  В простой модели восстановления — после контрольной точки.  Для моделей полного восстановления и моделей восстановления с неполным протоколированием, если контрольная точка была создана после предыдущего резервного копирования, усечение происходит после резервного копирования журнала. Усечение журнала не приводит к уменьшению размера физического файла журнала
  • 33. Log Sequence Numbers (LSN) 00000021:00000018:0001 VLF number: Log Block Offset: Slot Number 4 байта : 4 байта : 2 байта VLF number – номер виртуального файла Log Block Offset – сдвиг внутри VLF Slot Number – номер слота
  • 34. Общие ошибки Журнал транзакций растет и заполняет диск!  Если выбрана модель востановления FULL и не делаются бекапы логов;  Старые (долгие) незафиксированные транзакции;
  • 36. Лучшие практики Не создавайте несколько файлов журналов, поскольку это не приводит к выигрышу в производительности. Файл журнала транзакций это файл с последовательным доступом, и SQL Server не пишет в несколько файлов одновременно.
  • 37. Лучшие практики Храните файл журнала транзакций на отдельном диске. В этом случае есть больше шансов востановления БД после сбоя. Так же это эффективнее с точки знения I/O (нагрузки на дисковую подсистему)
  • 39. Спасибо за внимание! Email: vitaliy.popovych@outlook.com Skype: vitalik.popovych www.facebook.com/vitaliy.popovich.911 www.twitter.com/PopovychVitaliy