Find Last Restart of SQL Server
How can I tell when my SQL Server instance was last started? In this tip we look at various methods of how to get the start time for a SQL Server instance.
Here are a few different ways that you can tell when SQL Server was last started.
Method 1: Find Last Start Time for SQL Server using sys.dm_os_sys_info
This DMV, sys.dm_os_sys_info, contains a column that holds the startup time for SQL Server. You can run the following command to find the start time.
Method 2: Find Last Start Time for SQL Server using SQL Server Error Log
If you open the current SQL Server error log in SSMS under Management > SQL Server Logs and scroll to the bottom of the error log you can see when the server was started. Note the highlighted text below "SQL Server is starting". You will want to look for this to make sure the error log was not cycled and give you a false impression of the start time.
Here is an example of a cycled error log and note the highlighted text. If you see this you will need to look at a previous error log until you find the log that contains the information in the image above.
Note: if you are running the Express edition of SQL Server you cannot read the error logs directly from SSMS, but you can use xp_readerrorlog or navigate to the folder where the log files are stored and use a text editor to read the SQL Server error log files.
Method 3: Find Last Start Time for SQL Server using Dashboard Reports
Another option is to use the SQL Server Dashboard Report. Right click on the server name in SSMS and select Reports > Server Reports > Server Dashboard and you will get a report similar to the following.
Method 4: Find Last Start Time for SQL Server using Windows Event Viewer
Another option is to use Windows Event Viewer to look for the startup time. If you open Windows Event Viewer and filter your Event Sources (in our case MSSQL$SQL2008) for the SQL Server instance and Event ID 17162 you can find all of the startup times that are still in the Event Viewer log.
Here is a partial listing of the startup times for this instance.
- Hopefully this information comes in handy the next time you want to find out when SQL Server was started.
- I think the DMV is the easiest way, but this wasn't introduced until SQL Server 2008. Also, the Dashboard Report is probably new for SQL 2008 as well.
- The error log method can be used for pretty much any version of SQL Server.
Last Updated: 2011-09-19
About the author
View all my tips