SELECT [Transaction ID],
CONVERT(varchar, [RowLog Contents 0]),
CONVERT(varchar, [RowLog Contents 1]),
CONVERT(varchar, [RowLog Contents 2]),
CONVERT(varchar, [RowLog Contents 3]),
CONVERT(varchar, [RowLog Contents 4]),
CONVERT(varchar, [RowLog Contents 5])
FROM sys.fn_dblog (NULL, NULL)
WHERE operation = 'LOP_INSERT_ROWS'
Работает. А у вас?
Или вас не устраивают получаемые CONVERT(varchar, [RowLog Contents 0])? В сети есть ответ:
Для каждого типа транзакций используются разные столбцы, для того, чтобы получить нужную вам информацию вы должны точно знать какие столбцы используются для каких транзакций, а сделать это не просто, так, как официальной документации с описанием нет.
Вставленные и удаленные строки хранятся в шестнадцатеричных значениях. Для того, чтобы вытащить данные из этих значений вы должны знать формат хранения, понимать биты состояний, знать общее количество столбцов и так далее.
данные в hex значении мне не понятны
В сети есть описание структур [RowLog Contents 0], например:
Forensics или
Decoding a Simple Update Statement Within the Tran... и пр.
Если вам нужны только цифры бит без префикса используйте
CONVERT(VARCHAR,[RowLog Contents 0],2)
.