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

Откуда:
Сообщений: 1134
Собственно говоря интересует вопрос в теме. То есть понятно что есть filestream и т.п. Но например при использовании always on могут возникать рассинхронизации существенные в случае если через лог транзакций проходят большие blob поля. Решение уже найдено но может есть типовая какая нибудь опция(я искал но не нашел)?
8 сен 15, 12:09    [18122366]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
gang
Member

Откуда:
Сообщений: 1394
МуМу
могут возникать рассинхронизации существенные

Т.е. отсутствие части Blob-ов в резервной копии БД вы за рассинхронизацию не считаете?
МуМу
Решение уже найдено

Любопытно. Поделитесь в 2 словах?
8 сен 15, 12:19    [18122420]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
МуМу
Member

Откуда:
Сообщений: 1134
В двух словах. Делается рядом отдельная БД. У нее отдельный транзакшн лог. В идеале и отдельный диск, отдельный сетевой интерфейс - со всеми вытекающими последствиями. Написаны автоматизированные скрипты которые создают набор триггеров суть которых - писать блоб не в свою БД а в соседнюю с некоторым уникальным идентификатором. По этому идентификатору можно связывать для операций на чтение.(использование через view а также дополнительный proxy сервис).(пока что ведутся исследования, может и асинхронно получится писать что бы транзакцию комитить раньше).
Разумеется можно переписать приложение - ссылка в OLTP базе а файл в другой, но как правило этого почему то не делают.

Что касается возможных потерь блобов.(полетел сервер) Здесь зависит все от того как кластер настроить. Как правило блоб поля(по крайней мере image) не участвуют в транзакционной логике, их потеря не является столь критичной.(договор всегда можно заново отсканировать и приложить) В любом случае при таком подходе появляется больше возможностей для маневра и оптимизации.
8 сен 15, 12:34    [18122510]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
Glory
Member

Откуда:
Сообщений: 104751
МуМу
Как правило блоб поля(по крайней мере image) не участвуют в транзакционной логике, их потеря не является столь критичной.(договор всегда можно заново отсканировать и приложить)

По-моему, вы путаете серверную логику с бизнес-логикой.
Сервер отвечает за целостность данных независимо от того, может ли вы заново что-то сканировать или не можете. И блоб поля ничем в этом не отличаются от других полей
8 сен 15, 12:42    [18122561]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
МуМу
Member

Откуда:
Сообщений: 1134
Абсолютно ничего не путаю, никому ничего не навязываю:) Прекрасно понимаю что в некоторых случаях сканы документов являются частью транзакционной логики. Но если была бы возможность разнести в always on потоки на два(основной и картинки) мне бы жилось проще:) Что касается целостности и отказоустойчивости - здесь все понятно и есть подходы специальные. Но что бы в открытой транзакции включалось бы распознавание текста отсканированного документа и на основании его выстраивалась дальнейшая логика мне как то не приходит в голову.
8 сен 15, 12:50    [18122620]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
МуМу
Member

Откуда:
Сообщений: 1134
Добавлю, что решается все просто изменением кода приложения. Но в некоторых случаях его менять не представляется возможным.
8 сен 15, 12:51    [18122631]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
Glory
Member

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

На сервере нет никаких сканов. На сервере есть таблицы и поля. То, что сервер пишет в журнал, он пишет для себя, а не для вас
8 сен 15, 12:53    [18122640]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
МуМу
Member

Откуда:
Сообщений: 1134
Спорить не буду. Претензий к MS у меня никаких нет:) Для чего это нужно мне кажется я объяснил. Вопрос по прежнему актуален.(сомневаюсь что есть, я бы нашел.но все же...)
8 сен 15, 13:02    [18122678]     Ответить | Цитировать Сообщить модератору
 Re: Нет ли секретной опции в MSSQL которая исключала бы blob поля из лога транзакций?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
МуМу
Спорить не буду. Претензий к MS у меня никаких нет:) Для чего это нужно мне кажется я объяснил. Вопрос по прежнему актуален.(сомневаюсь что есть, я бы нашел.но все же...)


как полегчало Биллу даже представить трудно
8 сен 15, 13:06    [18122699]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить