You should be able to ask the developer for the query since you are the DBA.There are great information here on SQLTeam.Here are some other sites (and a lot more that I may have missed) you can check out:Brentozar.comSQLSkills.commssqltips.comSimple-talk.comI cannot remember which site I got the information from but below is an example script to get query information from DMV (Dynamic Management Views).We use a modified version of below script running in a job every x minutes against one of our database to get notification of blocks or queries running greater than a certain period of time.You need to change the code below to capture the developer "where (SES.login_name = 'USERID'"From the information captured:>> wait_type and last_wait_type>> plan_handle - use sys.dm_exec_query_plan to get plan information>> text - SQL Query that was being run>> Blocking_session_idif OBJECT_ID('TempDB.dbo.#MonitorInfo') IS NULLBEGIN CREATE TABLE [dbo].[#MonitorInfo]( [MonId] [int] IDENTITY(1,1) NOT NULL, [dttime] [datetime] NULL, [login_name] [nvarchar](128) NULL, [host_name] [nvarchar](128) NULL, [session_id] [smallint] NOT NULL, [total_elapsed_time] [int] NOT NULL, [status] [nvarchar](30) NOT NULL, [blocking_session_id] [smallint] NULL, [program_name] [nvarchar](128) NULL, [wait_type] [nvarchar](60) NULL, [wait_time] [int] NOT NULL, [last_wait_type] [nvarchar](60) NOT NULL, [start_time] [datetime] NOT NULL, [open_transaction_count] [int] NOT NULL, [percent_complete] [real] NOT NULL, [estimated_completion_time] [bigint] NOT NULL, [reads] [bigint] NOT NULL, [writes] [bigint] NOT NULL, [deadlock_priority] [int] NOT NULL, [command] [nvarchar](16) NOT NULL, [statement_start_offset] [int] NULL, [statement_end_offset] [int] NULL, [database_id] [smallint] NOT NULL, [sql_handle] [varbinary](64) NULL, [plan_handle] [varbinary](64) NULL, [text] [nvarchar](max) NULL, PRIMARY KEY CLUSTERED ( [MonId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] ALTER TABLE [dbo].[#MonitorInfo] ADD DEFAULT (getdate()) FOR [dttime]END-- ===========================================================-- Save into table multiple times-- ===========================================================insert into [dbo].[#MonitorInfo] (dttime, login_name, host_name , session_id, total_elapsed_time, status , blocking_session_id, program_name, wait_type , wait_time, last_wait_type, start_time , open_transaction_count, percent_complete , estimated_completion_time, reads, writes , deadlock_priority, command, statement_start_offset , statement_end_offset, database_id, sql_handle , plan_handle, text)select GETDATE() , SES.login_name , SES.[host_name] , RE.session_id , RE.total_elapsed_time , RE.[status] , RE.blocking_session_id , SES.[program_name] , RE.wait_type , RE.wait_time , RE.last_wait_type , RE.start_time , RE.open_transaction_count , RE.percent_complete , RE.estimated_completion_time , RE.reads , RE.writes , RE.[deadlock_priority] , RE.command , RE.statement_start_offset , RE.statement_end_offset , RE.database_id , [sql_handle] , plan_handle , txt.textfrom sys.dm_exec_requests RE cross apply sys.dm_exec_sql_text(RE.sql_handle) txt left outer join sys.dm_exec_sessions SES on RE.session_id = SES.session_idwhere (SES.login_name = 'USERID') -- change to specific user running the queryWAITFOR DELAY '00:00:01'; -- Change Wait timeGO 60 -- Change to repeat for shorter or longerselect *from [dbo].[#MonitorInfo]-- Drop temp database after review/*drop table [dbo].[#MonitorInfo]*/