Ibland blir man riktigt förvånad när man upptäcker vissa konfigurationer. Detta mötte mig för ett…
Hur ofta skulle man inte vilja veta när vissa operationer beräknas vara klara. Detta är faktiskt möjligt i SQL Server och med dessa:
- ALTER INDEX REORGANIZE
- AUTO_SHRINK option with ALTER DATABASE
- BACKUP DATABASE
- DBCC CHECKDB
- DBCC CHECKFILEGROUP
- DBCC CHECKTABLE
- DBCC INDEXDEFRAG
- DBCC SHRINKDATABASE
- DBCC SHRINKFILE
- RECOVERY
- RESTORE DATABASE
- ROLLBACK
- TDE ENCRYPTION
Ett exempel nedan med RESTORE :
Detta har man otroligt stor hjälp av och hur ofta får vi inte frågan “När är det klart ?”, och här får vi i alla fall en beräknad tid samt att man ser att någonting faktiskt händer.
Koden följer här:
SELECT session_id , percent_complete , cpu_time , total_elapsed_time , start_time , CASE WHEN estimated_completion_time < 36000000 THEN '0' ELSE '' END + RTRIM(estimated_completion_time / 1000 / 3600) + ':' + RIGHT('0' + RTRIM(( estimated_completion_time / 1000 ) % 3600 / 60), 2) + ':' + RIGHT('0' + RTRIM(( estimated_completion_time / 1000 ) % 60), 2) estimate_completion_hh_mm_ss , DATEADD(n, ( estimated_completion_time / 60 / 1000 ), GETDATE()) AS estimated_completion_time , command FROM sys.dm_exec_requests WHERE percent_complete > 0