My company wants to go for the Database Mirroring for Navision. We are currently using Microsoft Dynamics Navision 2009 SP1. Navision is hosted by the third party at Chennai Data Centre (Accel Frontline Ltd). Currently we are using 3 Servers at data Centre, 2 Application servers and 1 Database Server(which will be Primary Server in case of mirroring). We are planning to put Disaster Recovery(DR) Clause in our contract with AFL. For DR, AFL wants to put 2 server in One More Location (In our case it would be Hyderabad Data centre of AFL) one is application server and other is Database Server(Secondary Server).Database will get mirrored every 15 minutes.DR would help us in case of unforeseen event like Data Centre(Chennai) gets burnt down and so that with minimum downtime we can access Secondary Server with New IP.
My queries are as follows
- Does Navision support Mirroring?
- What would happen if we make changes in the Table Structure(Like adding Fields,writing codes,Creating New Table or adding Table Keys) through Navision in Primary Server, would that also gets replicated in the secondary Server?
- Are there chances of Navision becoming Slow?
- is mirroring the best option? or we can use any other method
I have tried doing the mirroring in my system but for some or the other reason(which i am not aware of) Database Restoring in the Secondary Server(Mirrored) is taking long time(In fact it is not finishing).So i am not able to do testing.
I would really appreciate your help!
First I will start by telling you that we have a client that has been running NAV with database mirroring for several years. They run in High Availability mode with full safety. They are running NAV 5.0 SP1 with NAV 2009 R2 clients.
Now to answer your questions.
Navision does not officially support any DR solutions. This is not to say they don’t work. They just take the position that since they don’t test them they don’t suppor them. That being said, any of the standard SQL DR solutions (mirroring, log shipping, clustering) tend to work just fine. Over the years I’ve used them all.
Schema changes to the database get pushed to the mirror. But, since you only mirror the NAV database, changes outside that database need to be manually done on the secondary server. This would be things like new users, etc.
This depends on the type of mirroring you are using. With syncronous mirroring both servers are updated before the transaction is completed. This means that the link between the servers can have an impact on the performance of the primary. This does not work welll over WAN links.
Asyncronous mirroring works more like log shipping. A slower link can result in a delay in updating the mirror, but has no impact on primary performance.
- This depends on your needs. One note, is that Microsoft announced that mirroring will not be part of the next SQL version. They suggest not building new sites with it.
From your statement “…Database will get mirrored every 15 minutes…”, it would appear you are doign asyncronous mirroring. You might also consider log shipping as an alternate solution.
Hi Babrown Thanks
You really saved me with this wonderful explanation.
So, You think i can proceed with mirroring with asynchronous mode.One more thing i just wanted to confirm in your statement, “Schema changes to the database get pushed to the mirror” it means changes made to Table structure ,forms or Codeunits in navision would automatically shipped to the mirror server? Is my understanding right?
Schema refers to table structure changes. The other things you mention are really just data in the SQL databases (object table). So yes mirrorign handles those.
Thank you Babrown,
I really appreciate your help.