Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have two SQL2005 databases on the same (Win2003 64-bit) server.

One of them is seldom used, but has a large data set. Every time I query from it, SQL decides to dedicate a few gigs of RAM to the database, and it seems to stay that way from then on until rebooted, cannibalizing RAM from the other more important database.

Is there some way to set a RAM limit per-database?

I don't mind if there is some swapping to disk when I query from the large, seldom-used database. The important thing is that the RAM is reserved for the more important one.

share|improve this question

2 Answers 2

up vote 1 down vote accepted

and it seems to stay that way from then on until rebooted

No, it does not.

Is there some way to set a RAM limit per-database?

Not in once instance.

I don't mind if there is some swapping to disk when I query from the large, seldom-used database

I would Server cache should never swap.

share|improve this answer

The Memory configuration is set at server level and it can only be set to a max value permitting other non-sql processes to run using a fixed amount of remaining RAM.

The single option is for you to install another instance (be it on the same server) and migrate the Memory consuming database there. In this way you can divide the Total RAM between big RAM consuming db's and medium RAM consuming db's. Don't forget to leave 1-2 GB as well for OS processes.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.