Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

MS SQL: как понять были данные или нет?   Найти похожие ветки 

 
tear   (2006-11-09 15:01) [0]

Друзья, помогите нубу.

Проблема: требуют найти определенные номера. Через клиентские Тулсы запросы на данные номера делал и искал в нескольких таблицах, в которых эти номера могли бы быть - и не нашел.

Ситуация: есть программа написаная на Д5 и база МSSQL. Приложение находится чуть ли не в одной папке с БазойДанных на сервере, а на клиентских машинах оно запускается по ярлыку. Таким образом получается (еслия правильно понимаю) доступ к БД через Shared Memory.

В общем через эту программу идет полное взаимодействие с БД.
Алгоритм: Пользователь забивает определенный номер и связанную с ним информацию и инфа с номером сохраняется в таблице1. Затем другой пользователь, чтобы забить другую инфу с этим номером, должен через программу указать ЭТОТ номер и уже только потом привязывать к нему другую инфу, после чего этот номер и инфа отправляются в таблицу2. В таблице1 меняется статус номера, но сам номер и первичная инфа сохраняются. После второй операции генерируется некий отчет, в котором фигурирует этот номер и в таблице2 тоже меняется статус по этому номеру. Внимание: статуса "удалено" нет.
Удалять номер и связанные с ним данные не имеет смысла никому и это делать можно только построчно (тоесть сразу 100 или 10 номеров удалить нельзя).
Внимание вопрос: отчеты есть с номерами! а в базе этих номеров ну нигде нет! СОздать отчеты БЕЗ ранее введенных и сохраненных номеров нельзя.
Куда могли исчезнуть данные и как это можно отследить, какими утилитами и как понять велся ли лог по базе или нет.
Спасибо.
Только не направляйте в книги. лучше уже тогда ссылками в инете.


 
clickmaker ©   (2006-11-09 15:04) [1]


> на клиентских машинах оно запускается по ярлыку. Таким образом
> получается (еслия правильно понимаю) доступ к БД через Shared
> Memory

с клиентских машин доступ может быть через Named Pipes либо по TCP. Расшаренная память - это в рамках одного компутера


 
Sergey13 ©   (2006-11-09 15:12) [2]

> Удалять номер и связанные с ним данные не имеет смысла никому
Это смелое, но не подрепленное фактами, утверждение. Можно и без смысла удалить что нибудь. Например грудью на клавитуру нажать.

> и это делать можно только построчно
А это лирика.


 
tear   (2006-11-09 15:16) [3]


> > получается (еслия правильно понимаю) доступ к БД через
> Shared > Memoryс клиентских машин доступ может быть через
> Named Pipes либо по TCP. Расшаренная память - это в рамках
> одного компутера<Цитата>


САМА прога находится на том же НДД что и БАЗАДАННЫХ. \\serverbd
с клиентских машин прога запускается по ссылке типа \\serverbd\proga.exe

к слову сказать прогуто не я делал. я тут все разлопачиваю


 
clickmaker ©   (2006-11-09 15:20) [4]


> САМА прога находится на том же НДД что и БАЗАДАННЫХ. \\serverbd
> с клиентских машин прога запускается по ссылке типа \\serverbd\proga.exe

это не важно
прога грузится в ОЗУ локального компьютера. Поэтому никакая, пусть даже самая что ни на есть расшаренная память сервера, ей не доступна


 
ANB ©   (2006-11-09 15:24) [5]


> САМА прога находится на том же НДД что и БАЗАДАННЫХ.

Да пофигу. Работает то она все равно на клиентском компе. Просто ее так положили.
Если кто знает пароль к БД (а его скорее всего после инсталляции хрен кто менял, скорее всего не меняли и админский), то грохнуть всю БД труда не составляет. всего 2 оператора. Кстати, если у вас все работают по админом (что скорее всего), то концы найти проблематично.


 
ANB ©   (2006-11-09 15:26) [6]

во, кистате. раз в подчиненной таблице номера сохранились, то их можно добавить обратно в таблицу1 одним оператором.


 
ANB ©   (2006-11-09 15:27) [7]

если в москве - можешь озвучить сумму. вечерком можно починить. :)


 
tear   (2006-11-09 15:29) [8]


> Да пофигу. Работает то она все равно на клиентском компе.
>  Просто ее так положили.Если кто знает пароль к БД (а его
> скорее всего после инсталляции хрен кто менял, скорее всего
> не меняли и админский), то грохнуть всю БД труда не составляет.
>  всего 2 оператора. Кстати, если у вас все работают по админом
> (что скорее всего), то концы найти проблематично.


почти все верно что описал.
Насчет защиты речь не идет пока. до этого не доросли еще.
Тут речь насчет того что могло с данными произойти (записями некоторых таблиц) - причем это выборочно.... не то что эти записи идут порядком... както выборочно их нету.

Как посмотреть логи? может ктонить расскажет? банально до действий типа тулс->...->...
Да и вообще как бы так настроить на логирование, чтобы было более менее нормальное быстродействие и без крешинга.


 
tear   (2006-11-09 15:30) [9]


> если в москве - можешь озвучить сумму. вечерком можно починить.
>  :)


хмм... я бы озвучил, да только это не я решаю.
база закрытая, поэтому врядли кого сюда допустят.


 
tear   (2006-11-09 15:31) [10]


> во, кистате. раз в подчиненной таблице номера сохранились,
>  то их можно добавить обратно в таблицу1 одним оператором.
>


ну еслибы это так и было, я бы сюда и не полез.


 
tear   (2006-11-09 15:32) [11]

Вообщем мне даже больше всего надо не номера уже найти (их понеятно давно что нет), а то какие операции были проведены с БД.


 
ANB ©   (2006-11-09 15:35) [12]


> надо не номера уже найти (их понеятно давно что нет),

Да есть они. Только в другой таблице.

А чтобы настроить логирование - купи книжку по администрированию MS SQL и там все есть. книжка толстая, постить ее всю - повесишься. А она по любому пригодится.


 
Anatoly Podgoretsky ©   (2006-11-09 15:35) [13]

> tear  (09.11.2006 15:16:03)  [3]

В этом случае никакой  Shared Memory - программ не находится рядом с БД, она запускается на клиентских компьютерах. Тогда очень плохое с точки зрения безопасности решение.


 
clickmaker ©   (2006-11-09 15:36) [14]


> а то какие операции были проведены с БД

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


 
Anatoly Podgoretsky ©   (2006-11-09 15:37) [15]

> tear  (09.11.2006 15:01:00)  [0]

Вообще то ни книги, ни Сеть не помогут, тут нужно расследование. Советы дать не возможно, это надо рыться по твоей базе, анализировать.


 
clickmaker ©   (2006-11-09 15:47) [16]


> ни книги, ни Сеть не помогут, тут нужно расследование

ну да, частного детектива нанять. Дактилоскопия там, и все такое...
Тока, боюсь, клаву уже затоптали пальцами, хрен там найдешь что-то


 
Anatoly Podgoretsky ©   (2006-11-09 16:12) [17]

> tear  (09.11.2006 15:29:08)  [8]

А ведение логов (аудита) у вас сделано, сомневаюсь.


 
Anatoly Podgoretsky ©   (2006-11-09 16:13) [18]

> tear  (09.11.2006 15:30:09)  [9]

Не фига себе, так серьезно и такой бардак.


 
Anatoly Podgoretsky ©   (2006-11-09 16:14) [19]

> clickmaker  (09.11.2006 15:36:14)  [14]

> боюсь, что "поздно пить боржоми"

Если бы, все еще впереди.


 
tear   (2006-11-09 16:18) [20]

Люди,стоп. Я пока не делаю никаких выводов и вы пожалуйста не делайте.. поздно не поздно...

дайте совет - как посмотреть логи.
Лезть банально куда.
Там мы уже разберемся с кого спросить, только надо понять - были ли они вообще эти номера или их НИКОГДА там не было вбито.


> Да есть они. Только в другой таблице.А чтобы настроить логирование
> - купи книжку по администрированию MS SQL и там все есть.
>  книжка толстая, постить ее всю - повесишься. А она по любому
> пригодится.


Да нету их.Есть одна таблица - хранилище номера к примеру "0000111" с первичным ключом 20 и незаполненой инфой для этого номера.
Есть вторая таблица. полю с индексом, например 100, присваивается номер из первой таблицы "0000111" и дополняется запись какойто инфой. Все.
Короче если делать запрос select * from таблица1 where nom like "%0000111%" или такой же по таблице2 - нету номеров. НЕТУ. ЛИБО ИХ КТОТО ФИЗИЧЕСКИ УДАЛИЛ, либо этих записей никогда не было.

Так вот еще раз вопрос: как открыть логи.
Короче проблема даже проще: начальнику надо объяснить что все, баста, ничего нету. Он-то мне талдычит что надо надо надо надо найти. Вообщем скажите куда лезть в логи чтобы я там посмотрел и сказал ему что логи потерли или их не было или по логами видно что записи не производилось или ктото удалил....
ЛОги мне нужны. А понять есть они или нет я не могу.


 
Anatoly Podgoretsky ©   (2006-11-09 16:21) [21]

> tear  (09.11.2006 16:18:20)  [20]

Еще раз, они эти логи у тебя были сделаны.
Где ты собираешься искать, если их нет.
Потому и поздно. А с учетом всего сообщенного тобой, готовься к повторению.


 
tear   (2006-11-09 16:32) [22]


> Еще раз, они эти логи у тебя были сделаны.Где ты собираешься
> искать, если их нет.Потому и поздно. А с учетом всего сообщенного
> тобой, готовься к повторению.


ммм... ладно тогда такой вопрос - чем смотреть логи и по каким путям они должны быть или какое название файла...
яж написал я нуб :)


 
sniknik ©   (2006-11-09 16:53) [23]

> я нуб
нуб это тот же дуб, но потверже и поразвесистей?

> Он-то мне талдычит что надо надо надо надо найти.
> А понять есть они или нет я не могу.
ты их делал? в программе. или тот человек что ее писал, делал?

значит их нет. НЕТ НЕТ НЕТ и НЕТ, и "надом" этого не исправишь.

сколько раз повторить чтобы дошло?

> или какое название файла...
sql сервера давно уже отошли от файлового хранения данных. если бы он и был то в таблице в базе.

про возможности MSSQL, логирование транзакций при установленном Full model, думаю говорить бессмысленно (но скажу! ;о)), т.к. во первых не обьясниш сложное тому кто простого не понимает, во вторых лень объяснять сам не пользуюсь и значит сразу не не заглядывая в справку/поиск не смогу нормально обьяснить, в третьих если специально не ставить точку отката то нужна сторонняя (платная) программа, и в четвертых это не лог, это возможность откатится и поискать до дого как возможно удалили... в пятых доверь это недоучке и потеряеш и то что осталось (и кто в этом будет виноват?) потому как он это начнет делать на рабочей базе, без бэкапов (или еще чего. непредсказуемо)...

p.s. выше тебе вроде предлагали за деньги подъехать, починить (если вообще возможно), соглашайся, это лучшей для тебя вариант.


 
Курдль ©   (2006-11-09 17:09) [24]

Я так понял, что структура базы - полный ПЭ.
Так что "разлопачивать" ее надо бы хлопцу с неординарными знаниями МС СКЛ, способностями и интуицией.
Аутор! Увольняйся - твой предшественник поступил мудро, что свалил!


 
tear   (2006-11-09 17:28) [25]

мда.
вроде вопрос-то простой. сказать где искать лог. блин.
ладно спасибо. помощи тут искать бессмыслено.


 
ANB ©   (2006-11-09 17:49) [26]


> сказать где искать лог. блин.

трудно искать негра без зубов в черной комнате. Особенно, если там его нет.

Если ты не знаешь, где искать логи, то ты не умеешь включать логирование.
А оно с таким бардаком, есно, никогда не включалось. И вряд ли разберешься в логах транзакций.
Посмотри наличие на этих таблицах триггеров. Если нету - то оборвалась последняя нитка.


 
sniknik ©   (2006-11-09 18:23) [27]

tear   (09.11.06 17:28) [25]
> помощи тут искать бессмыслено.
так и не дошло... ;)  а ведь помогли, чем вообще возможно.

tear
правильный ник - "дырка"... в знаниях.

ANB ©   (09.11.06 17:49) [26]
> Посмотри наличие на этих таблицах триггеров.
боюсь он и таблицу то не найдет, не то что тригеры.


 
ANB ©   (2006-11-09 18:31) [28]


> sniknik ©   (09.11.06 18:23) [27]

Это я уже прикалывался :)


 
Ketmar ©   (2006-11-09 18:56) [29]

>[27] sniknik(c) 9-Nov-2006, 18:23
>> помощи тут искать бессмыслено.
>так и не дошло... ;)  а ведь помогли, чем вообще возможно.
ты не понял. как всегда -- хотят кода, рабочего и бесплатно. "думать" в список желаний не входит. равно как и "учиться".


 
tear   (2006-11-09 19:34) [30]

вопрос короче простой: где файл лога. или его расширение хотябы. без яндекса.
обсуждать умственные способности участников форума мне не хочется. это тупо. чего и вам советую.

2snikniк

ты эта, ты начинай сразу что незнаешь и не используешь. и лучше вообще не писать если ничем помочь-то не можешь. смысл-то какой? кто оценит? лишние неинформативные посты читать както неинтересно. ну и может тебе поможет ответь на вопрос выше, если ты представишь что ЛОГ есть? тогда ответить способен?
удачи.
спасибо за ваше время.


 
Плохиш ©   (2006-11-09 23:53) [31]


> tear   (09.11.06 19:34) [30]

Что такое энтерпраиз менеджер знаешь?

Читая ветку рыдал... Ждём новых веток о том, какие здесь все злые и туууупыыыые....


 
ЮЮ ©   (2006-11-10 05:06) [32]


>
> Что такое энтерпраиз менеджер знаешь?

Если знаешь, то выбери "свойства" для БД. закладка "Transaction Log".

расширение "по умолчанию" .ldf, но никто не мешает написать и другое. Главное - файл, а не его расширение.


 
tear   (2006-11-10 12:38) [33]


> Что такое энтерпраиз менеджер знаешь?Читая ветку рыдал..
> . Ждём новых веток о том, какие здесь все злые и туууупыыыые.
> ...


Мда. про ентерпрайз гдето удалось услышать? больше ничего не знаешь?
ппц :))
насчет злых и тупых - никто не мешает себя зеркалить. оффтоп короче.


> Если знаешь, то выбери "свойства" для БД. закладка "Transaction
> Log".расширение "по умолчанию" .ldf, но никто не мешает
> написать и другое. Главное - файл, а не его расширение.


Спс.
2_олл_добрые_энд_умные: собстно этого я ожидал.


 
sniknik ©   (2006-11-10 13:39) [34]

> Спс.
> 2_олл_добрые_энд_умные: собстно этого я ожидал.
т.е. тебе даже неважно что это не совсем лог, а транзактион лог, то к нему так просто не подступишься, блокнотом не откроешь, и что данных в нем может вообще не быть (подробности см. [23])
т.е. искался просто неважно какой лог, и все, без определенной цели (тогда почему именно от MSSQL? и причем здесь предваряющая история про удаленные записи которые нужно найти/узнать что они были? в этом ты этого не увидишь). но тем не менее он подходит... и что, даже не будет следом вопроса "а почему в блокноте ахинея?" ?... ;о))


 
tear   (2006-11-10 16:22) [35]


