Pelo que consegui encontrar na web, e neste site também, tentei todos os seguintes procedimentos (1 a 5) para recuperar a última data em que o SQL Server foi iniciado:
SELECT 0 as Id, SYSDATETIME() as DT
union
SELECT 1, sqlserver_start_time FROM sys.dm_os_sys_info
union
SELECT 2, login_time FROM sys.dm_exec_sessions WHERE session_id = 1
union
SELECT 3, start_time from sys.traces where is_default = 1
union
SELECT 4, crdate FROM sysdatabases WHERE name='tempdb'
union
SELECT 5, create_date FROM sys.databases WHERE name = 'tempdb'
O resultado é:
0 2025-04-17 23:38:26.9364166
1 2025-04-13 19:09:42.2000000
2 2025-04-13 19:09:44.3166667
3 2025-04-13 19:09:46.5600000
4 2025-04-13 19:09:51.0900000
5 2025-04-13 19:09:51.0900000
O problema: iniciei a máquina (e o SQL Server com ela) há apenas uma hora. Eu esperava algo como 2025-04-17 22:38... e não 2025-04-13 19:09.
Este servidor SQL está instalado em uma caixa VMware.
Em outro SQL Server, mesma edição e versão, tenho resultados corretos:
Id DT
0 2025-04-18 14:34:49.3442637
1 2025-04-18 14:34:03.4333333
2 2025-04-18 14:34:05.1233333
3 2025-04-18 14:34:09.7400000
4 2025-04-18 14:34:14.6100000
5 2025-04-18 14:34:14.6100000
Não consigo entender por que tenho resultados errados na máquina virtual. Eu inicio e desligo a máquina host e a VM convidada sempre que trabalho.
Estou esquecendo de alguma coisa aqui?
- SQL Server Dev Edition 2019