Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Точка сохранения и фиксация транзакций (число прочтений - 2506 )
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Точка сохранения и фиксация транзакций
02. Декабря 2009 :: 10:02
Печать  
Теоретический вопрос.

Есть такое понятие на SQL как "точка сохранения". Насколько я понимаю, это тот момент, когда данные переносятся из журнала транзакций и записываются непосредственно в базу данных.

Как соотносится точка сохранения с фиксацией транзакций? Когда происходит фиксация транзакций, сразу после их завершения или только в точке сохранения?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Точка сохранения и фиксация транзакций
Ответ #1 - 02. Декабря 2009 :: 10:35
Печать  
Транзакция фиксируется командой COMMIT TRAN если до этого была команда BEGIN TRAN иначе по завершению выполнения текущей команды.
Транзакция отменяется командой ROLLBACK TRAN (если до этого была команда BEGIN TRAN) или при старте службы сервера если есть не завершенные транзакции.

Все измененные страницы всегда пишутся в LOG.
Страницы, изменные в зафиксированных транзакциях, копируются в DB в момент ЧЕКПОИНТА.
Чекпоинт по-умолчанию в sql2k наступает каждую минуту (период можно изменить) либо вручную (например командой BACKUP).
На sql2k5 и выше период чекпоинта расчитывается немного сложнее.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Точка сохранения и фиксация транзакций
Ответ #2 - 02. Декабря 2009 :: 10:39
Печать  
поэтому Цитата:
Как соотносится точка сохранения с фиксацией транзакций?
никак
  

1&&2&&3
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Точка сохранения и фиксация транзакций
Ответ #3 - 02. Декабря 2009 :: 10:56
Печать  
> Страницы, изменные в зафиксированных транзакциях, копируются в DB в момент ЧЕКПОИНТА.

- А до копирования в DB такого рода страниц эти измененные данные мы сможем увидеть в запросе (select from)?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Точка сохранения и фиксация транзакций
Ответ #4 - 02. Декабря 2009 :: 11:01
Печать  
Neo писал(а) 02. Декабря 2009 :: 10:56:
> Страницы, изменные в зафиксированных транзакциях, копируются в DB в момент ЧЕКПОИНТА.

- А до копирования в DB такого рода страниц эти измененные данные мы сможем увидеть в запросе (select from)?

да.

а если еще и напишем nolock то даже страницы измененные в не зафиксированных транзакциях
  

1&&2&&3
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Точка сохранения и фиксация транзакций
Ответ #5 - 09. Декабря 2009 :: 09:13
Печать  
А вот после реструктуризации конфы в 1С появляется сообщение о том, что очищен журнал транзакций. Что при этом реально происходит? Не весь же журнал очищается?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Точка сохранения и фиксация транзакций
Ответ #6 - 09. Декабря 2009 :: 10:20
Печать  
весь
делается dump transaction with truncate_only
  

1&&2&&3
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Точка сохранения и фиксация транзакций
Ответ #7 - 09. Декабря 2009 :: 10:40
Печать  
Просто размер файла LDF после реструктуризации не уменьшается. Или это просто размер зарезервированного места на диске, а реальных данных там нет?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Точка сохранения и фиксация транзакций
Ответ #8 - 09. Декабря 2009 :: 10:48
Печать  
Neo писал(а) 09. Декабря 2009 :: 10:40:
Просто размер файла LDF после реструктуризации не уменьшается. Или это просто размер зарезервированного места на диске, а реальных данных там нет?

файл обнуляется( точнее виртуальные журналы) но не уменьшается
чтобы уменьшился надо шринк на log запускать.
Чтобы увидеть ситуацию выполни команду
Код
Выбрать все
DBCC SQLPERF(LOGSPACE) 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать