Home All Groups Group Topic Archive Search About

Multiple databases performance



Author
23 Jun 2009 8:16 AM
Jonny Bergdahl
I have developed a system that potentially will be run by thousands of
customers. In order to make it easy to partition the system on multiple
servers, I have opted to use a separate database for each customer. That
way, as the number of customers grow, I can easily add SQL servers to divide
the load.

The number of transactions for each database is low, typically we have 3
transactions/hour with a typical peak usage of 120 transactions/hour.

Are there any special issues in such a setup? What is the performance issues
of using a large number of databases? How many databases will I be able to
handle on each server?

Regards;
/jb

Author
23 Jun 2009 8:45 AM
Uri Dimant
Hi
The maximum number of database one SQLServer instance can support is 32,767
and i don't think anyone  has ever reached this limit.  Check this link for
maximum capacity specification :
http://technet.microsoft.com/en-us/library/ms143432.aspx

For sure   the server/s should be able to handle those database i menat in
term of memory/disk capacity and etc...
Also how do you consider to maintence  the databases (backups/rebuild
indexes/update statistics)??





Show quoteHide quote
"Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
news:OulDgr98JHA.1252@TK2MSFTNGP04.phx.gbl...
>I have developed a system that potentially will be run by thousands of
>customers. In order to make it easy to partition the system on multiple
>servers, I have opted to use a separate database for each customer. That
>way, as the number of customers grow, I can easily add SQL servers to
>divide the load.
>
> The number of transactions for each database is low, typically we have 3
> transactions/hour with a typical peak usage of 120 transactions/hour.
>
> Are there any special issues in such a setup? What is the performance
> issues of using a large number of databases? How many databases will I be
> able to handle on each server?
>
> Regards;
> /jb
Are all your drivers up to date? click for free checkup

Author
23 Jun 2009 2:22 PM
Jonny Bergdahl
I am aware of the maximum number of databases allowed, and I think nobody
could ever get even near that figure without other reaching other limits.

All databases are stored on SAN disks, so addings disk space as needed is
not an issue. A typical database would be like 10-15 Mbytes.

Backups are a limiting factor, since we need to assert that we never loose
more than 30 minutes of data in any database if a crash occurs. Recovery of
lost data is allowed to take up to 4 hours though.

Regards;
/jb

Show quoteHide quote
"Uri Dimant" <u***@iscar.co.il> skrev i meddelandet
news:Odqhz798JHA.3544@TK2MSFTNGP04.phx.gbl...
> Hi
> The maximum number of database one SQLServer instance can support is
> 32,767 and i don't think anyone  has ever reached this limit.  Check this
> link for maximum capacity specification :
> http://technet.microsoft.com/en-us/library/ms143432.aspx
>
> For sure   the server/s should be able to handle those database i menat in
> term of memory/disk capacity and etc...
> Also how do you consider to maintence  the databases (backups/rebuild
> indexes/update statistics)??
>
>
>
>
>
> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
> news:OulDgr98JHA.1252@TK2MSFTNGP04.phx.gbl...
>>I have developed a system that potentially will be run by thousands of
>>customers. In order to make it easy to partition the system on multiple
>>servers, I have opted to use a separate database for each customer. That
>>way, as the number of customers grow, I can easily add SQL servers to
>>divide the load.
>>
>> The number of transactions for each database is low, typically we have 3
>> transactions/hour with a typical peak usage of 120 transactions/hour.
>>
>> Are there any special issues in such a setup? What is the performance
>> issues of using a large number of databases? How many databases will I be
>> able to handle on each server?
>>
>> Regards;
>> /jb
>
>
Author
23 Jun 2009 1:24 PM
Linchi Shea
The approach is fine if you expect the the load on the server will max out
the server resource before the number of databases becomes too large.
Personally, I'd consider hundreds of databases on a single server to be too
large.

But from your description of the load, the traffic is so light that the
number of databases may cause a maintnenance issue before any real computing
resource (CPU, memory, disk I/Os, etc) becomes a bottleneck.

If the second sceanrio is more likely, you may want to consider partitioning
your data inside the same database instead.

Linchi

Show quoteHide quote
"Jonny Bergdahl" wrote:

> I have developed a system that potentially will be run by thousands of
> customers. In order to make it easy to partition the system on multiple
> servers, I have opted to use a separate database for each customer. That
> way, as the number of customers grow, I can easily add SQL servers to divide
> the load.
>
> The number of transactions for each database is low, typically we have 3
> transactions/hour with a typical peak usage of 120 transactions/hour.
>
> Are there any special issues in such a setup? What is the performance issues
> of using a large number of databases? How many databases will I be able to
> handle on each server?
>
> Regards;
> /jb
>
>
Author
23 Jun 2009 2:24 PM
Jonny Bergdahl
> The approach is fine if you expect the the load on the server will max out
> the server resource before the number of databases becomes too large.

Question is what number of databases is "too large".

> Personally, I'd consider hundreds of databases on a single server to be
> too
> large.

Any special reason for this, or it is just a feeling?

Regards;
/jb
Author
23 Jun 2009 2:51 PM
Linchi Shea
> Any special reason for this, or it is just a feeling?
>
Just some non-scientific previous experience with various management tools.
Note that many of these tools would loop through the databases to do things.
If there are too many databases, that looping can take long and give the user
a bad experience.

If you have an environment, I'd suggest you create a few hundred dummy
databases, and check it out yourself. Maybe, the most current tools don't
have that issue any more.

Linchi

Show quoteHide quote
"Jonny Bergdahl" wrote:

> > The approach is fine if you expect the the load on the server will max out
> > the server resource before the number of databases becomes too large.
>
> Question is what number of databases is "too large".
>
> > Personally, I'd consider hundreds of databases on a single server to be
> > too
> > large.
>
> Any special reason for this, or it is just a feeling?
>
> Regards;
> /jb
>
>
Author
23 Jun 2009 4:56 PM
Linchi Shea
I created 300 hundred databases on a test machine, and Management Studio
appears to be handling them fine. I didn't do a thorough check though.

Linchi

Show quoteHide quote
"Linchi Shea" wrote:

> > Any special reason for this, or it is just a feeling?
> >
> Just some non-scientific previous experience with various management tools.
> Note that many of these tools would loop through the databases to do things.
> If there are too many databases, that looping can take long and give the user
> a bad experience.
>
> If you have an environment, I'd suggest you create a few hundred dummy
> databases, and check it out yourself. Maybe, the most current tools don't
> have that issue any more.
>
> Linchi
>
> "Jonny Bergdahl" wrote:
>
> > > The approach is fine if you expect the the load on the server will max out
> > > the server resource before the number of databases becomes too large.
> >
> > Question is what number of databases is "too large".
> >
> > > Personally, I'd consider hundreds of databases on a single server to be
> > > too
> > > large.
> >
> > Any special reason for this, or it is just a feeling?
> >
> > Regards;
> > /jb
> >
> >
Author
23 Jun 2009 5:34 PM
Aaron Bertrand [SQL Server MVP]
> I created 300 hundred databases on a test machine, and Management Studio
> appears to be handling them fine. I didn't do a thorough check though.

