Finding the 10 longest running Query in SQL Server:
Finding the ROW COUNT in tables of a Database:
This Example uses the Adventureworks database you can run in a Newquery window with already selected database or just give the name in use to use the specific database.
Finding the Running Queries in Server:
Last Sucessfull Queries:
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query] FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
Check the Percentage of backup happening
The sys.dm_exec_sessions will have all the active sessions of a user. The details like session_id, Login time can be known from the below queries. Once the active sessions are found they can be killed using KILL command.
Finding The Tables count in a database
Run following query to find longest running query using T-SQL.
SELECT DISTINCT TOP 10t.TEXT QueryName,s.execution_count AS ExecutionCount,s.max_elapsed_time AS MaxElapsedTime,ISNULL(s.total_elapsed_time / s.execution_count, 0) AS AvgElapsedTime,ISNULL(s.execution_count / DATEDIFF(s, s.creation_time, GETDATE()), 0) AS FrequencyPerSecFROM sys.dm_exec_query_stats sCROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) tORDER BYs.max_elapsed_time DESC
Note: sys.dm_exec_query_stats is the System view in master Database which has the query status.Finding the ROW COUNT in tables of a Database:
GOSELECT OBJECT_NAME(OBJECT_ID) TableName, st.row_countFROM sys.dm_db_partition_stats stWHERE index_id < 2ORDER BY st.row_count DESCGOFinding the Running Queries in Server:
SELECT sqltext.TEXT,
req.session_id,
req.status,
req.command,
req.cpu_time,req.total_elapsed_time FROM sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
Last Sucessfull Queries:
ORDER BY deqs.last_execution_time DESC
Checking for a column name in all the tablesSELECT name FROM sysobjects WHERE id IN ( SELECT id FROM syscolumns WHERE name like '%Terminal%' or name like '%Merchant%' )
Check the Percentage of backup happening
SELECT A.NAME,B.TOTAL_ELAPSED_TIME/60000 AS [Running Time],B.ESTIMATED_COMPLETION_TIME/60000 AS [Remaining],B.PERCENT_COMPLETE as [%],(SELECT TEXT FROM sys.dm_exec_sql_text(B.SQL_HANDLE))AS COMMAND FROM MASTER..SYSDATABASES A, sys.dm_exec_requests B WHERE A.DBID=B.DATABASE_ID AND B.COMMAND LIKE '%BACKUP%' order by percent_complete desc,B.TOTAL_ELAPSED_TIME/60000 desc
Finding the active sessions of a user:
The sys.dm_exec_sessions will have all the active sessions of a user. The details like session_id, Login time can be known from the below queries. Once the active sessions are found they can be killed using KILL command.
SELECT session_idFROM sys.dm_exec_sessionsWHERE login_name = <User_name>KILL <session_id>
The below is the query which can be used for to see how much time elapsed after the user was logged in.
select login_name,session_id,LOGIN_time, DATEDIFF(s,login_time,getdate())/60 as 'TimeElapsedinminutes' from sys.dm_exec_sessions where login_name='<any valid Username>'
Finding The Tables count in a database
USE <DBNAME>
SELECT COUNT(*) from information_schema.tables WHERE table_type = 'base table'
No comments:
Post a Comment