Solved

SQL query to get Process ID

Posted on 2008-06-20
8
14,137 Views
Last Modified: 2011-03-21
Hi there,

Is it possible to get the client process ID of an application that runs on SQL server?
0
Comment
Question by:weinrosni
8 Comments
 
LVL 39

Assisted Solution

by:appari
appari earned 50 total points
ID: 21829218

select @@SPID
0
 
LVL 14

Accepted Solution

by:
rob_farley earned 150 total points
ID: 21829537
If you're connecting as a different user, and want to see the sessions that a particular application has open, you could look in sys.dm_exec_sessions - lots of nice information there.

Hopefully the applicationname is being set in the ConnectionString - that'll hel

Rob
0
 
LVL 14

Expert Comment

by:rob_farley
ID: 21829542
(sorry - annoying touchpad click)

If you're connecting as a different user, and want to see the sessions that a particular application has open, you could look in sys.dm_exec_sessions - lots of nice information there.

Hopefully the applicationname is being set in the ConnectionString - that'll help you see which sessions are from what.

Rob
0
 
LVL 13

Assisted Solution

by:MikeWalsh
MikeWalsh earned 150 total points
ID: 21830305
You were asking for the client process ID. I presume you mean the actual Windows Server/OS PID that you would see in Task Manager.

You want to look at the Host_Process_ID column in the sys.dm_exec_sessions dmv.

Example: select host_process_id from sys.dm_exec_sessions

Obviously you would want to grab more information but the host_process_id should show you the process_id of any Sessions going on in SQL Server that are being executed from an outside process. Using that with Hostname should help you find what you are looking for.
0
Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

 
LVL 1

Assisted Solution

by:hennessym
hennessym earned 150 total points
ID: 21834838
You could also try sp_who2.  That will give you the SPID, hostname, database, and other interesting information.
0
 
LVL 13

Expert Comment

by:MikeWalsh
ID: 21835410
The reason I didn't specify SP_WHO2 is because that is a proc that microsoft is moving away from. It is there for backwards compatability and the new DMV referenced is the proper replacement.

I also didn't mention select @@spid because that will give you the current SQL Server process ID/session_id of the SSMS session you are in but that is the internal to SQL Server process information not the process_id within windows on the host that is calling the SQL.

It sounds like that is what the author is asking for.
0
 

Author Comment

by:weinrosni
ID: 22013565
Thanks all. All of your comments did help me finding out more information about what i was after. I have distributed the points evenly.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 35185398
I found this thread by looking for the same information as the asker; assuming that I'm probably not the only one who has, it should be noted that the only correct answer is http:#21830305, however even there the comments seem to be wrong.

Client process id has nothing to do with the processes on the server machine where sql server runs. The term "Client process id" appears only in the documentation on the Profiler, as one of the columns, and is the process id of the client application that has requested the data, on the client machine. If the same client application has opened several connections to sql server, these connections will have different spid, but the same client process id. For example, Microsoft Access ADP is opening several connections to the database.

One practical use of client process id is uniquely identifying the client application working with the data, so even if the user has opened two instances of the same application, they wouldn't use each other's data. This can happen if the application is using a permanent table like a temporary one, for storing intermediate data.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now