I have a system with over 500 and am accessing pretty much everything  -
remotely, no less - via Object Explorer, with no noticeable effects.
Author
23 Jun 2009 6:34 PM
Linchi Shea
Yeah, i tried 2,000 databases, and Management Studio appears to handle them
fine. I'm not sure if there is any implication on the startup process when
SQL Server has to go through them to analyze, redo/undo, etc.

Linchi

Show quoteHide quote
"Aaron Bertrand [SQL Server MVP]" wrote:

> > I created 300 hundred databases on a test machine, and Management Studio
> > appears to be handling them fine. I didn't do a thorough check though.
>
> I have a system with over 500 and am accessing pretty much everything  -
> remotely, no less - via Object Explorer, with no noticeable effects.
>
>
Author
23 Jun 2009 6:58 PM
Aaron Bertrand [SQL Server MVP]
Yes, that is a much different animal (Geoff has some very rigid opinions
about that).  I was just addressing from the SSMS side of things.



On 6/23/09 2:34 PM, in article
F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
<LinchiS***@discussions.microsoft.com> wrote:

Show quoteHide quote
> Yeah, i tried 2,000 databases, and Management Studio appears to handle them
> fine. I'm not sure if there is any implication on the startup process when
> SQL Server has to go through them to analyze, redo/undo, etc.
>
> Linchi
>
> "Aaron Bertrand [SQL Server MVP]" wrote:
>
>>> I created 300 hundred databases on a test machine, and Management Studio
>>> appears to be handling them fine. I didn't do a thorough check though.
>>
>> I have a system with over 500 and am accessing pretty much everything  -
>> remotely, no less - via Object Explorer, with no noticeable effects.
>>
>>
Author
23 Jun 2009 7:13 PM
Linchi Shea
The good news is that if the databases are clean (e.g. no dirty pages,
nothing to rollback/forward), the startup and shutdown processes are not so
bad even with 2000 databases. It did take longer to shut down cleanly because
of checkpoints.

Now, if the databases are not shut down cleanly, it would be a different
story.

Linchi

Show quoteHide quote
"Aaron Bertrand [SQL Server MVP]" wrote:

> Yes, that is a much different animal (Geoff has some very rigid opinions
> about that).  I was just addressing from the SSMS side of things.
>
>
>
> On 6/23/09 2:34 PM, in article
> F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
> <LinchiS***@discussions.microsoft.com> wrote:
>
> > Yeah, i tried 2,000 databases, and Management Studio appears to handle them
> > fine. I'm not sure if there is any implication on the startup process when
> > SQL Server has to go through them to analyze, redo/undo, etc.
> >
> > Linchi
> >
> > "Aaron Bertrand [SQL Server MVP]" wrote:
> >
> >>> I created 300 hundred databases on a test machine, and Management Studio
> >>> appears to be handling them fine. I didn't do a thorough check though.
> >>
> >> I have a system with over 500 and am accessing pretty much everything  -
> >> remotely, no less - via Object Explorer, with no noticeable effects.
> >>
> >>
>
>
Author
24 Jun 2009 7:46 AM
Jonny Bergdahl
> Yes, that is a much different animal (Geoff has some very rigid opinions
> about that).  I was just addressing from the SSMS side of things.

What startup times would I be looking at after say a power loss? Any other
issues?

Regards;
/jb

Show quoteHide quote
"Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
> Yes, that is a much different animal (Geoff has some very rigid opinions
> about that).  I was just addressing from the SSMS side of things.
>
>
>
> On 6/23/09 2:34 PM, in article
> F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
> <LinchiS***@discussions.microsoft.com> wrote:
>
>> Yeah, i tried 2,000 databases, and Management Studio appears to handle
>> them
>> fine. I'm not sure if there is any implication on the startup process
>> when
>> SQL Server has to go through them to analyze, redo/undo, etc.
>>
>> Linchi
>>
>> "Aaron Bertrand [SQL Server MVP]" wrote:
>>
>>>> I created 300 hundred databases on a test machine, and Management
>>>> Studio
>>>> appears to be handling them fine. I didn't do a thorough check though.
>>>
>>> I have a system with over 500 and am accessing pretty much everything  -
>>> remotely, no less - via Object Explorer, with no noticeable effects.
>>>
>>>
>
Author
24 Jun 2009 12:26 PM
Linchi Shea
> What startup times would I be looking at after say a power loss? Any other
> issues?

It depends on how much rollback and/or roll forward SQL Server has to
perform in each database, and that in turn depends on how much change has not
been committed to the transaction logs and/or not flushed to data files on
power loss. If you have many databases, it would take longer for SQL Server
to get to some databases.

Linchi

Show quoteHide quote
"Jonny Bergdahl" wrote:

> > Yes, that is a much different animal (Geoff has some very rigid opinions
> > about that).  I was just addressing from the SSMS side of things.
>
> What startup times would I be looking at after say a power loss? Any other
> issues?
>
> Regards;
> /jb
>
> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
> > Yes, that is a much different animal (Geoff has some very rigid opinions
> > about that).  I was just addressing from the SSMS side of things.
> >
> >
> >
> > On 6/23/09 2:34 PM, in article
> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
> > <LinchiS***@discussions.microsoft.com> wrote:
> >
> >> Yeah, i tried 2,000 databases, and Management Studio appears to handle
> >> them
> >> fine. I'm not sure if there is any implication on the startup process
> >> when
> >> SQL Server has to go through them to analyze, redo/undo, etc.
> >>
> >> Linchi
> >>
> >> "Aaron Bertrand [SQL Server MVP]" wrote:
> >>
> >>>> I created 300 hundred databases on a test machine, and Management
> >>>> Studio
> >>>> appears to be handling them fine. I didn't do a thorough check though.
> >>>
> >>> I have a system with over 500 and am accessing pretty much everything  -
> >>> remotely, no less - via Object Explorer, with no noticeable effects.
> >>>
> >>>
> >
>
>
Author
25 Jun 2009 7:49 AM
Jonny Bergdahl
I don't know if I have understood this correctly, but I have assumed that
when a power failure occurs and SQL Server restarts, it replays the whole
log file. In that case the recovery time it would depend on how large the
log is, which in turn depends on how often the backup job is run.

Are You saying that it only replays the part of the log file that has been
committed but not flushed?

Regards;
/jb

