Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
Привет всем уважаемым гуру.
Имеется большая проблема. Есть MSSQL 2000 и соответственно база.
Нехорошие люди на живом работающем сервере изменилии структуру таблицы, изменили
тип данных двух столбцов. Таблица перестала работать.
Имем mdf и ldf файлы, если приаттачить на сервер видим пустую таблицы, при просмотре
mdf файла в блокноте, видим что данные есть. Бэкапов нет (мопед не мой).
Вопрос, возможно ли восстановить данные?
1 дек 09, 11:06    [8000789]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Kuks,

А что значит если приатачить видим что таблица пустая?
1 дек 09, 11:09    [8000809]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
Kuks

Имем mdf и ldf файлы, если приаттачить на сервер видим пустую таблицы,

И каким "прибором" вы рассматриваете вашу таблицу ?
1 дек 09, 11:09    [8000817]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
Делаю -> attache database, указываю mdf файл, потом selet * from <tabltneme>,
как результат вижу таблицу с нужными полями, но без данных.
1 дек 09, 11:11    [8000828]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
Kuks
Делаю -> attache database, указываю mdf файл, потом selet * from <tabltneme>,
как результат вижу таблицу с нужными полями, но без данных.

Ну так наверное кто-то удалил эти данные ?
1 дек 09, 11:12    [8000839]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Kuks,

А если создать нобую Б.Д. к примеру TEMP и заменить файл примари например на тот mdf что у вас есть результат тотже?
1 дек 09, 11:13    [8000846]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
пробую
1 дек 09, 11:15    [8000866]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Kuks,

Я думаю результат будет тот же

в помощь

ALTER DATABASE TEMP SET OFFLINE;
ALTER DATABASE TEMP MODIFY FILE (NAME = Archive, FILENAME = 'D:\DATABASE\TEMP.mdf');
ALTER DATABASE TEMP MODIFY FILE (NAME = Archive_log, FILENAME = 'D:\DATABASE\TEMP_log.ldf');
ALTER DATABASE TEMP SET ONLINE;
1 дек 09, 11:19    [8000882]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Eugene.ev
Member

Откуда: Киев
Сообщений: 119
Eugene.ev,

Сори немного не коректно вот коректный вариант.

ALTER DATABASE TEMP SET OFFLINE;
ALTER DATABASE TEMP MODIFY FILE (NAME = TEMP, FILENAME = 'D:\DATABASE\TEMP.mdf');
ALTER DATABASE TEMP MODIFY FILE (NAME = TEMP_log, FILENAME = 'D:\DATABASE\TEMP_log.ldf');
ALTER DATABASE TEMP SET ONLINE;
1 дек 09, 11:20    [8000891]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
firedup
Member

Откуда:
Сообщений: 11
Может попробовать восстановить из mdf, ldf во временную БД на тестовом а из нее DTS-ом или скриптом "вытащить" эту таблицу, сделать select чтобы формировался текст вида insert into ...
и вставить его на нужной БД?
1 дек 09, 11:35    [8001021]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
Поцепил базу, используя mdf, ldf файлы.
Прваый клик по имени таблицы->Open Table->Return all rows - пусто,
только имена полей....
1 дек 09, 11:40    [8001055]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Kuks
Поцепил базу, используя mdf, ldf файлы.
Прваый клик по имени таблицы->Open Table->Return all rows - пусто,
только имена полей....

удалили вам данные....
1 дек 09, 11:41    [8001066]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
Kuks
Поцепил базу, используя mdf, ldf файлы.
Прваый клик по имени таблицы->Open Table->Return all rows - пусто,
только имена полей....

Я думаю, что "нехорошие люди " кроме того, что "изменилии структуру таблицы, изменили
тип данных двух столбцов", еще и удалили все данные
1 дек 09, 11:42    [8001067]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Glory
Kuks
Поцепил базу, используя mdf, ldf файлы.
Прваый клик по имени таблицы->Open Table->Return all rows - пусто,
только имена полей....

Я думаю, что "нехорошие люди " кроме того, что "изменилии структуру таблицы, изменили
тип данных двух столбцов", еще и удалили все данные

Глори вопрос не от мира сего
если у него LDF есть может без mdf поднять ?
1 дек 09, 11:43    [8001075]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
ТАРАКАН

если у него LDF есть может без mdf поднять ?

Это как интересно ?
Сервер вдруг на пустом чужом mdf применит все транзакции взятые из ldf ?
1 дек 09, 11:48    [8001103]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
почему тогда я вижу данные при просмотре файла mdf в блокноте?
почему то исчез индекс, primary_key, возможно ли его восстановить?
1 дек 09, 11:52    [8001137]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
Kuks
почему тогда я вижу данные при просмотре файла mdf в блокноте?

Потому что удаление данных из таблицы не означает их "затирание" в файле
Просто страницы с данными помечаются как освобожденные.

Kuks

почему то исчез индекс, primary_key, возможно ли его восстановить?

Все подтвержденные действия стандартными средствами не отменяются
1 дек 09, 11:55    [8001169]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
firedup
Member

Откуда:
Сообщений: 11
Если вы говорите что видите эти данные в mdf файле, может стоит написать свою ппрограмму напрмиер на С++ которая пропарсит вам mdf файл как нужно или поискать в интернете проги которые вам помогут.
1 дек 09, 12:10    [8001315]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
да я готов написать прогу, но как его парсить?
я не знаю структуру mdf файла, может кто подскажет, кда копнуть?
1 дек 09, 12:28    [8001486]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 16825
есть куча таких прог. посмотри например lumigent log explorer.
1 дек 09, 12:32    [8001528]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Чего только люди не выдумывают, чтоб не делать регулярных бекапов :)
1 дек 09, 12:44    [8001638]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Заинтересовался данным вопросом и нашел прогу, через которую смогу увидеть удаленные данные, используя LDF файл.
http://www.quest.com/litespeed-for-sql-server/

отатачте файлы mdf и ldf
после установки откройте консоль, перейдите на вкладку LogReader далее выберите ReafOffLineLog...далее укажите путь к MDF файлу... далее вы все поймете....

Это вам поможет, если действительно были действия по удалению данных только в этом случае вы их увидите.

К сообщению приложен файл. Размер - 0Kb
1 дек 09, 13:02    [8001846]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Sklz
Member

Откуда: Питер
Сообщений: 34
Kuks,
как-то востанавливал этим
[url=]http://www.officerecovery.com/mssql/index.htm[/url]
1 дек 09, 13:08    [8001909]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
Спасибо, пробую
1 дек 09, 13:15    [8001982]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы MSSQL 2000  [new]
Kuks
Member

Откуда:
Сообщений: 117
С Вашей помощью и с помощью ЛайтСпид восстановил таблицу,
но она не проидексирована, как создать индекс?
Не предстваляю
1 дек 09, 14:35    [8002757]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить