> Hvad SP kan udføre det??
> Og er det filen "databasenavn_log.ldf"?, tror nok den hedder ldf
Aner det ikke - der er vist ikke en Stored Procedure til det ... det er jo
en opgave man ikke "bare" begiver sig ud i.
Men gernerelt kan man kun bruge en transaktionslog til to ting:
1.) Lave en øjeblikkelig rollback på en transaktion der ikke er gennemført
korrekt
2.) Anvende loggen til at genetablere basen som den så ud på et præcist
tidspunkt. Dette anvendes ofte hvis serveren har haft en alvorlig fejl eller
lign.
Bemærk: hvis man anvender distribuerede/replikerede databaser må man IKKE
gøre dette uden ekspert hjælp !!!
Eksemplet her er hapset fra internettet:
-- Restore the database from a previous full dump and
leave it ready to accept the log restore(s).
RESTORE DATABASE PUBS FROM DISK = N'C:\BACKUPS\
FULLDUMP.DMP' WITH NORECOVERY
-- Now you roll the log forward to the appropriate
point in time and make the database available for use.
-- Note that STOPAT is disallowed during intervals
in which the database is undergoing operations that
are bulk-logged.
RESTORE LOG PUBS FROM DISK=N'C:\BACKUPS\LOGDUMP.DMP' WITH RECOVERY,
STOPAT='02/11/2002 17:35:00
Der ud over fandt jeg et andet eksempel der ikke er baseret på et bestemt
tidspunkt, men i stedet på en bestemt transaktion som man har
identificeret:
-- Mark to Restore a Log to a Predefined Point in Time
-- Put a mark into the transaction log.
-- Note that the marked transaction must commit
at least one update to mark the log.
BEGIN TRAN MYMARK WITH MARK
UPDATE PUBS.dbo.LastLogMark set MarkTime = GETDATE()
COMMIT TRAN MYMARK
-- Back up the transaction log as you usually do.
BACKUP LOG PUBS TO DISK='C:\BACKUPS\FULLDUMP.DMP' WITH INIT
-- Now you can restore the database up to the log mark.
-- First restore the database and leave it ready to
accept the log restore(s).
RESTORE DATABASE PUBS FROM DISK=N'C:\BACKUPS\FULLDUMP.DMP' WITH
NORECOVERY
-- Now restore the log up to and including the mark and
make it available for use.
-- Note that STOPATMARK is disallowed during intervals
in which the database is undergoing operations
that are bulk-logged.
RESTORE LOG PUBS FROM DISK=N'C:\BACKUPS\ LOGDUMP.DMP' WITH RECOVERY,
STOPATMARK='MYMARK'
Tak til websitet "WindowsITPro" for at sørge for, at jeg ikke selv behøvede
at slå op i dokumentationen ...
- Jesper