Wie kann ich feststellen, wie lange bereits eine SQL Server 2005 Instanz läuft
Der Startzeitpunkt des MS SQL Servers steht im Fehlerprotokoll, in der untersten Zeile, des Servers.
Da der MS SQL Server beim Starten für interne Prozesse auch einige Verbindungen verwendet und diese mit der Session_ID=1 initialisiert werden, kann man folgendes Script anwenden:
DECLARE @elapsed_time AS DATETIME, @lr_start_time AS DATETIME
SELECT @lr_start_time = (SELECT last_request_start_time FROM sys.dm_exec_sessions WHERE session_id=1)
SELECT @elapsed_time = GETDATE()- @lr_start_time
SELECT DATEDIFF(day,0,@elapsed_time) AS 'TAGE',
DATEPART(hour,@elapsed_time) AS 'STUNDEN',
DATEPART(minute,@elapsed_time) AS 'MINUTEN',
DATEPART(second,@elapsed_time) AS 'SEKUNDEN',
DATEPART(millisecond,@elapsed_time) AS 'MILLISEKUNDEN'
| Anhang | Größe |
|---|---|
| query_sys_dm_exec_sessions.txt | 1.01 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
- 373 Aufrufe



















Ebis
Als View wärs prkatischer:
CREATE VIEW [dbo].[Uptime] AS
SELECT DATEDIFF(day, 0, elapsed_time) AS TAGE
, DATEPART(hour, elapsed_time) AS STUNDEN
, DATEPART(minute, elapsed_time) AS MINUTEN
, DATEPART(second, elapsed_time) AS SEKUNDEN
, DATEPART(millisecond, elapsed_time) AS MILLISEKUNDEN
FROM (SELECT GETDATE() - last_request_start_time AS elapsed_time
FROM master.sys.dm_exec_sessions
WHERE session_id = 1
) AS X
Hallo Ebis,
warum wäre es praktischer? Ist dieses kleine TSQL-Statement es wert eine Sicht zu erstellen?
CU
tosc
Bis die Abfrage eingeben ist, die man dann auch nicht im Kopf hat, wenn man sie braucht...
an Uptime erinnert man sich schon mal eher (jedenfalls geht es mir so) oder man kann Sie halt unter den eigenen Sichten schnell finden
Ebis
hm, jeder so wie er will und kann - tendenziell würde ich eher solche Scripte im Projektmappen-Explorer verbannen.
Auf einem Produktiv-System - haben solche Views, auch wenn es Admin/DBA-Views sind - meines Erachtens nichts zu suchen.
CU
tosc