Which Transact-SQL statement should you use?

You administer a Microsoft SQL Server 2012.
A process that normally runs in less than 10 seconds has been running for more than an hour.
You examine the application log and discover that the process is using session ID 60.
You need to find out whether the process is being blocked. Which Transact-SQL statement should you use?

You administer a Microsoft SQL Server 2012.
A process that normally runs in less than 10 seconds has been running for more than an hour.
You examine the application log and discover that the process is using session ID 60.
You need to find out whether the process is being blocked. Which Transact-SQL statement should you use?

A.
EXEC sp_who 60

B.
SELECT * FROM sys.dm_exec_sessions WHERE sessionid = 60

C.
EXEC sp_helpdb 60

D.
DBCC INPUTBUFFER (60)

Explanation:
http://msdn.microsoft.com/en-us/library/ms174313.aspx
http://msdn.microsoft.com/en-us/library/ms176013.aspx
http://msdn.microsoft.com/en-us/library/ms178568.aspx
http://msdn.microsoft.com/en-us/library/ms187730.aspx



Leave a Reply 3

Your email address will not be published. Required fields are marked *


SR

SR

I think is also correct B, but probably the best choice is A in this context

John

John

B is incorrect because there isn’t a column named sessionid. It’s called session_id

Slazenjer_m

Slazenjer_m

@John:
Correct answer is A. The DMV “sys.dm_exec_sessions” will not give you this info; you’d need to issue:

SELECT * FROM sys.dm_exec_requests WHERE sessionid = 60