Yes, your question is quite loaded...
1.1 Yes, every shard should have RS
1.2 Every RS have it's own master.
2.1. Only if you do slave reads. Normally read is done from primary. It will not affect replication directly. Only write of data, when write concern is majority.
2.2. If you do slave read AND you connect to specific instance, then data is read from ...
Without changes to application means you would have to do it at "the network layer". With that I mean things like DNS, rename machine etc.
If you can modify the connection string, then you can try below connection attribute. It is really meant for database mirroring, so you would have to try if it makes work in other situations:
So if I want to shut off my active/passive FCI SQL service, I plan to
do the following, are the steps correct?
The only steps you need are these:
Bring down FCI SQL services:
Stop Role on the role that runs my SQL FCI to prevent failover between active/passive node.
Bring up FCI SQL Services:
Start Role on the role that run my SQL FCI.
With these ...
Are you saying that the one assembly you have references unsupported .NET framework libraries that get imported implicitly when creating your assembly? In which case it would make sense that a Framework update could have this effect. SQLCLR requires that assemblies used in SQL Server that are also in the main OS GAC be the exact same version, and the version ...