какова связь между контрольной точкой и коммитом для транзакции - PullRequest
0 голосов
/ 27 июня 2019

В моем учебнике написано:

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

Я очень смущен. Я знаю, как работает кэш, но что это за грязные страницы? если грязные страницы записываются на диск, разве это не то, что должен делать коммит? почему контрольные точки фактически «фиксируют» данные на физических страницах?

Допустим, у нас есть следующий код;

BEGIN TRAN T1;  
UPDATE table1 
SET postcode = '9000'  //was 8000 before
WHERE CustomerID = 1;
COMMIT TRAN T1;

Вот что я не понимаю, запись (CustomerID = 1 с почтовым индексом 8000) сначала читается в кеш, затем оператор update делает запись в кеш грязных страниц (потому что мы изменили почтовый индекс), теперь происходит контрольная точка тогда эта запись записывается в mdf / ndf, разве это не коммит, цель которого - сделать изменения постоянными в базе данных? и нет файла журнала?

Может ли кто-нибудь взять этот пример, чтобы показать мне, что на самом деле происходит и как новый почтовый индекс 9000 постоянно записывается в базу данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...