I know that SQL Server Express is limited in its size but I don't know how to calculate and estimate the size needed. However, could you tell me roughly how many users and threads will it handle? Assuming that I am building a forum and this forum will contain categorie, under every category users can add questions to discuss and other user come and reply to these questions. Let's say it is something like serverfault but with less functionalities.

I think the maximum size of SQL Server Express is 10 GB, right? but I don't know in a web context this 10GB will stay with me unitl when, I want to estimate in numbers of useres, threads and replies added. Could you help please?

1 Answer
1

SQL Server Express uses the exact same engine as full scale SQL Server. That means your limitations for threads, users, etc. is largely going to be determined by your hardware (processors, RAM, and disk controllers) and your schema (indexing as well as complexity of common queries) not the database engine. I believe the Express edition still has processor and RAM limits, but I'm not sure what they are in 2008 R2.

The rate at which your DB grows is going to be determined exclusively by what content your system uses and the complexity of your schema -- a database which doesn't normalize data will have a lot of duplication and occupy more space more quickly.

Personally, I've run a fairly normalized database on MySQL for a web-app that was essentially an ERP system for a mid-size company. Information about work orders, purchase orders, inventory, job hours, and timesheets was all in this system, and the database went back about 3 years. That database was about 1 GB. On the other hand, I have a database right now which has about 5 million records from DHCP server logs I'm using to determine the cause of strange errors I'm seeing between DHCP and DNS on a network of about 2000 hosts. The database is extremely de-normalized (it's just an import of the csv logs and the computer inventories from OCS NG), allows a lot of null values, and has several multi-column indexes to optimize the common queries I run. That database is already 3 GB in SQL Server Express (but the queries run about two orders of magnitude faster than they did in Access 2010!).

On top, normally for a database the CPU is quite irrelevant - the main limitation is disc io first.
–
TomTomApr 10 '11 at 6:43

Yeah, if you're hitting a CPU limit you're probably missing a necessary index, and if not it's easily corrected by buying better hardware typically. I looked it up, and for reference, SQL Server Express 2008 R2 is limited to one CPU socket and 1 GB of RAM in addition to the 10 GB space limit. The memory limitation or disk limitation seem more likely to come into play than the CPU limitation.
–
Bacon BitsApr 10 '11 at 21:50