Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Знайте как да възстановите изтрита таблица в SQL Server 2012 без архивиране

Резюме:Искате ли да знаете как да възстановите изтритата таблица в SQL Server 2012 без архивиране. Прочетете тази статия, за да възстановите изтрити обекти от база данни, като използвате ефективни и  бързи решения.

Понякога клиентът може да извърши АКТУАЛИЗИРАНЕ операция или ИЗТРИВАНЕ работа в базата данни на SQL Server, без да се прилага WHERE състояние. Това е типично обяснение за загубата на данни от таблици на SQL Server. Тъй като базата данни на SQL Server е изключително масова релационна СУБД сред корпоративните подразделения и организации, проблемът със загубата на данни се засилва много повече. Така че клиентите трябва да знаят за стратегиите за възстановяване на изтрити данни от таблицата на SQL Server, ако възникнат бедствия.

Изтритите редове могат да бъдат възстановени с помощта на LSN, ако времето за изтриване е известно. Това трябва да е възможно с помощта на последователни номера на журнала (LSN). LSN е специален идентификатор, даден на всеки запис, присъстващ в регистъра на транзакциите на SQL Server. Ще говорим за процедурата за възстановяване на изтрити данни и таблици на SQL Server с помощта на Transaction Log и LSNs.

Предложено: За избягване на дългия и неправилен ръчен LSN начин за справяне с възстановяването на изтрити записи от SQL таблица с помощта на задвижван инструмент на трета страна, например инструмента за възстановяване на база данни на SQL .

Процедура, за да знаете как да възстановите изтрита таблица в SQL Server 2012 без архивиране

Има няколко изисквания, които трябва да бъдат изпълнени, преди да започнем процедурата за възстановяване на изтрити данни от SQL таблицата. За да възстановите ефективно изтритите редове от таблица в базата данни на SQL Server, тя трябва да има модела за възстановяване BULK-LOGGED или FULL, когато изтриването се е случило първоначално. Необходими са някои бързи дейности, така че регистрационните файлове все още са достъпни, за да се извърши възстановяването на данни.

Следвайте стъпките, предложени по-долу, за да възстановите изтритите данни от SQL Server 2005, 2008, 2012, 2014 и 2016 чрез използване на регистрационни файлове за транзакции.

Стъпка 1

Проверете броя на редовете, присъстващи в таблицата, от които данните са били изтрити по невнимание, като използвате въпросния по-долу въпрос:

ИЗБЕРЕТЕ * ОТ име_на таблица

Стъпка 2

Направете резервно копие на регистрационния файл на транзакциите на базата данни, като използвате заявката, дадена по-долу:

ИЗПОЛЗВАЙТЕ име на база данни

ПРЕДИ

Резервно копие на дневника [Име на база данни]

ДО ДИСКА =N’D:\Име на база данни\RDDTrLog.trn’

С NOFORMAT, NOINIT,

NAME =N’Databasename-Transaction Log Backup’,

ПРОСКОЙ, NOREWIND, NOUNLOAD, STATS =10

ПРЕДИ

Стъпка 3

За да възстановим изтритите данни от таблицата на SQL Server, трябва да съберем някои данни за изтритите редове. Изпълнете заявката, предложена по-долу, за да постигнете тази причина

ИЗПОЛЗВАЙТЕ име на база данни

ПРЕДИ

Изберете [Current LSN], [Transaction ID], Operation, Context, AllocUnitName

ОТ

fn_dblog(NULL, NULL)

Операция WHERE =‘LOP_DELETE_ROWS’

От заявката, дадена по-горе, ще получим идентификатора на транзакцията (да речем 000:000001f3) на изтритите редове. В момента, когато тези редове са били изтрити, трябва да се реши да се използва този идентификатор.

Стъпка 4

В тази прогресия ще намерим конкретния момент, в който редовете са били изтрити, използвайки идентификатора на транзакцията 000:000001f3. Това завършва с изпълнение на запитването, дадено по следния начин:

ИЗПОЛЗВАЙТЕ име на база данни

ПРЕДИ

ИЗБЕРЕТЕ

[Текущ LSN], Операция, [ID на транзакцията], [Начално време], [Име на транзакцията], [SID на транзакцията]

ОТ

fn_dblog(NULL, NULL)

КЪДЕ

[ID на транзакцията] =‘000:000001f3’

И

[Operation] =„LOP_BEGIN_XACT“

При изпълнение на това запитване ще получим приблизителната оценка на текущия регистрационен номер (LSN) (да предположим 00000020:000001d0:0001).

Стъпка 5

В момента ще започнем процедурата за възстановяване за възстановяване на изтрити данни от редове на таблица на SQL Server, които са били загубени. Това е завършено с помощта на долната заявка:

ИЗПОЛЗВАЙТЕ име на база данни

ПРЕДИ

