- Newest
- Most votes
- Most comments
You should not disable Multi-AZ on your RDS SQL Server instance to enable Read-Committed Snapshot Isolation (RCSI). Disabling Multi-AZ would cause significant disruption as it would force RDS to completely rebuild the mirror when you re-enable it, resulting in degraded availability for approximately 30-90 minutes.
Instead, you can enable RCSI without setting the database to SINGLE_USER mode by using the following command for each database:
USE master
ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON
GO
This approach is recommended for EnterpriseOne databases to prevent locking scenarios that affect system performance. Enabling RCSI this way doesn't require putting the database in single-user mode and is compatible with Multi-AZ deployments.
It's important to note that for Multi-AZ deployments, all databases on the primary host are maintained as one atomic unit, and if one database fails over, all databases fail over together to the standby host. Therefore, you should be consistent in your RCSI settings across databases.
After enabling RCSI, you may need to adjust your application configuration to disable SQL query timeout and disable retries with *NOLOCK, as these settings are typically required when RCSI isn't enabled.
Sources
Configure RCSI - AWS Prescriptive Guidance
Determining a recovery model for your Amazon RDS for SQL Server database - Amazon Relational Database Service
Microsoft SQL Server Multi-AZ deployment limitations, notes, and recommendations - Amazon Relational Database Service
answered 9 months ago
After testing I see it is possible to activate RCSI without switching to single user mode if the database activity is not too heavy by setting the rollback immediate on the operation.
ALTER DATABASE DatabaseName
SET READ_COMMITTED_SNAPSHOT ON
WITH ROLLBACK IMMEDIATE;
This does not require to disable the Multi-AZ AlwaysOn mode.
answered 9 months ago
Relevant content
asked 3 years ago
- AWS OFFICIALUpdated 10 months ago

EnterpriseOne is Oracle, not Microsoft SQL