Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Околонаучная фантастика / 7 сообщений из 7, страница 1 из 1
15.08.2001, 14:29
    #32011867
Alexanders
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Околонаучная фантастика
Уважаемые! Возможно ли такое в принципе.
Есть БД, SQL2000.
У меня есть полный BCP на дату + BCP of transaction log
Я восстанавливаю полный BCP на дату. Далее....
В BCP of transaction log лежат транзакции 2 пользователей.
Один пользователь делает правильные транзакции, другой- нет.
Я хочу, чтобы транзакции одного пользователя восстановились, а другого- нет.

Другими словами, я хочу задать некое условие, кроме времени транзакции, для того чтобы определить, восстанавливать ее или нет. Возможно ли это?

Может быть, есть некий продукт который может просмотреть BCP of transaction log
и "вымарать" оттуда то, что не требуется восстанавливать?
...
Рейтинг: 0 / 0
15.08.2001, 18:14
    #32011882
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Околонаучная фантастика
Транзакции - это не просто модификация данных. Это последовательно выполняемые действия, которые изменяют состояние базы данных. Последовательность их выполнения может иметь существенное значение. Посему журнал транзакций можно восстанавливать только сплошняком - без пропусков. Начиная от ближайшей полной копии базы данных и заканчивая либо конкретным временем транзакции, либо помеченным специально критичным местом (создается специально, чтобы можно было прервать восстановление архива на этой точке), либо просто до конца всего бэкапа лога. Но делать пропуски при восстановлении лога НЕЛЬЗЯ.
...
Рейтинг: 0 / 0
16.08.2001, 06:23
    #32011892
Alexanders
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Околонаучная фантастика
Нельзя, потому что предполагается, что нечто может заглючить на логическом уровне?
Для меня это не страшно, я представляю что делается в БД в каждый момент времени.
В моем понимании (может оно неправильное)- лог это последовательность SQL операторов. Или нечто, что можно интерпретировать как такую последовательность. В логе НЕТ информации о текущем состоянии базы.
Возле каждого SQL-оператора стоят некие признаки (точно есть признак "время").
В случае, если есть и другие признаки (имя пользователя, номер сессии), мне кажется, что теоретически возможно написать продукт, который бы удалял не нужные транзакции.
Может, он уже написан.
Далее, берем обработанный лог и восстанавливаем стандартными средствами. Под нашу ответственность.
...
Рейтинг: 0 / 0
16.08.2001, 10:14
    #32011920
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Околонаучная фантастика
Есть такой продукт "Log Explorer"
http://www.lumigent.com/
Вроде-бы он может...
...
Рейтинг: 0 / 0
16.08.2001, 16:15
    #32011960
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Околонаучная фантастика
>В моем понимании (может оно неправильное)- лог это последовательность SQL операторов...
Нет, это не просто последовательность операторов. Если бы это было так, то не было бы никакой речи ни о транзакциях, ни об уровнях изоляции, ни о возможностях подтверждения/отката транзакций. В логе размещается информация о том, какие страницы БД во время выполнения транзакции модифицируются, а также информация о том, на какие страницы они модифицируются. После подтверждения транзакции модифицированные страницы переписываются из лога в БД, а в логе они помечаются как подтвержденные. При откате транзакции переписывания страниц из лога в БД не происходит. Так что это не просто скрипт команд - это сами данные в процессе их модификации.
...
Рейтинг: 0 / 0
17.08.2001, 08:57
    #32012044
Alexanders
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Околонаучная фантастика
2Garya: Спасибо за информацию. Дело становится сложнее, чем я думал вначале.
Поэтому, наверное, так мало продуктов по анализу лога.

log ORACLE,видимо, устроен несколько иначе. При прямом просмотре мне попадались там слова insert, select и т. п.

Но все таки log explorer попробую. Вдруг окажется полезен. О результатах эксперимента сообщу, скорее всего, на следующей неделе.

Уважаемые! Интересно мнение тех, кто уже мучал данный продукт.
Решается ли при помощи его задачка типа "воспроизвести все изменения кроме тех, что были с 17:15 до 17:20"?
...
Рейтинг: 0 / 0
17.08.2001, 09:34
    #32012051
Околонаучная фантастика
> Решается ли при помощи его задачка типа "воспроизвести все изменения кроме тех, что были с 17:15 до 17:20"?

В частных случаях решается. Посмотри, например, www.gvu.newmail.ru. Там немножко не то (речь идет об UNDO), но те же идеи можно воплотить и для решения чисто твоей задачи.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Околонаучная фантастика / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]