Възстановяване на DATABASE Databasename_COPY FROM

Plate =‘D:\Databasename\RDDFull.bak’

С

ПРЕМЕСТИ „Име на база данни“ КЪМ „D:\RecoverDB\Databasename.mdf“,

ПРЕМЕСТВАЙТЕ ‘Databasename_log’ КЪМ ‘D:\RecoverDB\Databasename_log.ldf’,

ЗАМЯНА, БЕЗ ВЪЗСТАНОВЯВАНЕ;

ПРЕДИ

  Стъпка 6

Понастоящем приложете регистър на транзакциите за възстановяване на изтрити редове, като използвате LSN 00000020:000001d0:0001:

ИЗПОЛЗВАЙТЕ име на база данни

ПРЕДИ

Възстановяване на LOG Databasename_COPY FROM DISK =N'D:\Databasename\RDOTrLog.trn' WITH STOPBEFOREMARK ='lsn:0x00000020:000001d0:0001' Забележка:Тъй като LSN стойностите са в структурата на LSN и за повторно преобразуване на u hexadestor LSN, трябва да го променим в десетична структура. Поради тази причина ние включваме 0x не много преди LSN, както се появи по-рано.

Стъпка 7

Процедурата за възстановяване на изтрити записи от SQL таблицата ще приключи ефективно. В момента проверете дали изтритите записи са отново в базата данни с име Databasename_Copy.

ИЗПОЛЗВАЙТЕ Databasename_Copy GO Изберете * от Table_name

  Ограничения на подхода към регистъра на транзакциите

  • Дълбоко досадна стратегия за възстановяване на изтрити данни от таблица на SQL Server, тъй като включва няколко обширни заявки, които трябва да бъдат изпълнени.
  • Удивително умопомрачително за актуализация за клиенти, които нямат достатъчно специализирани данни.
  • По-изявени шансове за загуба на данни поради грешки при прилагане и изпълнение на заявки.

Избираемо решение, което трябва да знаете Как да възстановите изтрита таблица в SQL Server 2012 без архивиране

Най-доброто избираемо решение е достъпно за възстановяване на редове от SQL Server 2019/2017/2016/2014/2012/2008/2005. Избирателното решение, за което говорим тук, може да разреши всеки един вид проблем, който се появява в SQL Server. Той може да коригира SQL грешки и да коригира SQL MDF и NDF файлове. Инструмент за възстановяване на SQL FreeViewer е бизнес инструмент, който позволява възстановяване на тригери, правила, функции, таблици. Освен това, той допълнително възстановява съхранените процедури в SQL Server ефективно без загуба на данни. Важната част е, че приложението предоставя много задвижвани опции, докато коригира повредени файлове с база данни на SQL Server. Освен това, това приложение показва изтритите записи на SQL таблица в червен цвят. Този продукт е добър с Microsoft Outlook 2019 и всички негови по-долу версии.

Изтеглете безплатната демо версия, за да разберете възможно най-добрия капацитет на приложението.

Стъпки за лесно възстановяване на изтрити обекти от база данни

  1. Изтеглете и изпратете  SQL Recovery инструмент и отворете MDF файла.
  2. Изберете алтернатива за предварително сканиране, Откриване версията на SQL Server за възстановяване на изтрити записи в SQL Server.
  3. Инструментът ще стартира Сканирането процедура на първичния файл на база данни (MDF)
  4. Вижте компонентите на SQL база данни, инструментът показва изтритите записи на SQL таблица в червен цвят. След това кликнете върху Експортиране
  5. Трябва да предоставите подробности за удостоверяване на базата данни в следващия сегмент.
  6. Проверете „Създаване на нова база данни“ опция и дайте име на база данни.
  7. Оставете базата данни „Със схема и данни“ с цел възстановяване на данни в изтритите редове в SQL Server. (Също така поставете отметка в квадратчето Експортиране на изтрити записи)
  8. В момента запазете отчета и отворете наскоро направената база данни, която съдържа възстановени записи.

Заключение

Прочетете също:Потребителят може също да прочете друга подобна публикация, за да знае най-добрите практики за възстановяване при аварийно възстановяване на Microsoft SQL Server.

Въпреки че LSN стратегията може да възстанови изтрити записи от SQL таблици, това е всичко друго, но не и предписан избор за клиентите поради многостранния си характер и повтаряемост. Вместо това се насърчава използването на автоматизирано решение, за да знаете как да възстановите изтрита таблица в SQL Server 2012 без архивиране.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въведение в SQL Server

  2. Добавете водещи и последващи нули в SQL Server

  3. T-SQL заявка за показване на дефиниция на таблица?

  4. Кога трябва да използваме NVARCHAR/NCHAR вместо VARCHAR/CHAR в SQL Server?

  5. Кеширане на временни обекти на SQL Server