Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Récupérer les données mises à jour - SQL Server 2005

Bonjour AngelIII, le serveur SQL conserve un journal pour chaque transaction. Ainsi, vous pouvez également récupérer vos données modifiées à partir du journal sans sauvegarde.

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') 

Voici l'artcile, qui explique pas à pas, comment faire. http ://raresql.com/2012/02/01/how-to-recover-modified-records-from-sql-server-part-1/