Dziennik transakcji zapisu z wyprzedzeniem
W tym temacie opisano rolę dziennik transakcji zapisu naprzód w rejestrowania zmian danych na dysku.Aby uzyskać podstawowe informacje dotyczące dziennika transakcji zobacz Introduction to Transaction Logs.
SQL Server korzysta z dziennik zapisu z wyprzedzeniem (WAL), który gwarantuje, że żadne modyfikacje danych nie są zapisywane na dysku przed zapisaniem rekordu dziennika skojarzonego z dysku.Utrzymuje to właściwości ACID dla transakcji.Aby uzyskać więcej informacji na temat transakcji i właściwości ACID zobacz Transactions (Database Engine).
To understand how the write-ahead log works, it is important for you to know how modified data is written to disk.SQL Server maintains a buffer cache into which it reads data pages when data must be retrieved.Dane się nie zmiany bezpośrednio na dysku, ale są wprowadzane w kopii strona w pamięci podręcznej buforu.Modyfikacja nie jest zapisywany na dysku aż do chwili, kiedy punkt kontrolny występuje w bazie danych lub zmiany muszą być zapisane na dysku, tak aby można było używać buforu do przechowywania nowej strona.Zapisywania stron zmodyfikowanych danych z buforu pamięci podręcznej na dysku jest nazywany opróżniania strona.Strony zmodyfikowane w pamięci podręcznej, ale nie zostały jeszcze zapisane na dysku, nosi nazwę zanieczyszczona strona.
W czasie zmiany odbywa się strona w buforze rekord dziennika jest tworzona w pamięci podręcznej dziennik, który zapisuje zmiany.Ten rekord dziennika muszą być zapisywane na dysku przed skojarzonej strona zabrudzony jest opróżniany z pamięci podręcznej buforu na dysku.If the dirty page is flushed before the log record is written, the dirty page creates a modification on the disk that cannot be rolled back if the server fails before the log record is written to disk.SQL Server has logic that prevents a dirty page from being flushed before the associated log record is written.Rekordy dziennika są zapisywane na dysku, gdy transakcje są przekazywane.
See Also