sql >> Database teknologi >  >> RDS >> Sqlserver

Gendan opdaterede data - SQL Server 2005

Hej AngelIII, SQL-serveren fører log for hver transaktion. Så du kan også gendanne dine modificerede data fra loggen uden backup.

Select [PAGE ID],[Slot ID],[AllocUnitId],[Transaction ID] ,[RowLog Contents 0]
, [RowLog Contents 1],[RowLog Contents 3],[RowLog Contents 4] ,[Log Record]
FROM    sys.fn_dblog(NULL, NULL)   
WHERE AllocUnitId IN 
(Select [Allocation_unit_id] from sys.allocation_units allocunits 
INNER JOIN sys.partitions partitions ON (allocunits.type IN (1, 3)   
AND partitions.hobt_id = allocunits.container_id) 
OR (allocunits.type = 2 AND partitions.partition_id = allocunits.container_id)   
Where object_id=object_ID('' + 'dbo.student' + '')) 
AND Operation in ('LOP_MODIFY_ROW','LOP_MODIFY_COLUMNS')  
And [Context] IN   ('LCX_HEAP','LCX_CLUSTERED') 

Her er artcilen, der forklarer trin for trin, hvordan man gør det. http://raresql.com/2012/02/01/how-to-recover-modified-records-from-sql-server-part-1/



  1. Hvordan kan jeg omskrive denne forespørgsel for at undgå fejlen:Du kan ikke angive måltabel for opdatering i FROM-klausulen

  2. Sådan skjuler du MySQL Connection String- Brugernavn og adgangskode på GitHub (Java)

  3. Hvordan migrerer man en PostgreSQL-database til en SQLServer-database?

  4. Tablespaces i Oracle