Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Транзакционный лог  [new]
alch01
Member

Откуда:
Сообщений: 33
У меня есть два вопроса.

1. Транзакционный лог

Рассмотрим простую транзакцию:
1) открываем транзакцию;
2) изменяем данные;
3) закрываем транзакцию.
Если окажется, что изменяемые страницы не найдены в кэше, SQL Server запишет их в кэш, там изменит и продублирует изменения в транзакционном логе, верно? Такие страницы называеются dirty pages. Периодически SQL Server будет записывать их на диск, и они больше не будут "грязными". Вопрос: будет ли SQL Server записывать "грязные" страницы на диск до завершения транзакции? Если да, то они будут записываться куда-то на диск, но не в базу данных, да?

2. Буферизация

Какой выигрыш в скорости, если предварительно писать страницы в кэш (память) и дублировать их в транзакционном логе на диске? Какой тогда выигрыш дает использование памяти?
24 окт 11, 21:44    [11492015]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционный лог  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Все изменения попадут в лог независимо от ого, были они в кеше или нет.
24 окт 11, 22:56    [11492236]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционный лог  [new]
komrad
Member

Откуда:
Сообщений: 5758
alch01
Вопрос: будет ли SQL Server записывать "грязные" страницы на диск до завершения транзакции? Если да, то они будут записываться куда-то на диск, но не в базу данных, да?

транзакция пишется в лог, параллельно модифицируются страницы с данными
в случае отката транзакции, откатываются и модификации данных
"промежуточных" файлов на диске для измененных страниц нет


alch01
2. Буферизация

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

в память писать быстрее, чем на диск
24 окт 11, 23:31    [11492340]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционный лог  [new]
iljy
Member

Откуда:
Сообщений: 8711
alch01,

http://msdn.microsoft.com/en-us/library/ms188748.aspx
24 окт 11, 23:35    [11492354]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить