Solved

One-database limit on database mirroring?

Posted on 2006-10-30
5
266 Views
Last Modified: 2008-03-10
A colleague has suggested that SQL 2005 database mirroring only supports one database per server. I cannot find any reference to this limitation but want to make sure. Was it a limitation on the original release or perhaps even a beta release?


Thanks

0
Comment
Question by:AaronAbend
  • 3
5 Comments
 
LVL 28

Accepted Solution

by:
imran_fast earned 250 total points
ID: 17833804
No its not true

but mirroring will be one on one. means one database will be mirrored to one database.
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 17833819
he probably means that you cannot mirror the database to the same server/instance.

0
 
LVL 28

Assisted Solution

by:imran_fast
imran_fast earned 250 total points
ID: 17833895
Multi-Database Issues
Many applications make use of multiple databases on a single server. One application may reference multiple databases, or perhaps many applications all make use of several databases. However, database mirroring works with a single database at a time. You need to take this into account when designing mirroring into your database architecture.

If you desire the High Availability mode, your best fit will be when one application matches up with one database. Then if an automatic failover occurs, the application no longer requires any databases on the principal server. Consider what might happen if you have multiple databases on a single server and operate in the High Availability mode. If there is a physical server outage, a SQL Server instance failure, or a communication failure, all the databases would automatically fail over to the standby server, and their mirrors would then become new principal databases. If the witness is visible, the application could connect to the new principal databases. But what would happen if one of the databases incurred a torn page from a disk fault, so that only the one database failed over? In that case, it might be impossible to get the application to connect to all the right databases.

Therefore applications that rely on multiple databases will not be good candidates for the High Availability mode of database mirroring. You may be able to use safety OFF, with the realization that you will not have automatic failover, but you will have a high-performance method of keeping another database server in sync.
0
 
LVL 28

Expert Comment

by:imran_fast
ID: 17833910
The above topic shows you can do mirroring on multiple database per server but it is not recommended to do mirroring when your application spans multiple database.
0
 
LVL 10

Author Comment

by:AaronAbend
ID: 17833913
I found a powerpoint from a Microsoft presentation with the words "High availability for a single database" but the audio indicates that mirroring is done  on a "database by database basis" as distinct from a "server by server" basis. I think this is the source of the confusion. I think Imran's answer is best. Thanks for the quick reply.

for the benefit of those who find this thread... here is the Microsoft presentation with that slide...
http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032282290&EventCategory=5&culture=en-US&CountryCode=US

and here is a discussion of mirroring multiple databases
http://www.microsoft.com/technet/prodtechnol/sql/2005/technologies/dbm_best_pract.mspx#ECMAE


0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now