2008-10-14 4 views
2

Я запустил несколько сценариев «ALTER» в базе данных [SQL Server Server 2005] и перезаписал некоторые sprocs. Есть ли способ отменить изменения и вернуть моих старых sprocs?Отменить изменения в базе данных SQL Server 2005

Есть ли способ получить скрипты, выполненные из файла .LDf? Таким образом, я могу повторно запустить свой первоначальный скрипт «create» для моих sprocs.

У меня нет резервного файла со старыми sprocs.

p.s. я поддержал БД в соответствии с @Gulzar's удаленным ответом, и выглядит так, как будто я «hosed».

@Pittsburgh DBA: thanx для решения, но он не работает после резервного копирования.

MORAL: Подождите 10 минут, прежде чем пытаться предлагаемые ответы из


Обновление от Gulzar: То, что я имел в виду файл резервной копии, прежде чем пытаться что-либо (быть безопасным). Не резервная копия SQL Server.

+0

да ... он меня обманул – 2008-10-15 00:16:32

+0

Ну, я оставлял комментарии по этому вопросу до тех пор, пока у меня не было шанса узнать, есть ли какая-то необычная новая функция, о которой я как-то не знал. То, что с вами произошло, объясняется более подробно. Здесь: http://blogs.msdn.com/arvindsh/archive/2007/06/15/the-role-of-stopat-in-restore-database.aspx – 2008-10-15 00:34:29

ответ

4

ПЕРВЫЙ: НЕ ПРИНИМАЙТЕ ЛЮБЫЕ РЕЗУЛЬТАТЫ ТОЛЬКО ЕЩЕ.

На рынке есть несколько инструментов для такого рода вещей.

Вы можете попробовать это:

ApexSQL Log

1

И после этого, смотрите в использовании ApexSQLScript, чтобы скрипт из баз данных на регулярной основе (и хранить в системе управления версиями).

2

В случае, если у кого-то еще такая же проблема: выполняли ли вы резервные копии журнала транзакций каждые X минут? Если это так, вы можете использовать программу чтения журнала Quest LiteSpeed ​​или Quest Toad для чтения журнала SQL Server для чтения резервных копий файлов журнала. Он также дает сценарии отмены/повтора для любой транзакции в резервных копиях журналов или в ldf.

0

yo делаю !! перейдите в студию управления сервером sql, подключитесь к своему db, щелкните левой кнопкой мыши на своем db и перейдите к «задачам». выберите restore -> database. , затем нажмите кнопку «timeline» и выберите «определенную дату» и выберите день перед вашей ошибкой. Все программы, имеющие доступ к вашему db mus, должны быть закрыты. Это сработало для меня, у меня был такой же самый пробник.

Смежные вопросы