MS SQL Server - running slow

Hi All,

I was wondering if anyone knows how to speed up a database in MS SQL? - if at all possible?
Is there a way to optimise/index a current db so that queries will run faster?

Slightly new to advanced MS SQL Administration - so any help would be really usefull :-)

Who is Participating?
Mark WillsTopic AdvisorCommented:
There is a good word document to download from Microsoft - it shows the different problem areas and things to look out for, have attached it for you...

You will need to collect some empirical measurements, and you can gather these from both MS SQL and from runing performance monitor. For fine tuning looking at queries thats when you start using detailed tools such as Database Tuning Advisor and so forth.

You do need to take into account which versions you have (both sql server and windows), there are a few differences as to how much memory etc... And where you have your databases, Wndows Virtual Memory, temp files etc...

let us know if you want more specific pointers... Bare in mind that it is potentially a big area to contemplate...

You can also look at "Monitoring and Tuning for Performance" topic in SQL Server 2005 Books Online

There are a series of fairly easy to read "intro" documents from Brad McGeHee example :  - there are a few good articles there, and on technet...

set up a trace using the sql profiler and then have the database tuning advisor analyse the trace and make recommendation son which indexes and statsistic need updating
check ou tthe following guide with a basic example for how to use the advisor
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

With all due respect the Database tuning Advisor doesn't work against temporary tables so if you use them then it won't be of much help....

If you have the server up with awhile i.e. you haven't restarted it recently you could look at using the Index DMV's to identify any missing index's that could be applied ...check out the following as a starter

You should become familar with the DMV's on query stats aswell personally i think thier a very usful tool to have in your belt.....

Monitor CPU usage ..... Deadlocks....resource contention...I/O etc see where your getting hit. Then you can ask more specfic questions. Sometimes its hardware and not the database design thats the problem
On a side if you have alot of Dynamic SQL you should consider turning on 'Forced Parameterization'
With a ll due respect user states that they are new to sql server administration and therefore start at the beginning, if they are new to teh system then getting complicated by going into temp tables etc is going to get confusing very fast, the tuning advisor is built in, easy to use and gives good insight into how indexes and statstics can increase speed of your db before goinmg into looking at bottlenecks, IO activity, query execution plans etc.
chouckhamAuthor Commented:
Thank you guys!

I appreciate all of your posts! :-)

I will attempt the basics first as outlined.. then move onto the next steps -  i had already considered the hardware to be a problem - i.e. RAID 5 set up etc.. (which isnt ideal) increase in RAM (as this is also fully used) and CPU usage seems to be extremly high whilst running a custom SQL query.

I will let you know the outcome and then we can try other things.

for the queries running high overheads check teh query execution plan an option within the management studio and where searches occur see ifthere are any full table scans as these create high overheads by scanning complete tables instead of indexes
Fair enough i'm just pointing out that if you use temp tables the tuning advisor will not be of any use thats all...i didn't intend to sound like an ass, sorry if i did.
wasnt meant to cause offence mate!! your comment def holds credence and good information just taking into account users level of expertise affects where you pitch yoru repsonse sometimes ;o) Always good having extra mins on a problem though ;o)
Guy Hengel [angelIII / a3]Billing EngineerCommented:
first, you have to check the (sql) server configuration:
* RAM vs Max Memory setting
* CPU => parallel query execution
* Database Recovery mode vs backup (log) strategy
* Disk layout vs database file locations

next, per database you can optimize by using
* filegroups
* indexes

do you need details (apart from what you can google around :) ) ?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.