我有一个特殊的场景,我的镜像数据库无法在一台服务器上访问,但可以在另一台服务器上访问。我尝试指定特定的 SQL 登录名以使其正常工作,但是当数据库故障转移到其他服务器时,SQL 不再能够使用这些凭据。我还尝试使用集成安全性来使用域管理员帐户,我认为这在两台服务器之间是一致的。没运气。那么我能做些什么来解决这个问题,有没有办法让一个服务器实例从另一个服务器实例中获取安全帐户。两台服务器都在受信任的域中。
我有一个特殊的场景,我的镜像数据库无法在一台服务器上访问,但可以在另一台服务器上访问。我尝试指定特定的 SQL 登录名以使其正常工作,但是当数据库故障转移到其他服务器时,SQL 不再能够使用这些凭据。我还尝试使用集成安全性来使用域管理员帐户,我认为这在两台服务器之间是一致的。没运气。那么我能做些什么来解决这个问题,有没有办法让一个服务器实例从另一个服务器实例中获取安全帐户。两台服务器都在受信任的域中。
SQL Server 数据库镜像是一种数据库级别的高可用性机制。任何影响您正在镜像的数据库以外的数据库(例如存储在 Master 中的登录名)都需要在故障转移发生后手动传播到镜像,或者(更理想地)在计划维护期间定期传播。
如果登录名被复制并且您仍然遇到问题,您可能正在查看 SID 不匹配。在这里查看更多信息和解决方案。
在任何镜像期间,只有主体可用,镜像处于脱机状态。
在高可用性模式下,还有一个见证,这是自动故障转移所需要的。需要有 2 个节点就谁是主节点达成一致,以避免两个节点都成为主节点。
您可以使用这样的连接字符串自动连接到 2 台服务器的活动服务器: