Pytanie: czy na SQL Server 2005 da się zobaczyć, jaki jest postęp operacji ROLLBACK?
Odpowiedź brzmi: tak. Niektóre operacje (DBCC CHECKDB, DBCC SHRINKDATABASE, DBCC SHRINKFILE, BACKUP DATABASE, ROLLBACK) wewnętrznie notyfikują postęp operacji. Do informacji tej można dotrzeć przy pomocy odpowiednich kolumn widoku systemowego
sys.dm_exec_requests:
SELECT start_time, percent_complete, estimated_completion_time
FROM sys.dm_exec_requests;
W powyższy sposób nie da się natomiast określić postępu zwracania danych działającego zapytania. Jeżeli chodzi o postęp transakcji, to można różnymi wysoce niestandardowymi i przybliżonymi metodami próbować szacować ilość rekordów, jaka pojawia się w dzienniku transakcyjnym. Na tej podstawie możemy wnioskować, czy dana transakcja rzeczywiście modyfikuje w danym momencie dane i jakie jest względne tempo tych modyfikacji. Wykorzystamy do tego celu funkcję
fn_dblog().