Show quoteHide quote
"Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i meddelandet
news:99B0A912-D45C-4CF1-85CA-A57BE9695860@microsoft.com...
>> What startup times would I be looking at after say a power loss? Any
>> other
>> issues?
>
> It depends on how much rollback and/or roll forward SQL Server has to
> perform in each database, and that in turn depends on how much change has
> not
> been committed to the transaction logs and/or not flushed to data files on
> power loss. If you have many databases, it would take longer for SQL
> Server
> to get to some databases.
>
> Linchi
>
> "Jonny Bergdahl" wrote:
>
>> > Yes, that is a much different animal (Geoff has some very rigid
>> > opinions
>> > about that).  I was just addressing from the SSMS side of things.
>>
>> What startup times would I be looking at after say a power loss? Any
>> other
>> issues?
>>
>> Regards;
>> /jb
>>
>> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
>> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
>> > Yes, that is a much different animal (Geoff has some very rigid
>> > opinions
>> > about that).  I was just addressing from the SSMS side of things.
>> >
>> >
>> >
>> > On 6/23/09 2:34 PM, in article
>> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
>> > <LinchiS***@discussions.microsoft.com> wrote:
>> >
>> >> Yeah, i tried 2,000 databases, and Management Studio appears to handle
>> >> them
>> >> fine. I'm not sure if there is any implication on the startup process
>> >> when
>> >> SQL Server has to go through them to analyze, redo/undo, etc.
>> >>
>> >> Linchi
>> >>
>> >> "Aaron Bertrand [SQL Server MVP]" wrote:
>> >>
>> >>>> I created 300 hundred databases on a test machine, and Management
>> >>>> Studio
>> >>>> appears to be handling them fine. I didn't do a thorough check
>> >>>> though.
>> >>>
>> >>> I have a system with over 500 and am accessing pretty much
>> >>> verything  -
>> >>> remotely, no less - via Object Explorer, with no noticeable effects.
>> >>>
>> >>>
>> >
>>
>>
Author
25 Jun 2009 8:47 AM
Tibor Karaszi
>I don't know if I have understood this correctly, but I have assumed
>that when a power failure occurs and SQL Server restarts, it replays
>the whole log file.

No, it will go to where the most recent checkpoint occurred and then
first REDO from there and lastly possibly UNDO open transactions.

In 2005, we have fast recovery, where SQL Server can possibly start
before checkpoint, so it during REDO can lock pages which then will be
rolled back (so if we have EE can get into the database after REDO),
but that is a minor adjustment to above principal.

Show quoteHide quote
"Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
news:etEQylW9JHA.1380@TK2MSFTNGP02.phx.gbl...
>I don't know if I have understood this correctly, but I have assumed
>that when a power failure occurs and SQL Server restarts, it replays
>the whole log file. In that case the recovery time it would depend on
>how large the log is, which in turn depends on how often the backup
>job is run.
>
> Are You saying that it only replays the part of the log file that
> has been committed but not flushed?
>
> Regards;
> /jb
>
> "Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i
> meddelandet
> news:99B0A912-D45C-4CF1-85CA-A57BE9695860@microsoft.com...
>>> What startup times would I be looking at after say a power loss?
>>> Any other
>>> issues?
>>
>> It depends on how much rollback and/or roll forward SQL Server has
>> to
>> perform in each database, and that in turn depends on how much
>> change has not
>> been committed to the transaction logs and/or not flushed to data
>> files on
>> power loss. If you have many databases, it would take longer for
>> SQL Server
>> to get to some databases.
>>
>> Linchi
>>
>> "Jonny Bergdahl" wrote:
>>
>>> > Yes, that is a much different animal (Geoff has some very rigid
>>> > opinions
>>> > about that).  I was just addressing from the SSMS side of
>>> > things.
>>>
>>> What startup times would I be looking at after say a power loss?
>>> Any other
>>> issues?
>>>
>>> Regards;
>>> /jb
>>>
>>> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
>>> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
>>> > Yes, that is a much different animal (Geoff has some very rigid
>>> > opinions
>>> > about that).  I was just addressing from the SSMS side of
>>> > things.
>>> >
>>> >
>>> >
>>> > On 6/23/09 2:34 PM, in article
>>> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi
>>> > Shea"
>>> > <LinchiS***@discussions.microsoft.com> wrote:
>>> >
>>> >> Yeah, i tried 2,000 databases, and Management Studio appears to
>>> >> handle
>>> >> them
>>> >> fine. I'm not sure if there is any implication on the startup
>>> >> process
>>> >> when
>>> >> SQL Server has to go through them to analyze, redo/undo, etc.
>>> >>
>>> >> Linchi
>>> >>
>>> >> "Aaron Bertrand [SQL Server MVP]" wrote:
>>> >>
>>> >>>> I created 300 hundred databases on a test machine, and
>>> >>>> Management
>>> >>>> Studio
>>> >>>> appears to be handling them fine. I didn't do a thorough
>>> >>>> check though.
>>> >>>
>>> >>> I have a system with over 500 and am accessing pretty much
>>> >>> verything  -
>>> >>> remotely, no less - via Object Explorer, with no noticeable
>>> >>> effects.
>>> >>>
>>> >>>
>>> >
>>>
>>>
>
Author
25 Jun 2009 9:20 AM
Jonny Bergdahl
Ok, that is interesting. So the question is when the checkpoint occurs? Is
that whenever a transaction has successfully been commited?

Regards;
/jb

Show quoteHide quote
"Tibor Karaszi" <tibor_please.no.email_kara***@hotmail.nomail.com> skrev i
meddelandet news:eKZiPGX9JHA.4948@TK2MSFTNGP04.phx.gbl...
> >I don't know if I have understood this correctly, but I have assumed that
> >when a power failure occurs and SQL Server restarts, it replays the whole
> >log file.
>
> No, it will go to where the most recent checkpoint occurred and then first
> REDO from there and lastly possibly UNDO open transactions.
>
> In 2005, we have fast recovery, where SQL Server can possibly start before
> checkpoint, so it during REDO can lock pages which then will be rolled
> back (so if we have EE can get into the database after REDO), but that is
> a minor adjustment to above principal.
>
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://sqlblog.com/blogs/tibor_karaszi
>
>
> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
> news:etEQylW9JHA.1380@TK2MSFTNGP02.phx.gbl...
>>I don't know if I have understood this correctly, but I have assumed that
>>when a power failure occurs and SQL Server restarts, it replays the whole
>>log file. In that case the recovery time it would depend on how large the
>>log is, which in turn depends on how often the backup job is run.
>>
>> Are You saying that it only replays the part of the log file that has
>> been committed but not flushed?
>>
>> Regards;
>> /jb
>>
>> "Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i meddelandet
>> news:99B0A912-D45C-4CF1-85CA-A57BE9695860@microsoft.com...
>>>> What startup times would I be looking at after say a power loss? Any
>>>> other
>>>> issues?
>>>
>>> It depends on how much rollback and/or roll forward SQL Server has to
>>> perform in each database, and that in turn depends on how much change
>>> has not
>>> been committed to the transaction logs and/or not flushed to data files
>>> on
>>> power loss. If you have many databases, it would take longer for SQL
>>> Server
>>> to get to some databases.
>>>
>>> Linchi
>>>
>>> "Jonny Bergdahl" wrote:
>>>
>>>> > Yes, that is a much different animal (Geoff has some very rigid
>>>> > opinions
>>>> > about that).  I was just addressing from the SSMS side of things.
>>>>
>>>> What startup times would I be looking at after say a power loss? Any
>>>> other
>>>> issues?
>>>>
>>>> Regards;
>>>> /jb
>>>>
>>>> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
>>>> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
>>>> > Yes, that is a much different animal (Geoff has some very rigid
>>>> > opinions
>>>> > about that).  I was just addressing from the SSMS side of things.
>>>> >
>>>> >
>>>> >
>>>> > On 6/23/09 2:34 PM, in article
>>>> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
>>>> > <LinchiS***@discussions.microsoft.com> wrote:
>>>> >
>>>> >> Yeah, i tried 2,000 databases, and Management Studio appears to
>>>> >> handle
>>>> >> them
>>>> >> fine. I'm not sure if there is any implication on the startup
>>>> >> process
>>>> >> when
>>>> >> SQL Server has to go through them to analyze, redo/undo, etc.
>>>> >>
>>>> >> Linchi
>>>> >>
>>>> >> "Aaron Bertrand [SQL Server MVP]" wrote:
>>>> >>
>>>> >>>> I created 300 hundred databases on a test machine, and Management
>>>> >>>> Studio
>>>> >>>> appears to be handling them fine. I didn't do a thorough check
>>>> >>>> though.
>>>> >>>
>>>> >>> I have a system with over 500 and am accessing pretty much
>>>> >>> verything  -
>>>> >>> remotely, no less - via Object Explorer, with no noticeable
>>>> >>> effects.
>>>> >>>
>>>> >>>
>>>> >
>>>>
>>>>
>>
>
Author
25 Jun 2009 9:32 AM
Tibor Karaszi
No, not at commit time, that would be too costly. SQL Server's goal is
for the REDO phase to not take longer than 1 minute - that is what
controls how often the checkpoint occurs.

Show quoteHide quote
"Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
news:eGn7tYX9JHA.200@TK2MSFTNGP05.phx.gbl...
> Ok, that is interesting. So the question is when the checkpoint
> occurs? Is that whenever a transaction has successfully been
> commited?
>
> Regards;
> /jb
>
> "Tibor Karaszi" <tibor_please.no.email_kara***@hotmail.nomail.com>
> skrev i meddelandet news:eKZiPGX9JHA.4948@TK2MSFTNGP04.phx.gbl...
>> >I don't know if I have understood this correctly, but I have
>> >assumed that when a power failure occurs and SQL Server restarts,
>> >it replays the whole log file.
>>
>> No, it will go to where the most recent checkpoint occurred and
>> then first REDO from there and lastly possibly UNDO open
>> transactions.
>>
>> In 2005, we have fast recovery, where SQL Server can possibly start
>> before checkpoint, so it during REDO can lock pages which then will
>> be rolled back (so if we have EE can get into the database after
>> REDO), but that is a minor adjustment to above principal.
>>
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://sqlblog.com/blogs/tibor_karaszi
>>
>>
>> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
>> news:etEQylW9JHA.1380@TK2MSFTNGP02.phx.gbl...
>>>I don't know if I have understood this correctly, but I have
>>>assumed that when a power failure occurs and SQL Server restarts,
>>>it replays the whole log file. In that case the recovery time it
>>>would depend on how large the log is, which in turn depends on how
>>>often the backup job is run.
>>>
>>> Are You saying that it only replays the part of the log file that
>>> has been committed but not flushed?
>>>
>>> Regards;
>>> /jb
>>>
>>> "Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i
>>> meddelandet
>>> news:99B0A912-D45C-4CF1-85CA-A57BE9695860@microsoft.com...
>>>>> What startup times would I be looking at after say a power loss?
>>>>> Any other
>>>>> issues?
>>>>
>>>> It depends on how much rollback and/or roll forward SQL Server
>>>> has to
>>>> perform in each database, and that in turn depends on how much
>>>> change has not
>>>> been committed to the transaction logs and/or not flushed to data
>>>> files on
>>>> power loss. If you have many databases, it would take longer for
>>>> SQL Server
>>>> to get to some databases.
>>>>
>>>> Linchi
>>>>
>>>> "Jonny Bergdahl" wrote:
>>>>
>>>>> > Yes, that is a much different animal (Geoff has some very
>>>>> > rigid opinions
>>>>> > about that).  I was just addressing from the SSMS side of
>>>>> > things.
>>>>>
>>>>> What startup times would I be looking at after say a power loss?
>>>>> Any other
>>>>> issues?
>>>>>
>>>>> Regards;
>>>>> /jb
>>>>>
>>>>> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev
>>>>> i
>>>>> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
>>>>> > Yes, that is a much different animal (Geoff has some very
>>>>> > rigid opinions
>>>>> > about that).  I was just addressing from the SSMS side of
>>>>> > things.
>>>>> >
>>>>> >
>>>>> >
>>>>> > On 6/23/09 2:34 PM, in article
>>>>> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi
>>>>> > Shea"
>>>>> > <LinchiS***@discussions.microsoft.com> wrote:
>>>>> >
>>>>> >> Yeah, i tried 2,000 databases, and Management Studio appears
>>>>> >> to handle
>>>>> >> them
>>>>> >> fine. I'm not sure if there is any implication on the startup
>>>>> >> process
>>>>> >> when
>>>>> >> SQL Server has to go through them to analyze, redo/undo, etc.
>>>>> >>
>>>>> >> Linchi
>>>>> >>
>>>>> >> "Aaron Bertrand [SQL Server MVP]" wrote:
>>>>> >>
>>>>> >>>> I created 300 hundred databases on a test machine, and
>>>>> >>>> Management
>>>>> >>>> Studio
>>>>> >>>> appears to be handling them fine. I didn't do a thorough
>>>>> >>>> check though.
>>>>> >>>
>>>>> >>> I have a system with over 500 and am accessing pretty much
>>>>> >>> verything  -
>>>>> >>> remotely, no less - via Object Explorer, with no noticeable
>>>>> >>> effects.
>>>>> >>>
>>>>> >>>
>>>>> >
>>>>>
>>>>>
>>>
>>
>
Author
25 Jun 2009 1:12 PM
Jonny Bergdahl
Ah! This means that (if the load is not too high to have stopped the
checkpoint from happening) it will have to replay the log file for at most
one minute? That would mean that very few of the databases actually would
have to replay the log.

Regards;
/jb

Show quoteHide quote
"Tibor Karaszi" <tibor_please.no.email_kara***@hotmail.nomail.com> skrev i
meddelandet news:OdalgfX9JHA.1336@TK2MSFTNGP05.phx.gbl...
> No, not at commit time, that would be too costly. SQL Server's goal is for
> the REDO phase to not take longer than 1 minute - that is what controls
> how often the checkpoint occurs.
>
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://sqlblog.com/blogs/tibor_karaszi
>
>
> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
> news:eGn7tYX9JHA.200@TK2MSFTNGP05.phx.gbl...
>> Ok, that is interesting. So the question is when the checkpoint occurs?
>> Is that whenever a transaction has successfully been commited?
>>
>> Regards;
>> /jb
>>
>> "Tibor Karaszi" <tibor_please.no.email_kara***@hotmail.nomail.com> skrev
>> i meddelandet news:eKZiPGX9JHA.4948@TK2MSFTNGP04.phx.gbl...
>>> >I don't know if I have understood this correctly, but I have assumed
>>> >that when a power failure occurs and SQL Server restarts, it replays
>>> >the whole log file.
>>>
>>> No, it will go to where the most recent checkpoint occurred and then
>>> first REDO from there and lastly possibly UNDO open transactions.
>>>
>>> In 2005, we have fast recovery, where SQL Server can possibly start
>>> before checkpoint, so it during REDO can lock pages which then will be
>>> rolled back (so if we have EE can get into the database after REDO), but
>>> that is a minor adjustment to above principal.
>>>
>>> --
>>> Tibor Karaszi, SQL Server MVP
>>> http://www.karaszi.com/sqlserver/default.asp
>>> http://sqlblog.com/blogs/tibor_karaszi
>>>
>>>
>>> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
>>> news:etEQylW9JHA.1380@TK2MSFTNGP02.phx.gbl...
>>>>I don't know if I have understood this correctly, but I have assumed
>>>>that when a power failure occurs and SQL Server restarts, it replays the
>>>>whole log file. In that case the recovery time it would depend on how
>>>>large the log is, which in turn depends on how often the backup job is
>>>>run.
>>>>
>>>> Are You saying that it only replays the part of the log file that has
>>>> been committed but not flushed?
>>>>
>>>> Regards;
>>>> /jb
>>>>
>>>> "Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i
>>>> meddelandet news:99B0A912-D45C-4CF1-85CA-A57BE9695860@microsoft.com...
>>>>>> What startup times would I be looking at after say a power loss? Any
>>>>>> other
>>>>>> issues?
>>>>>
>>>>> It depends on how much rollback and/or roll forward SQL Server has to
>>>>> perform in each database, and that in turn depends on how much change
>>>>> has not
>>>>> been committed to the transaction logs and/or not flushed to data
>>>>> files on
>>>>> power loss. If you have many databases, it would take longer for SQL
>>>>> Server
>>>>> to get to some databases.
>>>>>
>>>>> Linchi
>>>>>
>>>>> "Jonny Bergdahl" wrote:
>>>>>
>>>>>> > Yes, that is a much different animal (Geoff has some very rigid
>>>>>> > opinions
>>>>>> > about that).  I was just addressing from the SSMS side of things.
>>>>>>
>>>>>> What startup times would I be looking at after say a power loss? Any
>>>>>> other
>>>>>> issues?
>>>>>>
>>>>>> Regards;
>>>>>> /jb
>>>>>>
>>>>>> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
>>>>>> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
>>>>>> > Yes, that is a much different animal (Geoff has some very rigid
>>>>>> > opinions
>>>>>> > about that).  I was just addressing from the SSMS side of things.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > On 6/23/09 2:34 PM, in article
>>>>>> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi Shea"
>>>>>> > <LinchiS***@discussions.microsoft.com> wrote:
>>>>>> >
>>>>>> >> Yeah, i tried 2,000 databases, and Management Studio appears to
>>>>>> >> handle
>>>>>> >> them
>>>>>> >> fine. I'm not sure if there is any implication on the startup
>>>>>> >> process
>>>>>> >> when
>>>>>> >> SQL Server has to go through them to analyze, redo/undo, etc.
>>>>>> >>
>>>>>> >> Linchi
>>>>>> >>
>>>>>> >> "Aaron Bertrand [SQL Server MVP]" wrote:
>>>>>> >>
>>>>>> >>>> I created 300 hundred databases on a test machine, and
>>>>>> >>>> Management
>>>>>> >>>> Studio
>>>>>> >>>> appears to be handling them fine. I didn't do a thorough check
>>>>>> >>>> though.
>>>>>> >>>
>>>>>> >>> I have a system with over 500 and am accessing pretty much
>>>>>> >>> verything  -
>>>>>> >>> remotely, no less - via Object Explorer, with no noticeable
>>>>>> >>> effects.
>>>>>> >>>
>>>>>> >>>
>>>>>> >
>>>>>>
>>>>>>
>>>>
>>>
>>
>
Author
25 Jun 2009 3:18 PM
Tibor Karaszi
Yes, REDO shouldn't take more than one minute. Then we have UNDO, of
course and it takes as long as it need to take. And you are right that
in vast majority of startups, it takes drastically shorter time since
a checkpoint is performed for you when you shutdown SQL Server.

Show quoteHide quote
"Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
news:e7IpkaZ9JHA.5704@TK2MSFTNGP03.phx.gbl...
> Ah! This means that (if the load is not too high to have stopped the
> checkpoint from happening) it will have to replay the log file for
> at most one minute? That would mean that very few of the databases
> actually would have to replay the log.
>
> Regards;
> /jb
>
> "Tibor Karaszi" <tibor_please.no.email_kara***@hotmail.nomail.com>
> skrev i meddelandet news:OdalgfX9JHA.1336@TK2MSFTNGP05.phx.gbl...
>> No, not at commit time, that would be too costly. SQL Server's goal
>> is for the REDO phase to not take longer than 1 minute - that is
>> what controls how often the checkpoint occurs.
>>
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://sqlblog.com/blogs/tibor_karaszi
>>
>>
>> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
>> news:eGn7tYX9JHA.200@TK2MSFTNGP05.phx.gbl...
>>> Ok, that is interesting. So the question is when the checkpoint
>>> occurs? Is that whenever a transaction has successfully been
>>> commited?
>>>
>>> Regards;
>>> /jb
>>>
>>> "Tibor Karaszi" <tibor_please.no.email_kara***@hotmail.nomail.com>
>>> skrev i meddelandet news:eKZiPGX9JHA.4948@TK2MSFTNGP04.phx.gbl...
>>>> >I don't know if I have understood this correctly, but I have
>>>> >assumed that when a power failure occurs and SQL Server
>>>> >restarts, it replays the whole log file.
>>>>
>>>> No, it will go to where the most recent checkpoint occurred and
>>>> then first REDO from there and lastly possibly UNDO open
>>>> transactions.
>>>>
>>>> In 2005, we have fast recovery, where SQL Server can possibly
>>>> start before checkpoint, so it during REDO can lock pages which
>>>> then will be rolled back (so if we have EE can get into the
>>>> database after REDO), but that is a minor adjustment to above
>>>> principal.
>>>>
>>>> --
>>>> Tibor Karaszi, SQL Server MVP
>>>> http://www.karaszi.com/sqlserver/default.asp
>>>> http://sqlblog.com/blogs/tibor_karaszi
>>>>
>>>>
>>>> "Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in
>>>> message news:etEQylW9JHA.1380@TK2MSFTNGP02.phx.gbl...
>>>>>I don't know if I have understood this correctly, but I have
>>>>>assumed that when a power failure occurs and SQL Server restarts,
>>>>>it replays the whole log file. In that case the recovery time it
>>>>>would depend on how large the log is, which in turn depends on
>>>>>how often the backup job is run.
>>>>>
>>>>> Are You saying that it only replays the part of the log file
>>>>> that has been committed but not flushed?
>>>>>
>>>>> Regards;
>>>>> /jb
>>>>>
>>>>> "Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i
>>>>> meddelandet
>>>>> news:99B0A912-D45C-4CF1-85CA-A57BE9695860@microsoft.com...
>>>>>>> What startup times would I be looking at after say a power
>>>>>>> loss? Any other
>>>>>>> issues?
>>>>>>
>>>>>> It depends on how much rollback and/or roll forward SQL Server
>>>>>> has to
>>>>>> perform in each database, and that in turn depends on how much
>>>>>> change has not
>>>>>> been committed to the transaction logs and/or not flushed to
>>>>>> data files on
>>>>>> power loss. If you have many databases, it would take longer
>>>>>> for SQL Server
>>>>>> to get to some databases.
>>>>>>
>>>>>> Linchi
>>>>>>
>>>>>> "Jonny Bergdahl" wrote:
>>>>>>
>>>>>>> > Yes, that is a much different animal (Geoff has some very
>>>>>>> > rigid opinions
>>>>>>> > about that).  I was just addressing from the SSMS side of
>>>>>>> > things.
>>>>>>>
>>>>>>> What startup times would I be looking at after say a power
>>>>>>> loss? Any other
>>>>>>> issues?
>>>>>>>
>>>>>>> Regards;
>>>>>>> /jb
>>>>>>>
>>>>>>> "Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa>
>>>>>>> skrev i
>>>>>>> meddelandet news:C6669E1F.2E948%ten.xoc@dnartreb.noraa...
>>>>>>> > Yes, that is a much different animal (Geoff has some very
>>>>>>> > rigid opinions
>>>>>>> > about that).  I was just addressing from the SSMS side of
>>>>>>> > things.
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > On 6/23/09 2:34 PM, in article
>>>>>>> > F9F2ADF8-7265-4CAD-B490-C8A50FF47***@microsoft.com, "Linchi
>>>>>>> > Shea"
>>>>>>> > <LinchiS***@discussions.microsoft.com> wrote:
>>>>>>> >
>>>>>>> >> Yeah, i tried 2,000 databases, and Management Studio
>>>>>>> >> appears to handle
>>>>>>> >> them
>>>>>>> >> fine. I'm not sure if there is any implication on the
>>>>>>> >> startup process
>>>>>>> >> when
>>>>>>> >> SQL Server has to go through them to analyze, redo/undo,
>>>>>>> >> etc.
>>>>>>> >>
>>>>>>> >> Linchi
>>>>>>> >>
>>>>>>> >> "Aaron Bertrand [SQL Server MVP]" wrote:
>>>>>>> >>
>>>>>>> >>>> I created 300 hundred databases on a test machine, and
>>>>>>> >>>> Management
>>>>>>> >>>> Studio
>>>>>>> >>>> appears to be handling them fine. I didn't do a thorough
>>>>>>> >>>> check though.
>>>>>>> >>>
>>>>>>> >>> I have a system with over 500 and am accessing pretty much
>>>>>>> >>> verything  -
>>>>>>> >>> remotely, no less - via Object Explorer, with no
>>>>>>> >>> noticeable effects.
>>>>>>> >>>
>>>>>>> >>>
>>>>>>> >
>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>
>
Author
24 Jun 2009 7:14 AM
Jonny Bergdahl
The only problem I have seen is that SQL Management Console seems to be a
memory hog, it runs very slow in the staging environment (a VMWare image
with limited RAM.

Regards;
/jb

Show quoteHide quote
"Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i meddelandet
news:D9E46943-1564-44EE-B90A-8D3954D27BAA@microsoft.com...
>I created 300 hundred databases on a test machine, and Management Studio
> appears to be handling them fine. I didn't do a thorough check though.
>
> Linchi
>
> "Linchi Shea" wrote:
>
>> > Any special reason for this, or it is just a feeling?
>> >
>> Just some non-scientific previous experience with various management
>> tools.
>> Note that many of these tools would loop through the databases to do
>> things.
>> If there are too many databases, that looping can take long and give the
>> user
>> a bad experience.
>>
>> If you have an environment, I'd suggest you create a few hundred dummy
>> databases, and check it out yourself. Maybe, the most current tools don't
>> have that issue any more.
>>
>> Linchi
>>
>> "Jonny Bergdahl" wrote:
>>
>> > > The approach is fine if you expect the the load on the server will
>> > > max out
>> > > the server resource before the number of databases becomes too large.
>> >
>> > Question is what number of databases is "too large".
>> >
>> > > Personally, I'd consider hundreds of databases on a single server to
>> > > be
>> > > too
>> > > large.
>> >
>> > Any special reason for this, or it is just a feeling?
>> >
>> > Regards;
>> > /jb
>> >
>> >
Author
24 Jun 2009 1:19 PM
Aaron Bertrand [SQL Server MVP]
> The only problem I have seen is that SQL Management Console seems to be a
> memory hog, it runs very slow in the staging environment (a VMWare image
> with limited RAM.

Do you HAVE to use Management Studio inside the VM?  With that number of
databases, or with such a limited VM, and especially with both, I would
manage the instance remotely, not locally.  Your VM is on the network,
right?  If not, can it be?  If not, can't you just increase the allocated
RAM?
Author
25 Jun 2009 8:15 AM
Jonny Bergdahl
This was just a reflection of the state of the SQL Server Managment Studio
application. As with any other Microsoft product, it grows for each version
to consume all available CPU and memory. :-)

When opening a table with say 30.000 rows, the Management Console CPU usage
goes up to 75% while the SQL Server CPU usage is like 5%. During such
operations, which may takes 10-30 seconds, the web application also gets
very sluggish as the SQL Service is unable to get as much CPU as it needs.

We have no LAN access as the application runs in a hosted environment. But
as I said, this is in the staging environment running in a VM model Small (1
CPU, 512 Mb RAM), so it not an actual problem.

Regards;
/jb

Show quoteHide quote
"Aaron Bertrand [SQL Server MVP]" <ten.xoc@dnartreb.noraa> skrev i
meddelandet news:C667A00A.1DB9F%ten.xoc@dnartreb.noraa...
>> The only problem I have seen is that SQL Management Console seems to be a
>> memory hog, it runs very slow in the staging environment (a VMWare image
>> with limited RAM.
>
> Do you HAVE to use Management Studio inside the VM?  With that number of
> databases, or with such a limited VM, and especially with both, I would
> manage the instance remotely, not locally.  Your VM is on the network,
> right?  If not, can it be?  If not, can't you just increase the allocated
> RAM?
>
Author
25 Jun 2009 10:02 AM
Aaron Bertrand [SQL Server MVP]
> When opening a table with say 30.000 rows, the Management Console CPU usage
> goes up to 75% while the SQL Server CPU usage is like 5%.

Patient: "It hurts when I do this."

Doctor: "Don't do that."

Why would you need to use open table and return 30,000 rows?  Are you really
going to look at all 30,000 rows?  I strongly suggest using a more judicious
where clause or inspecting counts instead of the actual data, but most
importantly, not using the "open table" feature at all.
Author
25 Jun 2009 1:07 PM
Jonny Bergdahl
> Why would you need to use open table and return 30,000 rows?  Are you
> really

Because I am lazy and can't be bothered to type a SELECT clause? :-)

Basically it is because there is no "Display first 100 rows" or something
like that in the context menu. I find the available option "Open table"
quite stupid, it would make far more sense if the grid control was actually
paged so it just read the relevant data into the display. But no, instead it
is designed to be a memory hog.

Regards;
/jb
Author
25 Jun 2009 1:41 PM
Aaron Bertrand [SQL Server MVP]
> Basically it is because there is no "Display first 100 rows" or something
> like that in the context menu.

Then maybe you should install the 2008 tools, where "Open Table" no longer
exists, and instead you can say "SELECT TOP n" or "Edit Top n" ... Both n's
are configurable in the options.  The SELECT just generates a select query
in a new query window and executes it, while the Edit gives you the grid you
are using now (but with a limited number of rows).  Unfortunately there is
no way initially to dictate what the TOP means (e.g. there is no ORDER BY).

They fixed this precisely because of the problems with open table.  Of
course there was a lot of pushback because people like you are lazy and, to
your credit, most don't have any concept of how much toll it takes on both
ends, or the guts to complain about it.

If you stick with the 2005 tools, then you could of course right-click the
table and say Script table as > SELECT > to new query window.  Then you can
add a TOP and ORDER BY to the output and hit F5.  A couple more clicks but
definitely much more reliable and less resource intensive.

A
Author
25 Jun 2009 1:54 PM
Linchi Shea
> Patient: "It hurts when I do this."
>
> Doctor: "Don't do that."

Patient: Okay, doctor, you win! From now on, I'll use SELECT TOP 100.

Linchi

Show quoteHide quote
"Aaron Bertrand [SQL Server MVP]" wrote:

> > When opening a table with say 30.000 rows, the Management Console CPU usage
> > goes up to 75% while the SQL Server CPU usage is like 5%.
>
> Patient: "It hurts when I do this."
>
> Doctor: "Don't do that."
>
> Why would you need to use open table and return 30,000 rows?  Are you really
> going to look at all 30,000 rows?  I strongly suggest using a more judicious
> where clause or inspecting counts instead of the actual data, but most
> importantly, not using the "open table" feature at all.
>
>
Author
25 Jun 2009 3:16 AM
Mark Han[MSFT]
Hi Jonny

Thank you for the reply.

accoring to your description, I understand that when there are a lot of
database running in the SQL Server instance, you meet a performance problem
(run slowly) with the SQL Management Console. if i misunderstand anything,
please let me know.

in order to help you to resolve the issue, I need to better understand the
issue. therfore, please help to confirm the following
1 based on your description, the sql management console is running on a
virtual server. is it correct? if so, I would like to know if the virtial
server is biuld by Microsoft product?

2 as you say SQL Management Console, do you mean SQL Server Management
Studio? if not, please tell me which tool you use when the issue happens

3 please describe the symptom in detail. For example , what action you are
doing when the issue happens? does the issue always happens?

Best regards,
Mark Han
Microsoft Online Community Support
=========================================================
Delighting our customers is our #1 priority. We welcome your
comments and suggestions about how we can improve the
support we provide to you. Please feel free to let my manager
know what you think of the level of service provided. You can
send feedback directly to my manager at: msd***@microsoft.com.
=========================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
=========================================================
Author
25 Jun 2009 8:33 AM
Jonny Bergdahl
1. It is a VMWare Server VM, one CPU, 512 Mbyte RAM.
2. Yes.
3. I select Open on a large table, then the CPU goes up to 100% and it takes
a 10-30 seconds to get the result set. During this time the Managment Studio
uses 75% of the CPU.

Regards;
/jb

Show quoteHide quote
"Mark Han[MSFT]" <v-fat***@online.microsoft.com> skrev i meddelandet
news:KrbMrNU9JHA.5192@TK2MSFTNGHUB02.phx.gbl...
> Hi Jonny
>
> Thank you for the reply.
>
> accoring to your description, I understand that when there are a lot of
> database running in the SQL Server instance, you meet a performance
> problem
> (run slowly) with the SQL Management Console. if i misunderstand anything,
> please let me know.
>
> in order to help you to resolve the issue, I need to better understand the
> issue. therfore, please help to confirm the following
> 1 based on your description, the sql management console is running on a
> virtual server. is it correct? if so, I would like to know if the virtial
> server is biuld by Microsoft product?
>
> 2 as you say SQL Management Console, do you mean SQL Server Management
> Studio? if not, please tell me which tool you use when the issue happens
>
> 3 please describe the symptom in detail. For example , what action you are
> doing when the issue happens? does the issue always happens?
>
> Best regards,
> Mark Han
> Microsoft Online Community Support
> =========================================================
> Delighting our customers is our #1 priority. We welcome your
> comments and suggestions about how we can improve the
> support we provide to you. Please feel free to let my manager
> know what you think of the level of service provided. You can
> send feedback directly to my manager at: msd***@microsoft.com.
> =========================================================
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
> =========================================================
>
Author
26 Jun 2009 7:46 AM
Mark Han[MSFT]
Hi Jonny

Thank you for the reply.

according to your description, i understand that when you use SSMS to
manually open the table, the result will be returned in 10-30 seconds and
the SSMS will take 75% CPU.

Based on my experience, we need to troubleshooting the issue from 2 parts.
1 to check if the issue is related to the SSMS client Tool
2 to analysis the system resouce to see if there are some Bottlenecks when
the issue happens.

Based on the above, we need to the following information to further
diagnose the issue. Therefore, please send me an email so that I can create
a workspace for you to upload the requested file.
1 the backup file of the database. the version of the SQL Server and the
SSMS. i would like to reproduce the issue.

2 the performance log. I would like to analysis the performance log to
check bottlenecks.

Besides, to further narrow down the issue, please do the test.
test: run the T-SQL, select command to return the data from the table to
see if it will take 10-30 seconds to return the result.

note, please tell me the time when we use T-SQL select command to get the
data.

if you have any questions on the above, please let me know.

Best regards,
Mark Han
Microsoft Online Community Support
Get Secure! - www.microsoft.com/security
====================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
====================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
====================================================
Author
25 Jun 2009 1:59 PM
Linchi Shea
Jonny;

Back to Aaron's comment on using SSMS in a VM, you should really just leave
the server do what it is supposed to do, that is to service the client
requests, and run client tools on your workstation (of course unless that VM
is also your workstation). Client tools typically don't scale well with a
large volume of data because that's not what they are deigned for and that is
not how they should be used (i.e. to consume very large memory data
structures).

If you run these client tools on your own workstation, at the worst you end
up hurting yourself and at the worst you can always reboot your workstation
without anybody else screaming at you.

Linchi

Show quoteHide quote
"Jonny Bergdahl" wrote:

> The only problem I have seen is that SQL Management Console seems to be a
> memory hog, it runs very slow in the staging environment (a VMWare image
> with limited RAM.
>
> Regards;
> /jb
>
> "Linchi Shea" <LinchiS***@discussions.microsoft.com> skrev i meddelandet
> news:D9E46943-1564-44EE-B90A-8D3954D27BAA@microsoft.com...
> >I created 300 hundred databases on a test machine, and Management Studio
> > appears to be handling them fine. I didn't do a thorough check though.
> >
> > Linchi
> >
> > "Linchi Shea" wrote:
> >
> >> > Any special reason for this, or it is just a feeling?
> >> >
> >> Just some non-scientific previous experience with various management
> >> tools.
> >> Note that many of these tools would loop through the databases to do
> >> things.
> >> If there are too many databases, that looping can take long and give the
> >> user
> >> a bad experience.
> >>
> >> If you have an environment, I'd suggest you create a few hundred dummy
> >> databases, and check it out yourself. Maybe, the most current tools don't
> >> have that issue any more.
> >>
> >> Linchi
> >>
> >> "Jonny Bergdahl" wrote:
> >>
> >> > > The approach is fine if you expect the the load on the server will
> >> > > max out
> >> > > the server resource before the number of databases becomes too large.
> >> >
> >> > Question is what number of databases is "too large".
> >> >
> >> > > Personally, I'd consider hundreds of databases on a single server to
> >> > > be
> >> > > too
> >> > > large.
> >> >
> >> > Any special reason for this, or it is just a feeling?
> >> >
> >> > Regards;
> >> > /jb
> >> >
> >> >
>
>
Author
24 Jun 2009 4:57 AM
Mark Han[MSFT]
Hello Jonny,

Thank you for using Microsoft MSDN Managed Newsgroup. My name is Mark Han.
I am glad to work with you on this issue.

From your description, I understand that you would like to know if there
are some  performance issues when we use  a large number of databases.
If I have misunderstood, please let me know.

Based on my experience, the concern is related to the scenario. To get a
idea about the number of the databases which might case the heavy load for
the server resource, it is suggested to do tests to monitor the performance
by perfornamce log to see the changing of the perfornace of the server.
about the performance log, there are some related articles to share with
you:
Performance
Counters:http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx
How to: Create a Performance
Log:http://msdn.microsoft.com/en-us/library/ms172556(SQL.90).aspx

Besides, if you meet a detail performance issue, we welcome you to post it
here.

if you have any questions or concerns on the above, please let me know.

I look forward to hearing from you.

Best regards,
Mark Han
Microsoft Online Community Support
===========================================================
Delighting our customers is our #1 priority. We welcome your
comments and suggestions about how we can improve the
support we provide to you. Please feel free to let my manager
know what you think of the level of service provided. You can
send feedback directly to my manager at: msd***@microsoft.com.
===========================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or
a Microsoft Support Engineer within 2 business day is acceptable. Please
note that each follow up response may take approximately
2 business days as the support professional working with you may need
further investigation to reach the most efficient resolution.
The offering is not appropriate for situations that require urgent,
real-time or phone-based interactions. Issues of this nature are
best handled working with a dedicated Microsoft Support Engineer by
contacting Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx

============================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
=========================================================
Author
25 Jun 2009 8:30 AM
Jonny Bergdahl
> From your description, I understand that you would like to know if there
> are some  performance issues when we use  a large number of databases.

Yes, and what I am looking for is any experiences of issues like caching of
result sets, optimizations, etc, things that are not part of the
documentation. I know this setup is somewhat unusual, that is why I ask in
the first place.

The documentation simply states that the maximum number of databases is
32768, but it says nothing about the performance impact that number of
databases would impose on a system. I would think this would have a rather
large impact on the internal function of SQL Server, as the available memory
needs to be divided to serve the numerous different databases with caches,
statistics and query optimizations.

Regards;
/jb
Author
5 Jul 2009 9:08 PM
John Bell
Show quote Hide quote
"Jonny Bergdahl" <jonnybergdahl@newsgroup.nospam> wrote in message
news:OulDgr98JHA.1252@TK2MSFTNGP04.phx.gbl...
>I have developed a system that potentially will be run by thousands of
>customers. In order to make it easy to partition the system on multiple
>servers, I have opted to use a separate database for each customer. That
>way, as the number of customers grow, I can easily add SQL servers to
>divide the load.
>
> The number of transactions for each database is low, typically we have 3
> transactions/hour with a typical peak usage of 120 transactions/hour.
>
> Are there any special issues in such a setup? What is the performance
> issues of using a large number of databases? How many databases will I be
> able to handle on each server?
>
> Regards;
> /jb

Hi

You are allowed 32,767 databases per instance see
http://msdn.microsoft.com/en-us/library/ms143432.aspx. With your
configuration it will be easy to move databases to other instances/servers
if you do hit performance issues.

John

Bookmark and Share