Если у вас есть (скажем) 10 резервных копий журнала транзакций и некоторые из них, возможно, все или ни одна из них была восстановлена в базе данных. Есть ли способ определить, какие файлы уже были восстановлены?
Спасибо
Дэйв
Вы захотите сопоставить первый / последний lsn из запущенного RESTORE HEADERONLY FROM DISK = N'E:\PathToBackup\test.trn' WITH NOUNLOAD
С информацией LSN из dbcc log (mydb)
Однако для использования LSN из команды dbcc необходимо преобразовать. Например, если у вас есть LSN из команды журнала dbcc, которая выглядит как 00000014:00000157:0003
вам нужно будет сделать следующее:
select
left(convert(int, 0x00000014) * 1000000, 6) +
right(convert(int, 0x00000157) + 1000000, 6) +
right(convert(int, 0x0003) + 1000000, 5)
Примечание: есть небольшие споры там о том, как это правильно преобразовать, и вышеприведенное решение - своего рода взлом. Лучше всего использовать UDF в эта статья в базе знаний.