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

Откуда:
Сообщений: 36
Уважаемые коллеги! Доброго времени суток.

Знает кто-нибудь в MS SQL есть возможность исключать отдельные столбцы отдельных таблиц
из логирования при режиме работы БД в FULL RECOVERY MODE?

Требуется исключить BLOB-столбцы из процесса логирования изменений.

Всем спасибо и хорошего дня.
20 янв 16, 17:27    [18707353]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
invm
Member

Откуда: Москва
Сообщений: 9401
sirdimko
Требуется исключить BLOB-столбцы из процесса логирования изменений.
Невозможно в любой модели восстановления.
Вы, очевидно, не понимаете предназначения журнала транзакций.
20 янв 16, 17:37    [18707413]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
Glory
Member

Откуда:
Сообщений: 104760
sirdimko
Требуется исключить BLOB-столбцы из процесса логирования изменений.

Журнал транзакций - он для сервера нужен. Не для вас.
20 янв 16, 17:42    [18707465]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
rootman
Member

Откуда:
Сообщений: 114
Да легко, можно исключить) не пишите туда ничего вот и не будет логов)
20 янв 16, 17:56    [18707565]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
Speshuric
Member

Откуда: г. Москва
Сообщений: 129
sirdimko,

Как сказали выше - совсем убрать не получится. Но в определённых условиях можно попробовать Delayed Transaction Durabilityhttps://msdn.microsoft.com/en-us/library/dn449490.aspx
20 янв 16, 18:09    [18707645]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Speshuric, а можно мне показать как это сделать с помощью Delayed Durability?

Насколько я помню, эта фича для других целей. Снизить дисковую нагрузку при записи в лог, но не их обьем.
20 янв 16, 18:22    [18707699]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
Speshuric
Member

Откуда: г. Москва
Сообщений: 129
AlanDenton,

Объём не снизится, но позволит не ждать в очереди. Если причина того, что sirdimko хочет их исключить, не жёсткая нехватка места, а производительность, то это может помочь.
20 янв 16, 18:36    [18707732]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Speshuric, а вот теперь вообще ничего не понял.

С 2008 если я не ошибаюсь появился буфер лога, которые находится в памяти. Размер точно не документированный, но примерно 4-6Мб (просьба поправить, если не прав). Вначале все помешается в него, а потом уже попадает в файл лога на диске.

Опция Delayed Durability (появилась в 2014) заставляет более-менее полностью заполнять буфер, а только потом сбрасывать его содержимое на диск. Когда у нас очень много мелких транзакций - это очевидный профит.

Так вот вопрос... как это поможет @sirdimko? Когда мы даже версии его сервера не знаем.

но позволит не ждать в очереди - какой очереди?
20 янв 16, 18:47    [18707764]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
AlanDenton
Снизить дисковую нагрузку при записи в лог, но не их обьем.

неправильно выразился... Снизить не дисковую нагрузку, а общее число операций записи в лог.
20 янв 16, 18:50    [18707771]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
invm
Member

Откуда: Москва
Сообщений: 9401
AlanDenton
С 2008 если я не ошибаюсь появился буфер лога, которые находится в памяти.
Гораздо раньше. По-моему, он всегда был. Иначе бы очень сильно хромала производительность записи.
AlanDenton
Размер точно не документированный, но примерно 4-6Мб (просьба поправить, если не прав).
60 Кб
AlanDenton
Опция Delayed Durability (появилась в 2014) заставляет более-менее полностью заполнять буфер, а только потом сбрасывать его содержимое на диск.
Эта опция просто предотвращает сброс на диск буфера журнала по commit. В результате имеем некоторое увеличение производительности ценой возможной потери данных.
20 янв 16, 19:14    [18707826]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
invm, спасибо
20 янв 16, 19:15    [18707832]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
Crimean
Member

Откуда:
Сообщений: 13148
> Требуется исключить BLOB-столбцы из процесса логирования изменений.

а, внезапно, всякие filestream - не облегчат жизнь?
я уже молчу про самостоятельную реализацию аналогов

зы

то, что вы говорите - надо говорить по-другому. вам не нужна транзакционность для ваших BLOB данных
20 янв 16, 19:17    [18707836]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
Speshuric
Member

Откуда: г. Москва
Сообщений: 129
AlanDenton,

Если у sirdimko блобы не гигантские, а относительно небольшие, то уткнуться в ожидания writelog вполне несложно. На многих OLTP базах, которые я видел (на недорогих и относительно недорогих СХД) производительность упирается именно в writelog (чаще всего сразу после того, как разгребли блокировки и памятью или индексами решили вопрос с PAGEIOLATCH_SH). И даже если там есть блобы.
При небольших транзакциях производительность часто утыкается в то, что сервер не вернет управление, пока изменения не будут сброшены в журнал транзакций. При этом возникает очередь на журнал транзакций.
При Delayed Durability, ценой отказа от гарантии восстанавливаемости закоммиченных транзакций, мы получаем большие дисковые операции. А так как они большие, последовательные и на 99% только на запись, то диск под журналом транзакций может работать максимально эффективно.

А в целом - да, неизвестна версия, неизвестна задача, видно непонимание назначения журнала транзакций.
20 янв 16, 19:17    [18707839]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
sirdimko

Требуется исключить BLOB-столбцы из процесса логирования изменений.



Есть
1) InMemory SCHEMA_ONLY https://msdn.microsoft.com/en-us/library/dn553122.aspx
2) FileTable https://msdn.microsoft.com/en-us/library/ff929144.aspx
20 янв 16, 20:27    [18707959]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
a_voronin
1) InMemory SCHEMA_ONLY https://msdn.microsoft.com/en-us/library/dn553122.aspx

ета ссылко только для Defining Durability for Memory-Optimized Objects
какие нах блобы при общей длине индекса по таким обьектам 8092 кб ?
21 янв 16, 10:31    [18709212]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
sirdimko
Member

Откуда:
Сообщений: 36
Коллеги, транзакционные логи используются у нас Oracle Goldengate для репликации в ODS
21 янв 16, 12:15    [18709911]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
sirdimko
Member

Откуда:
Сообщений: 36
MS SQL Server 2008 R2. В данной задаче журнал логов используется для захвата изменений. Просто не хотелось бы тянуть туда здоровые блобы. Они у нас в репликации не учавствуют.
21 янв 16, 12:20    [18709963]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
может так?
Guest
sirdimko
Просто не хотелось бы тянуть туда здоровые блобы. Они у нас в репликации не учавствуют.


Храните ваши блобы в отдельной базе, которую не надо будет реплицировать.
21 янв 16, 13:20    [18710414]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
может так?
sirdimko
Просто не хотелось бы тянуть туда здоровые блобы. Они у нас в репликации не учавствуют.


Храните ваши блобы в отдельной базе, которую не надо будет реплицировать.


Это более грамотное решение
21 янв 16, 15:26    [18711341]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
sirdimko
Member

Откуда:
Сообщений: 36
Всем спасибо за внимание и ответы!
22 янв 16, 11:46    [18714906]     Ответить | Цитировать Сообщить модератору
 Re: Тонкости FULL RECOVERY MODE  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 782
sirdimko
Коллеги, транзакционные логи используются у нас Oracle Goldengate для репликации в ODS


Ну так и настраивай extract или replicat соответственно тому, какие именно данные должны быть реплицированы.
22 янв 16, 20:02    [18718065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить