Seems like SQL Server has this feature: Database Mirroring.

Essentially you have Primary SQL Server and Mirror SQL Server, and a Witness SQL Server.

Whatever you insert into primary sql it also insert into the mirror,  while witness server checks if primary server working or not. If primary not working, it automatically connects to the mirror server.

My question is does this sql feature work for Outsystems? Meaning if I set up the mirror and witness servers will outsystems connect the data from the mirror server? any setup to do?

I'm not sure about Database Mirroring specifically, but OutSystems supports database clusters. I imagine that Database Mirroring is one type of clustering for SQL Server.

See https://success.outsystems.com/Support/Enterprise_Customers/Maintenance_and_Operations/Designing_OutSystems_Infrastructures/06_OutSystems_Platform_infrastructure_design_examples for some architecture examples.

Thanks. But seems like database clustering isn't what I'm looking for as the definition is: Database Clustering is the process of combining more than one servers or instances connecting a single database.

I'm interested in in case our backend db is down. 1) all application is down. Service center not work. So having that mirror db and having SQL automatically points to the mirror db because of the witness SQL server would help in this scenario

Not only that I believe the mirror server can be totally different location as the primary server

From what I read, for a client to use database mirroring, it needs to change the connection string to reference the failover partner, and has to detect failures and reconnect.

The failover partner can be added in the advanced connection string on the configuration tool.

The reconnection I believe is done automatically by the platform, but might cause some failures to end-users.

In any case, you should contact OutSystems Support, since even if it works, they have the final word on whether this is a certified configuration or not.

Hi David,

May I ask why do want to use Database Mirroring instead of the Always On feature? I'm asking this because following Microsoft documentation state that Database Mirroring feature is a feature that will be removed in a future version of SQL Server.

Does OutSystems support SQL Server Always On technology? The answer is Yes. OutSystems reviewed interoperability of the OutSystems platform with an SQL Server with Always-On configuration, to ensure that there weren't any limitation.

On the OutSystems side, you just need to configure Availability Group Endpoint in the Configuration Tool. the tests done in our labs (where we used synchronous replication with 1 replica), showed no relevant performance differences between this Always-On configuration and a basic SQL Server configuration. The measured response time and throughput were similar in both configurations.

Hope this helps.