> т.е. тебе даже неважно что это не совсем лог, а транзактион
> лог, то к нему так просто не подступишься, блокнотом не
> откроешь, и что данных в нем может вообще не быть (подробности
> см. [23])т.е. искался просто неважно какой лог, и все, без
> определенной цели (тогда почему именно от MSSQL? и причем
> здесь предваряющая история про удаленные записи которые
> нужно найти/узнать что они были? в этом ты этого не увидишь).
>  но тем не менее он подходит... и что, даже не будет следом
> вопроса "а почему в блокноте ахинея?" ?... ;о)


Ммм.. Вопрос: почему у тебя такие скудные варианты по использованию СКЛ и лога транзакций? попробую доступно объяснить: тот текст что читаешь ты (который я написал тут в качестве вопроса и описания моей проблемы) - это текст, который ты оцениваешь согласно своей карте восприятия действительности. Т.о. чтение чужого текста и дальнейшая его оценка - это ВД (внутренний диалог с самим собой), естественно все что ты оцениваешь внутри себя является итогом и совокупностью твоих собственных знаний о мире, людях, законах этого мира и всего остального прочего. Если коротко: ты просто понятия не имеешь как можно читать и исползовать лог, поэтому придумываешь только те варианты его использования, которые подсилу твоему сознанию, и только те варианты, которые находятся в твоей внутренней "базе знаний".
Именно поэтому я стараюсь воздерживаться от оценки умственных способностей людей, которых я читаю и даже тех, с которыми я говорю, потому что мне не может быть известна их "база знаний" и потому что вполне вероятно, что у них есть те знания, которыми я не обладаю.

Резюме: следом вопроса "а почему в блокноте ахинея" не будет. :)

Кстати пример очень очевидный: у нас работали сисадмины (на моей прежней работе), которые говорили мне и многим сотрудникам, что после форматирования восстановить инфу нельзя. Видишь - в их базе знаний не нашлось решения проблемы восстановления, как, возможно, в твоей базе знаний не нашлось варианта использования лога.

История, предваряющая была моим не очень верно сформулированным вопросом, и веротяно ответ мне понадобился бы такой: удаленные записи из БД восстановить никак нельзя, только если не делался чекпойнт-бэкап до возможной даты удаления.


 
k2 ©   (2006-11-10 16:25) [36]

:)))))))))))))))))))))
щас всех научит со скулем работать


 
Anatoly Podgoretsky ©   (2006-11-10 16:32) [37]

> k2  (10.11.2006 16:25:36)  [36]

Да уже даже и отвечать не хочется, ну не получается конструктивный диалог.


 
Курдль ©   (2006-11-10 16:34) [38]

А я б щас тоже чо-нить дунул, как аутор. Жаль - за чо на 3 вокзала бежать надо...


 
tear   (2006-11-10 16:40) [39]


> :)))))))))))))))))))))щас всех научит со скулем работать


ммм, както необъективно. что знаю расскажу. что незнаю - лезть не буду.


> Да уже даже и отвечать не хочется, ну не получается конструктивный
> диалог.


согласен, ничего конструктивного во взаимной ругани нет.


> А я б щас тоже чо-нить дунул, как аутор. Жаль - за чо на
> 3 вокзала бежать надо...


так ты потом... дунь :)) и сразу пиши исчо :) всегда рад буду в этой ветке послушать укуреных пиплов :)
можешь еще даже ченить сожрать... :)) тока эта, смари если 10101001100-трип будет - наверное хорошо, а ведь может и такой быть 10101000100102. ы :) АВОСТ


 
k2 ©   (2006-11-10 16:44) [40]

его хоть ктонибудь понимает? про што это?  :)))



Страницы: 1 2 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.032 c
15-1163715524
Adder
2006-11-17 01:18
2006.12.03
А я вот хочу кого-нибудь обидеть!


2-1163778807
Jzero
2006-11-17 18:53
2006.12.03
Поиск папки


15-1163349293
dzmitry[li]
2006-11-12 19:34
2006.12.03
В чём может быть проблема? Самостоятельно выключается компьютер


15-1163147795
zdm
2006-11-10 11:36
2006.12.03
Защита


15-1163161494
syte_ser78
2006-11-10 15:24
2006.12.03
Пятничное открытие





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский