By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,117 Members | 2,178 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,117 IT Pros & Developers. It's quick & easy.

Database size question

P: n/a
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?

Jul 20 '05 #1
Share this Question
Share on Google+
19 Replies


P: n/a
dchow wrote:
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?

On what hardware?

From where I sit you've probably already passed that point you just
don't know it.

But until end-users start complaining I'd stay where you are while
getting ready to either
archive off what isn't required or move to Oracle, DB2, or Informix on a
UNIX platform.

--
Daniel Morgan
http://www.outreach.washington.edu/e...ad/oad_crs.asp
http://www.outreach.washington.edu/e...oa/aoa_crs.asp
da******@x.washington.edu
(replace 'x' with a 'u' to reply)

Jul 20 '05 #2

P: n/a
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.
On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
<da******@x.washington.edu> wrote:
dchow wrote:
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?

On what hardware?

From where I sit you've probably already passed that point you just
don't know it.

But until end-users start complaining I'd stay where you are while
getting ready to either
archive off what isn't required or move to Oracle, DB2, or Informix on a
UNIX platform.


Jul 20 '05 #3

P: n/a
dchow wrote:
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.

You say 50G SCSI hard disk like it is a single disk? Not a good
situation with any RDBMS.

I'd say your are already runnnig far under what other RDBMS products
could do. But does
it matter? Not until end-users start to notice a difference or some
process starts taking longer
than its window allows.

--
Daniel Morgan
http://www.outreach.washington.edu/e...ad/oad_crs.asp
http://www.outreach.washington.edu/e...oa/aoa_crs.asp
da******@x.washington.edu
(replace 'x' with a 'u' to reply)

Jul 20 '05 #4

P: n/a
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.
On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
<da******@x.washington.edu> wrote:
dchow wrote:
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?


<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon
Jul 20 '05 #5

P: n/a

"dchow" <dc***@hotmail.com> wrote in message
news:mo********************************@4ax.com...
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?
Max size is "huge" far larger than anything you'll encounter (heck, just
buying the disks to reach the max size will break most budgets).

That's not a large DB by any means.

What's more important is your hardware and indexes.

If you have fast drives (and keep your log files on a separate physical set
of drives) and good indices, things should be fairly fast.

Our largest DB is 78 GB and that's under SQL 7.0.

Our largest under SQL 2K is 37G and growing and still very fast.


Jul 20 '05 #6

P: n/a

"dchow" <dc***@hotmail.com> wrote in message
news:mo********************************@4ax.com...
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?
Max size is "huge" far larger than anything you'll encounter (heck, just
buying the disks to reach the max size will break most budgets).

That's not a large DB by any means.

What's more important is your hardware and indexes.

If you have fast drives (and keep your log files on a separate physical set
of drives) and good indices, things should be fairly fast.

Our largest DB is 78 GB and that's under SQL 7.0.

Our largest under SQL 2K is 37G and growing and still very fast.


Jul 20 '05 #7

P: n/a
Thanks Greg. That was what I hope to hear.

On Tue, 28 Oct 2003 15:43:02 GMT, "Greg D. Moore \(Strider\)"
<mo*****@greenms.com> wrote:

"dchow" <dc***@hotmail.com> wrote in message
news:mo********************************@4ax.com.. .
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?


Max size is "huge" far larger than anything you'll encounter (heck, just
buying the disks to reach the max size will break most budgets).

That's not a large DB by any means.

What's more important is your hardware and indexes.

If you have fast drives (and keep your log files on a separate physical set
of drives) and good indices, things should be fairly fast.

Our largest DB is 78 GB and that's under SQL 7.0.

Our largest under SQL 2K is 37G and growing and still very fast.



Jul 20 '05 #8

P: n/a
Thanks Greg. That was what I hope to hear.

On Tue, 28 Oct 2003 15:43:02 GMT, "Greg D. Moore \(Strider\)"
<mo*****@greenms.com> wrote:

"dchow" <dc***@hotmail.com> wrote in message
news:mo********************************@4ax.com.. .
Our database size is currently 4G and is incrementing at a rate of
45M/day. What is the max size of a SQL database? And what is the
size beyond which the server performance will start to go down?


Max size is "huge" far larger than anything you'll encounter (heck, just
buying the disks to reach the max size will break most budgets).

That's not a large DB by any means.

What's more important is your hardware and indexes.

If you have fast drives (and keep your log files on a separate physical set
of drives) and good indices, things should be fairly fast.

Our largest DB is 78 GB and that's under SQL 7.0.

Our largest under SQL 2K is 37G and growing and still very fast.



Jul 20 '05 #9

P: n/a
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.
On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
<da******@x.washington.edu> wrote:
>dchow wrote:
>
>>Our database size is currently 4G and is incrementing at a rate of
>>45M/day. What is the max size of a SQL database? And what is the
>>size beyond which the server performance will start to go down?
>>


<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon


Jul 20 '05 #10

P: n/a
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.
On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
<da******@x.washington.edu> wrote:
>dchow wrote:
>
>>Our database size is currently 4G and is incrementing at a rate of
>>45M/day. What is the max size of a SQL database? And what is the
>>size beyond which the server performance will start to go down?
>>


<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon


Jul 20 '05 #11

P: n/a
Hi

I don't think anyone has mentioned that you should have a maintenance plan
(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.

John

If this is in place you should have the ability to recover in case of
disaster and
"dchow" <dc***@hotmail.com> wrote in message
news:bf********************************@4ax.com...
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.
On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
<da******@x.washington.edu> wrote:

>dchow wrote:
>
>>Our database size is currently 4G and is incrementing at a rate of
>>45M/day. What is the max size of a SQL database? And what is the
>>size beyond which the server performance will start to go down?
>>


<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon

Jul 20 '05 #12

P: n/a
Hi

I don't think anyone has mentioned that you should have a maintenance plan
(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.

John

If this is in place you should have the ability to recover in case of
disaster and
"dchow" <dc***@hotmail.com> wrote in message
news:bf********************************@4ax.com...
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..
SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
disk. Didn't have the server and CPU model with me.
On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
<da******@x.washington.edu> wrote:

>dchow wrote:
>
>>Our database size is currently 4G and is incrementing at a rate of
>>45M/day. What is the max size of a SQL database? And what is the
>>size beyond which the server performance will start to go down?
>>


<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon

Jul 20 '05 #13

P: n/a

"John Bell" <jb************@hotmail.com> wrote in message
news:3f**********************@reading.news.pipex.n et...
Hi

I don't think anyone has mentioned that you should have a maintenance plan
(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.
I personally do not favor shrinking the file. It adds overhead and as it's
just likely to grow again, there's usually not much point.


John

If this is in place you should have the ability to recover in case of
disaster and
"dchow" <dc***@hotmail.com> wrote in message
news:bf********************************@4ax.com...
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..> SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
> disk. Didn't have the server and CPU model with me.
>
>
> On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
> <da******@x.washington.edu> wrote:
>
> >dchow wrote:
> >
> >>Our database size is currently 4G and is incrementing at a rate of
> >>45M/day. What is the max size of a SQL database? And what is the
> >>size beyond which the server performance will start to go down?
> >>

<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon


Jul 20 '05 #14

P: n/a

"John Bell" <jb************@hotmail.com> wrote in message
news:3f**********************@reading.news.pipex.n et...
Hi

I don't think anyone has mentioned that you should have a maintenance plan
(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.
I personally do not favor shrinking the file. It adds overhead and as it's
just likely to grow again, there's usually not much point.


John

If this is in place you should have the ability to recover in case of
disaster and
"dchow" <dc***@hotmail.com> wrote in message
news:bf********************************@4ax.com...
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
dchow <dc***@hotmail.com> wrote in message news:<in********************************@4ax.com>. ..> SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
> disk. Didn't have the server and CPU model with me.
>
>
> On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
> <da******@x.washington.edu> wrote:
>
> >dchow wrote:
> >
> >>Our database size is currently 4G and is incrementing at a rate of
> >>45M/day. What is the max size of a SQL database? And what is the
> >>size beyond which the server performance will start to go down?
> >>

<snip>

Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
that most people will ever need to consider. In practice the
limitations are storage capacity and your ability to manage and
backup/restore the database. A 4GB database is not large, and 45MB per
day is a growth of about 16GB per year - 20GB is not particularly
large either.

It's not possible to say when performance will go down - it depends on
the load you place on the server. You can use Performance Monitor and
other tools to monitor CPU, disk access, memory use etc. to see if
there's a bottleneck somewhere. Having a single 50GB hard drive seems
rather limiting, if that's what you have - disk space is cheap, so
most people can afford to get extra disks and use RAID (or perhaps a
SAN/NAS) to improve performance by spreading the databases across
multiple disks.

In any case, discussing the size of a database or the hardware it runs
on usually isn't as important as how well it has been designed. If you
have a well designed database which is properly indexed and accessed
using well-written code, then it will perform and scale well up to
very large amounts of data. If you don't, then you can have
performance problems with even small amounts of data.

Simon


Jul 20 '05 #15

P: n/a
"Greg D. Moore \(Strider\)" <mo*****@greenms.com> wrote in message news:<iW*****************@twister.nyroc.rr.com>...
"John Bell" <jb************@hotmail.com> wrote in message
news:3f**********************@reading.news.pipex.n et...
Hi

I don't think anyone has mentioned that you should have a maintenance plan
(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.


I personally do not favor shrinking the file. It adds overhead and as it's
just likely to grow again, there's usually not much point.

Hi Greg

It would depend on the circumstances, and data files and log files
would have different criteria. I would say that until the OP is more
experienced the more cautious approach of shrinking the file is the
better approach (IMO). Once he has built up a monitoring mechanism, he
would not have to be a blind approach.

John
Jul 20 '05 #16

P: n/a
We do backup nightly and perform integrity check as well as shrinking
the files weekly.
Does shrinking the database increase overhead like Greg said? I
thought shrinking the database is similar to compacting database in
Access. Is there a compacting process in SQL server?

On Wed, 29 Oct 2003 09:38:01 -0000, "John Bell"
<jb************@hotmail.com> wrote:
Hi

I don't think anyone has mentioned that you should have a maintenance plan
(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.

John

If this is in place you should have the ability to recover in case of
disaster and
"dchow" <dc***@hotmail.com> wrote in message
news:bf********************************@4ax.com.. .
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
>dchow <dc***@hotmail.com> wrote in messagenews:<in********************************@4ax.com> ... >> SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard
>> disk. Didn't have the server and CPU model with me.
>>
>>
>> On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
>> <da******@x.washington.edu> wrote:
>>
>> >dchow wrote:
>> >
>> >>Our database size is currently 4G and is incrementing at a rate of
>> >>45M/day. What is the max size of a SQL database? And what is the
>> >>size beyond which the server performance will start to go down?
>> >>
>
><snip>
>
>Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
>that most people will ever need to consider. In practice the
>limitations are storage capacity and your ability to manage and
>backup/restore the database. A 4GB database is not large, and 45MB per
>day is a growth of about 16GB per year - 20GB is not particularly
>large either.
>
>It's not possible to say when performance will go down - it depends on
>the load you place on the server. You can use Performance Monitor and
>other tools to monitor CPU, disk access, memory use etc. to see if
>there's a bottleneck somewhere. Having a single 50GB hard drive seems
>rather limiting, if that's what you have - disk space is cheap, so
>most people can afford to get extra disks and use RAID (or perhaps a
>SAN/NAS) to improve performance by spreading the databases across
>multiple disks.
>
>In any case, discussing the size of a database or the hardware it runs
>on usually isn't as important as how well it has been designed. If you
>have a well designed database which is properly indexed and accessed
>using well-written code, then it will perform and scale well up to
>very large amounts of data. If you don't, then you can have
>performance problems with even small amounts of data.
>
>Simon


Jul 20 '05 #17

P: n/a

"dchow" <dc***@hotmail.com> wrote in message
news:fg********************************@4ax.com...
We do backup nightly and perform integrity check as well as shrinking
the files weekly.
Does shrinking the database increase overhead like Greg said? I
thought shrinking the database is similar to compacting database in
Access. Is there a compacting process in SQL server?
No, shrinking the database file merely shrinks the database file.

And this can be a problem for the following reason:

(btw, generally folks shrink the transaction log since that grows and
shrinks a lot).

If you have say two databases on a server:

Both start out with a 25 MB transaction log and grow in 25 MB increments.
(and nightly you shrink it back to 25 MB).

You start out with 200 MB of free disk space, all in one big block.

Log for D1 exceeds 25 MB and grows to 50MB

Ideally this is contiguous space, let's assume it is.

The log for D1 exceeds 50 MB and grows to 75 MB.

This repeats until it reaches 175 MB. So far once nice big contiguous log
file.

Now, D2 exceeds its log of 25 MB and grows. Where's this chunk going to
grow into? The remaining 25 MB of free space. Ok, not, a major problem,
but you've just decreased the likelihood that that space was contiguous with
D2's original log file.

Now, you shrink D1's log back to 25 MB after backing it up.

Meanwhile D2's log grows again. So it's not allocated in the free space
previous used by part of D1's log file. This we already know is not
contiguous to D2's 1st growth. So now D2's log file is spread across 3
separate blocks on the disk.
Now D1's log starts to grow again. It grows into the now free space.
Again, this ends up not being contiguous.

Rinse, lather repeat.

Now, this is a rather derived example and in reality there are things that
will help (the fact that SQL Server will be using virtual logs within your
log file space, you're going to do a lot of linear reads so it'll read all
from one block before moving on, etc.) But, keep in mind that while the
server is expanding the log file, any pending transactions are held up until
the space is allocated since obviously SQL Server can't write them to disk
if the current space is filled.

But, over all, the end effect is you end up with a fragmented log file which
can affect performance.

Is this is a huge problem? Probably not.

But in general you should try to configure your logfiles so they don't need
to expand and shrink.

Do I practice what I preach? Of course not. :-) I have one server that
does nightly rollups. The logfile can expand by a couple of gig overnight
and then shrink again.

Unfortunately, due to lack of enough disk space on this server, I have
another process that runs at a different time that also needs disk space.
So in this case I do compact the transaction log. I'd much rather not
though.
BTW, due to the way SQL Server operates, there's really no exact equivalent
to ACCESS's compaction. However, updating Stats is generally a good idea if
your data changes a lot. And index defrag from time to time might help, but
I don't do that myself. (Though looking into doing it on a few dbs we have.)

Hope that helps.

On Wed, 29 Oct 2003 09:38:01 -0000, "John Bell"
<jb************@hotmail.com> wrote:
Hi

I don't think anyone has mentioned that you should have a maintenance plan(or equivalent jobs) that backups up the database, checks integrity, and
shrinks the files.

John

If this is in place you should have the ability to recover in case of
disaster and
"dchow" <dc***@hotmail.com> wrote in message
news:bf********************************@4ax.com.. .
Thanks Simon. If fact we have RAID. But because I am not a network
admin guy, I didn't know too much about it. All I know was that I have
50G on the data partition. Having learned that 45MB growth per day is
not particularly large made me more comfortable.
On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:

>dchow <dc***@hotmail.com> wrote in message

news:<in********************************@4ax.com> ...
>> SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSI hard >> disk. Didn't have the server and CPU model with me.
>>
>>
>> On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
>> <da******@x.washington.edu> wrote:
>>
>> >dchow wrote:
>> >
>> >>Our database size is currently 4G and is incrementing at a rate of
>> >>45M/day. What is the max size of a SQL database? And what is the
>> >>size beyond which the server performance will start to go down?
>> >>
>
><snip>
>
>Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
>that most people will ever need to consider. In practice the
>limitations are storage capacity and your ability to manage and
>backup/restore the database. A 4GB database is not large, and 45MB per
>day is a growth of about 16GB per year - 20GB is not particularly
>large either.
>
>It's not possible to say when performance will go down - it depends on
>the load you place on the server. You can use Performance Monitor and
>other tools to monitor CPU, disk access, memory use etc. to see if
>there's a bottleneck somewhere. Having a single 50GB hard drive seems
>rather limiting, if that's what you have - disk space is cheap, so
>most people can afford to get extra disks and use RAID (or perhaps a
>SAN/NAS) to improve performance by spreading the databases across
>multiple disks.
>
>In any case, discussing the size of a database or the hardware it runs
>on usually isn't as important as how well it has been designed. If you
>have a well designed database which is properly indexed and accessed
>using well-written code, then it will perform and scale well up to
>very large amounts of data. If you don't, then you can have
>performance problems with even small amounts of data.
>
>Simon

Jul 20 '05 #18

P: n/a
There is no such concept... u need to have sufficient hard drive
space... SQL 2000 can handle any size...

Even in TB

Keyur Shah
Verizon Communications
732-423-0745

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 20 '05 #19

P: n/a
Greg, thanks for the detailed explanation. As I am not a network
adminstrator, I might not know something that a network admin should.
Appreciate if you could tell me how to:
- Configure the logfiles so they don't need to expand and shrink.
- Update Stats.
- Index defrag.

And, do you actually recommend doing shrinking?

Thanks
David
On Wed, 05 Nov 2003 04:16:38 GMT, "Greg D. Moore \(Strider\)"
<mo*****@greenms.com> wrote:

"dchow" <dc***@hotmail.com> wrote in message
news:fg********************************@4ax.com.. .
We do backup nightly and perform integrity check as well as shrinking
the files weekly.
Does shrinking the database increase overhead like Greg said? I
thought shrinking the database is similar to compacting database in
Access. Is there a compacting process in SQL server?


No, shrinking the database file merely shrinks the database file.

And this can be a problem for the following reason:

(btw, generally folks shrink the transaction log since that grows and
shrinks a lot).

If you have say two databases on a server:

Both start out with a 25 MB transaction log and grow in 25 MB increments.
(and nightly you shrink it back to 25 MB).

You start out with 200 MB of free disk space, all in one big block.

Log for D1 exceeds 25 MB and grows to 50MB

Ideally this is contiguous space, let's assume it is.

The log for D1 exceeds 50 MB and grows to 75 MB.

This repeats until it reaches 175 MB. So far once nice big contiguous log
file.

Now, D2 exceeds its log of 25 MB and grows. Where's this chunk going to
grow into? The remaining 25 MB of free space. Ok, not, a major problem,
but you've just decreased the likelihood that that space was contiguous with
D2's original log file.

Now, you shrink D1's log back to 25 MB after backing it up.

Meanwhile D2's log grows again. So it's not allocated in the free space
previous used by part of D1's log file. This we already know is not
contiguous to D2's 1st growth. So now D2's log file is spread across 3
separate blocks on the disk.
Now D1's log starts to grow again. It grows into the now free space.
Again, this ends up not being contiguous.

Rinse, lather repeat.

Now, this is a rather derived example and in reality there are things that
will help (the fact that SQL Server will be using virtual logs within your
log file space, you're going to do a lot of linear reads so it'll read all
from one block before moving on, etc.) But, keep in mind that while the
server is expanding the log file, any pending transactions are held up until
the space is allocated since obviously SQL Server can't write them to disk
if the current space is filled.

But, over all, the end effect is you end up with a fragmented log file which
can affect performance.

Is this is a huge problem? Probably not.

But in general you should try to configure your logfiles so they don't need
to expand and shrink.

Do I practice what I preach? Of course not. :-) I have one server that
does nightly rollups. The logfile can expand by a couple of gig overnight
and then shrink again.

Unfortunately, due to lack of enough disk space on this server, I have
another process that runs at a different time that also needs disk space.
So in this case I do compact the transaction log. I'd much rather not
though.
BTW, due to the way SQL Server operates, there's really no exact equivalent
to ACCESS's compaction. However, updating Stats is generally a good idea if
your data changes a lot. And index defrag from time to time might help, but
I don't do that myself. (Though looking into doing it on a few dbs we have.)

Hope that helps.

On Wed, 29 Oct 2003 09:38:01 -0000, "John Bell"
<jb************@hotmail.com> wrote:
>Hi
>
>I don't think anyone has mentioned that you should have a maintenanceplan >(or equivalent jobs) that backups up the database, checks integrity, and
>shrinks the files.
>
>John
>
>If this is in place you should have the ability to recover in case of
>disaster and
>"dchow" <dc***@hotmail.com> wrote in message
>news:bf********************************@4ax.com.. .
>> Thanks Simon. If fact we have RAID. But because I am not a network
>> admin guy, I didn't know too much about it. All I know was that I have
>> 50G on the data partition. Having learned that 45MB growth per day is
>> not particularly large made me more comfortable.
>>
>>
>> On 28 Oct 2003 01:01:20 -0800, sq*@hayes.ch (Simon Hayes) wrote:
>>
>> >dchow <dc***@hotmail.com> wrote in message
>news:<in********************************@4ax.com> ...
>> >> SQL server 2000 on IBM server with quad CPU, 4G memory, 50G SCSIhard >> >> disk. Didn't have the server and CPU model with me.
>> >>
>> >>
>> >> On Mon, 27 Oct 2003 15:41:17 -0800, Daniel Morgan
>> >> <da******@x.washington.edu> wrote:
>> >>
>> >> >dchow wrote:
>> >> >
>> >> >>Our database size is currently 4G and is incrementing at a rate of
>> >> >>45M/day. What is the max size of a SQL database? And what is the
>> >> >>size beyond which the server performance will start to go down?
>> >> >>
>> >
>> ><snip>
>> >
>> >Maximum DB size in MSSQL is over 1,000,000TB, so it's not something
>> >that most people will ever need to consider. In practice the
>> >limitations are storage capacity and your ability to manage and
>> >backup/restore the database. A 4GB database is not large, and 45MB per
>> >day is a growth of about 16GB per year - 20GB is not particularly
>> >large either.
>> >
>> >It's not possible to say when performance will go down - it depends on
>> >the load you place on the server. You can use Performance Monitor and
>> >other tools to monitor CPU, disk access, memory use etc. to see if
>> >there's a bottleneck somewhere. Having a single 50GB hard drive seems
>> >rather limiting, if that's what you have - disk space is cheap, so
>> >most people can afford to get extra disks and use RAID (or perhaps a
>> >SAN/NAS) to improve performance by spreading the databases across
>> >multiple disks.
>> >
>> >In any case, discussing the size of a database or the hardware it runs
>> >on usually isn't as important as how well it has been designed. If you
>> >have a well designed database which is properly indexed and accessed
>> >using well-written code, then it will perform and scale well up to
>> >very large amounts of data. If you don't, then you can have
>> >performance problems with even small amounts of data.
>> >
>> >Simon
>>
>


Jul 20 '05 #20

This discussion thread is closed

Replies have been disabled for this discussion.