Version 10.0.10240 (32 bits)
This will automatically place the databases back to their preferred host for you. It will tell you where to place your databases and you can use that to help you determine your preference order.
Here is a link to the blog where Ross talks about it. I have installed 2 Exchange server in in two VMs. Another one VM as Witness Server. All are windows running and Forest Functionality configured when installed the OS. And Witness Server only deployed by Win with default configuration. Because here need full FQDN. Hello, Jamshed, and thanks for your question. Let me make sure I have your question correct.
You already have two domain controllers with DNS Zones should be active directory integrated installed, so you have your redundancy there with AD replication. I hope this helps. Can you tell me what to do next. I would like a single name space for the exchange cluster that my clients can connect to. I did this in a 2 node exchange cluster by pointing my clients to an alias that pointed to the DAG IP. So if a server went down or a failover happened the clients would always remain connected to the common namespace.
I also configured auto discover so clients would connect to the DAG alias and not the individual server names. I have been told this is much easier and supported in but can not find any articles.
He James, thanks for your question. With a two node DAG with both nodes being in the same site, you would configured the exact same way you did This would be true for and I think what you might be hearing about the single namespace being easier with is the cross site configurations. You can go to one namespace with and it will just take care of everything for you. With , that is no longer the case. You can have a single namespace for both datacenters and will just figure it out.
There is some certificate work that needs to be done in there, obviously, but it sounds like you already understand that part. Anyways, keep that in mind. If you want to read more, check out this blog post. Jumrat, Thanks for your question. I hope I understand it correctly, but you want to get the servers in the startedmailboxservers, right? Please let me know if this does not answer your question. The terminology is interchangable.
The reason I ask is because in this technet template. That seems like it would break something if that was already my primary NIC connection to the data network. Hey Ian, thanks for the question. Either way, your thinking is correct. One thing about the replication NIC. This is recommended by Microsoft now to keep designs simple.
Thanks and I hope this helped. Thanks for your followup. This is your DR site, correct? I have a question that bother me before deploying DAG. About the replication itself, how does it work? It will help you determine the bandwidth needed. Basically, every transaction log created in the primary site will be replicated to your remote site.
The tool helps you determine that. Do the 2 nodes of the DAG necessarily need to be the exact same hardware? Hi Tom, thanks for your comment and question. I would recommend getting two servers that can handle the load and build your DAG with them and making them share the load. It all comes back to design. I would design the solution correctly and purchase two servers that meet the design requirements and deploy a DAG with the databases distributed between them.
With that said, there is no requirement that the hardware match exactly. Back in the days when you had Microsoft Clustering heavily involved, that was a requirement or strongly recommended. Your comment comes off as arrogant and condescending.
Thanks for your question and I hoped it helped. Basically, we have 3 Mailbox servers which are virtual machines running on 2 x hyper-v host servers. The mistake he made was — He setup one mailbox server on Hyper-v1 and 2 mailbox servers on hyper-v2. Since this Exchange DAG has an odd number of members we are not using a file-witness server to maintain quorom. Which leads me to my major problem. Due to hyper-v2 physical server rebooting today, we lost 2 out three votes or 2 out of 3 DAG members which dismounted our Exchange Databases and brought the DAG down.
Basically, we have 2 out of three DAG members on the same Hyper-v physical host server. My question is — can we simply add in a File witness server to the 3 node current DAG and then remove the 3rd mailbox member which will leave us with a 2-node Exchange DAG and a File witness server? Keep in mind, I will have one DAG member on each Hyper-v Server and the File witness server on another physical server non domain controller member server.
I am not sure in what order this should be done. Should I first add the file witness server to the 3-node dag? Or should I first remove the 3 mailbox server DAG node and then add the file witness server? Unfortunately, I have over mailboxes that are active in this DAG so I want to make sure that I do this in the correct order and keep the DAG and databases up and running during the process.
Any advice would be greatly appreciated. Hey Michal, thanks for the question. When you remove the third node and you have an even number, the DAG will change the cluster type for you to Node and File Share Majority. So, to directly answer your question, I would do this. This is the server it will use once you remove the third node. Remove the third node. If for some reason the cluster is not set correctly, run this command with no parameters.
Set-DatabaseAvailabilityGroup That will make exchange do some basic checking and fix anything that might be wrong. Uninstall Exchange from third node. This is something that you can do with no downtime, but I would still strongly recommend doing this after hours just to be safe. Thank you very much for the in-depth instructions. We are going to give this a shot after hours and see how it works out and will keep you posted. Your advice worked perfectly. I had one minor error that was occurring because the Exchange uninstaller kept failing.
Thank you very much for your guidance on this — I really appreciated your expert help. Glad I could help. I see a lot of issues with removing exchange servers, but they are usually issues that can be resolved without the use of ADSIEDIT and I eventually get them to gracefully uninstall. Thanks for getting back with me on how it went and enjoy your weekend! We have Exchange installed at two sites and have set up a 2-Node DAG, with a FSW in the primary site, which has been working fine for a long time now.
Wayne, Thanks for your question. Unfortunately, there is no way to keep databases mounted in both datacenters when the WAN link goes down. A cluster must have quorum at all times to mount databases.
It would provide DR capabilities and prevent the WAN link from causing outages to the client, however, it does double your server count.
I hope this helps Thanks, Jerrid. Thanks Jerrid, Nicely written article, well explained. Hey Sukhjinder, Thanks for the question. Could you describe how to configure alternate file share witness and how to test the configuration?
Hey Daro, Thanks for your question. There are some basic requirements which I covered in the article. The best way to test this is to run Set-DatabaseAvailabilityGroup no switches. This checks the FSW and will warn you if something is wrong. The time to test this is before it goes into production, so test and then test some more. I already have a 2-node R2 failover cluster using shared storage. Is it sufficient that one CAS and one MBX virtual server be on the failover cluster and let the underlying cluster logic keep them available?
Hey Phil, This is a great question and one I work with customers with all the time. The one thing I will say about that is, if the company is mature enough to manage exchange on a virtual platform and the benefits outweigh the added complexity, then virtualization makes sense.
I know a single site DAG is not that complex, but it is more complex than standalone servers and more complexity is always more risk. Now, what is a DAG providing you in your scenario? A faster failover, but like you figured out, it might not be that much faster. If a host fails, does your company need a sub 30 second failover DAG , or can it handle a couple minute outage while the other host fires up the exchange server? In most smaller companies, a few minute outage is completely acceptable.
The other thing that a DAG is providing is the ability to update one node without bringing down production. With that said, most small customers in a pre-DAG world were at that risk already and probably survived just fine. For small customers facing this virtualization question, I usually try to persuade them away from a DAG simply due to the complexity and cost, and rely on virtualization for high availability and good old backup solutions for recoverability.
Some people may disagree, but I see more customers bring themselves down out of ignorance or lack of operational maturity, and a DAG only makes those situations worse.
My main goal is to keep it simple and if you have to add complexity, make sure the benefits outweigh the risks. I hope this helps, but please keep in mind that every situation is different and these are just my thoughts based of what little I know about your environment and my experiences.
I would highly recommend combining the two roles. Less servers to deal with. I have one question. I have a 5 member dag. However receiving is fine. If i have to move it? How can i do it? Hey Martin, Thanks for your question. Second, I would rebalance your DAG members.
You want the higher number in your primary site. If you experience a WAN failure in your current layout, your primary site will lose exchange functionality. If you are not receiving email when your primary site is down, there are a few areas that could cause it, but I would start looking at send connectors. I would fix that first, and then work on email routing.
I must be missing something, because every time I start the 2nd exchange server, it starts spewing forth all kinds of spam. I have just completed a comprehensive malware scan and clean of my entire network and am confident I have removed all malware. Can you give me some insight as to what I may be missing? I would appreciate any help you can give me.
Hey Brian, Sorry for the late reply and thanks for your question. If the 2nd server is generating it, then I would just rebuild it from scratch if possible. I have seen new email servers opened directly to the internet and unintentionally bypassing the spam solution and spammers attack them pretty fast. I hope this helps, but basically, the email is being generated from somewhere. It is 3 node Dag, 2 in one site, 1 in second.
If the Database fails over there is no issue, but if the main server is offline OWA and clients can not connect. We do not have a Hardware Load Balancer. Hey Tom, Thanks for the question. It sounds like you have everyone going through one server. Excellent article, it builds on another I used to create my DAG. We currently have a 2 node DAG. One in datacentre, which also has another VM for the Witness. And a DR site here in our office.
I have tested shutting down datacentre exchange and it fails over nicely. This is not the desired result, so my question is if our witness was at a third site that both the datacentre and office exchange servers could contact via VPN, I assume that if Datacentre wan failed the DR site would continue as normal as it can still see witness? Hey Ben, Thanks for the question. There are two things here. This is where your Alternate FSW comes into action.
This is an automatic failover setup. Good question and I hoped this helped. Yesterday we suffered an outage caused by the DAG network becoming unavailable on the active mailbox server.
The DAG replication network is shared alongside client connections. Event logs showed that there was also issues connecting to the FSW which is on the same site, and subsequently all databases were unmounted. This had management jumping up and down a little, how can I add resilience to the DAG network, as I see it as a single point of failure at present? I blocked automatic activation of Databases in the DR site as I frequently found that DBs were being automatically mounted in DR causing client connectivity issues — is this a recommended action?
If your servers are physical, then I would recommend teaming the NICs and making sure they are connected to separate switches. This again is assuming your network is redundant. It sounds like you had two issues. The first issue is that your primary site lost connectivity to the DR site.
I see that you mention that if setting up NIC Teaming the team needs to be set up as fault tolerant only. Also, where did you find out about these limitations? Hey Kurt, Thanks for the kind words and questions. I hope this helps and thanks again. First of all Thank You and Congrats for the great article and help on this topic that is a complicated one and with limited-confusing resources even on Technet!
When we are talking about site resilience I know this article is for High Availability and not Site Resiliance though we mean two Sites on different datacenters that have except Exchange Server and a DC right? Because if I lose Site1 then Site2 Should work independently. Hey Alexios, thanks for the comment and the question. Site Resiliency means surviving a complete site failure.
High Availability means surviving a failure within your production site. Extending that to a separate site with a third node would provide you with SR. I hope this makes sense. I need some suggestion from you on implementing Exchange DAG. What is your suggestion?
Kindly suggest the way forward. We have got two different domains email. Hey Snthil, thanks for your question and commenting. I would not separate out the CAS and Mailbox role. I would always deploy them on the same box. Inexpensive and great product. I would get a single cert for all.
Make sure you buy it from a company that allows you to use the same certificate on multiple servers. I always go with digicert. Thanks for your awesome article. I need your opinion on this topic regarding my Exchange installation. I have 5 AD sites.
Of those sites, only one the data center is internet-facing. All sites are connected via MPLS. SiteE also contains server acting as FSW. At almost pages it should be sent out to your local printer for hard-copy publication. Keep the manual by your side as you begin your experimentation as you will find yourself looking things up regularly to resolve issues based on what you thought you already knew but found is no longer working.
As to when a 3. The one major change however, is how the Embedded version of Firebird is now being handled. From my previous attempts at using Firebird I was quite reticent in attempting such a conversion. However, in the end, the use of SQL Server LocalDB for anything literally made no sense when SQL Server Express is available and both required the application access an external process while taking up what would be considered a substantial amount of storage space for a desktop application.
Though I am working with the embedded edition of the Firebird Database Engine, there is a lot more to this database than just a version for the desktop. The Firebird Database Engine is the only database system available today that whether one uses the embedded version or one of the server versions offered, the implementation of all the various database objects and scripts is exactly the same.
Thus, when using a database manager for handling the embedded version of Firebird, to the developer it will appear as if he or she is using a server version. The only difference is the configuration of the implementation which would be expected and the protocols for the connection strings. With Firebird in addition to the embedded version of the database , a developer receives a choice of three different server engines that can be installed for remote database access requirements.
As noted from the Quick Start Guide 3. Some installers ask you to choose between Classic, SuperClassic and Superserver mode. Each mode is fully stable and there is no reason to categorically prefer one to the other. Of course you may have your own specific considerations. When in doubt, just follow the installer default for now.
Changing the server mode later can be done via the configuration file firebird. The server mode can even be configured per database consult the Release Notes for details.
However, if one is going to do heavy database development, using this utility will be more inhibiting than helpful. As a result, there are three database management tools I would recommend for consideration.
The first is the freely available FlameRobin DB-Manager , which apparently has received very good reviews from people who use it. The software can be downloaded from the following link… https: I have never used this tool so I cannot comment on it from my own experience but if others are saying good things about it there is no reason not to try it. The next recommended db-manager is Database. Like FlameRobin, the 32bit version of this application is available freely and supports not only Firebird but approximately 20 or so different database engines.
Developed by a fellow called Fish in Taiwan, this piece of software will get the job done as well as any db-manager commercially available. The software can be obtained from the following link… http: My preferred db-manager is that which is available from EMS Corporation.
EMS provides free versions of their tools, which will suffice for light to medium levels of database development but if one is doing this professionally and is used to the equivalent tools, than a purchase of the commercial version of the software would be the recommended route. Since I have worked with SQL Server, MySQL, and now Firebird, I own all three of the corresponding tools all of which have exactly the same interface making learning any other database engine manager for any of the major database engines a relatively easy task.
Starting with the free version of the db-manager for Firebird will let one evaluate the software completely to see if they want to make a purchase or keep using the free version itself. This software can be obtained at the following link… https: Everyone or most everyone would agree that this statement will return all of the rows or records from any particular table and they would be correct.
NET provider it would also be expected to return all rows back to a data-reader or a data-set, which it does. So far so, so good…. However, let us see what happens when we place this statement into a stored procedure. However, with this type of functionality, they would appear to be redundant. However, note where the error occurred on this most recent compile of the code as compared to the initial compile previously.
When the SELECT statement was not ended with a semi-colon, the statement was flagged as having a syntax error, though as we demonstrated previously using a db-manager or ADO. Yet, in the stored procedure here, the lack of a semi-colon flags it as such. When the semi-colon is added we still get the same error but for the SUSPEND statement, which does in fact have a semi-colon following it. Unlike most other major database engines, Firebird differentiates between a stored procedure that supports returning rows of data and one that provides modifications to one or more tables.
The question now is, if we have entered the proper PSQL syntax for this sample procedure, why then is it still yielding an error? The reason is that when an error of this type is returned and the syntax appears correct, one has just run into the notorious poor error reporting in the Firebird Database Engine. What this second semi-colon error is actually reporting is that there is something missing from the SELECT statement leading the Firebird error reporting sub-system to basically interpret the issue incorrectly.
We have to set up such buffers manually as a result of the fact that internally a SELECT statement within a stored procedure relies on the use of an internalized cursor to read through the data. And Oracle is heavily reliant on cursor processing as well. In any event, to circumvent this issue we must create the necessary variables that will be used for the internal buffers and be returned to the client.
Now our modified procedure will look as follows…. Token unknown — line 1, column 1. However, I have used Database. Some managers may assume you are entering a stored procedure name and fill in the rest for you. To avoid any further confusion, there are two ways one can test their new procedure in a Firebird db-manager, the first being the following….
However, if we enter the above procedural call which is in fact correct we again land up with an error result as shown below…. Multiple rows in singleton select. If you are starting to feel slightly confused as to why such a simple SELECT statement that we initially started with has become so onerous to process once it is made to be part of a stored procedure than you are beginning to get a feeling why this database engine has never reached its popular potential without a document like this to help explain away such impediments to attempted development with this engine.
Character Sets, Languages, and Continuations. Lightweight Directory Access Protocol v3: Extensions for Dynamic Directory Services. Framework and four profiles: Algorithms and Identifiers for the Internet X. The 'ippget' Delivery Method for Event Notifications. Authentication Methods and Security Mechanisms. String Representation of Distinguished Names. String Representation of Search Filters. A Control Channel for Pseudowires. Proposed Standard changed from Informational March Extensions for Scalability and Main Header Recovery.