There was an interesting question posted on a forum recently, asking how can you tell which sqlservr.exe process (shown in task manager) is mapped to which specific instance of SQL Server running on a server, if you have a multi-instance server and the account running each separate SQL Service is the same. I won’t go into the details of the post, but I thought the answer worth of a post of my own. As with most things in SQL Server there is more than one way to obtain this information.
Let’s assume that you, like me, have two instances running on you server: when you go to task manager you will see two sqlservr.exe processes listed under the processes tab
The first thing that I would do is add a column called PID to this view. Select <View> <Select Columns…> from the toolbar menu. Select the PID (Process Identifier) column checkbox and select <OK>
This will give you the process ID of each process running on your machine and displayed in task manager including your two sqlservr.exe processes.
Now you have the process id of each process you can either:
- Open up SQL Configuration Manager
- On the SQL Services tab right click on the SQL instance that you want to match up to a process
- Select <Properties> and click the <Services> tab
- On the general tab you should see a process id property
The other alternative, is to connect to each instance in SSMS (Management Studio) and open the SQL Server log. When the service starts up it writes the process ID to the SQL Server log. So if you go to the start of your log file you should see an entry similar to the following: