Performance degradation can happen due to multiple reasons. The main bottlenecks that would affect performance are:
- Memory
- Disk IO
- CPU
- Blocking
- System resource contention
- Application design problems
- Queries or stored procedures that have long execution times
Please check the Article below which has articles from Symwise, Connect, Few Querys, 3rd Party Tools and Articles
Articles from SymWise
Creating a maintenance plan in SQL Server 2005 or 2008 to optimize database performance
http://www.symantec.com/docs/HOWTO8589
SQL Tuning and Performance
http://www.symantec.com/docs/HOWTO5289
Notification Server performance issues due to SQL index fragmentation
http://www.symantec.com/business/support/index?page=content&id=TECH28827
Articles from Connect
The Story of a Very Expensive Filter
http://www.symantec.com/connect/blogs/story-very-expensive-filter
Use of SQL Queries and performance
http://www.symantec.com/connect/forums/use-sql-queries-and-performance
SQL Querys
Query to check the largest Column within CMDB
select c.collectionguid, count(*), vi.Name
from collectionmembership c join vItem vi on c.CollectionGuid = vi.Guid
group by collectionguid, vi.Name
having count(*) > 1
order by count(*) desc
This query will help you while troubleshooting on the performance issue to find out the largest table within CMDB
SELECT OBJECT_NAME(OBJECT_ID)
TableName, st.row_count FROM sys.dm_db_partition_stats st
WHERE index_id < 2 ORDER BY st.row_count DESC
Following script find out which are the queries running currently on your 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
While running above query if you find any query which is running for long time it can be killed using following command.
KILL [session_id]
3rd Party Tools and Articles
Tools to help database administrators manage the performance of Microsoft SQL Server.
RML Utilities for SQL Server (x86)
http://www.microsoft.com/en-us/download/details.aspx?id=8161
SQL Nexus Tool
SQL Nexus is a tool that helps you identify the root cause of SQL Server performance issues. It loads and analyzes performance data collected by SQLDiag and PSSDiag. It can dramatically reduce the amount of time you spend manually analyzing data.
http://sqlnexus.codeplex.com/
How to troubleshoot SQL Server performance issues
http://support.microsoft.com/kb/298475
HOW TO: Troubleshoot Application Performance with SQL Server
http://support.microsoft.com/kb/224587/en-us