我已经在两台装有 Windows Server 2012 的服务器上安装了故障转移集群功能,然后我在这两台服务器上都安装了 SQL Server 2012。我还启用了 SQL Server 2012 AlwaysOn 功能。
现在我可以通过实例名称访问每个节点。我也可以使用故障转移集群名称进行连接。
按实例名称和集群名称访问 SQL Server 有什么区别?
我有两个节点。我可以单独或使用集群名称连接到每个节点。当我使用集群名称创建数据库时,将在一个节点上创建数据库。我没有共享存储,这不是 AlwaysOn 的要求。
考虑使用两个节点创建故障转移群集的场景。您没有共享存储空间。您在两个节点上都安装 SQL Server,并且可以分别连接到每个节点。您还可以使用集群名称连接到集群。通过连接到集群创建数据库有什么好处吗?当节点关闭而不使用 AlwaysOn 时,它是否会自动故障转移到另一个节点?
我安装了独立实例,并且我读到 SQL Server 的集群实例不是 AlwaysOn 的要求。
集群在 2012 年的工作方式大不相同,使用 SQL Server 2008 中的知识可能会让您感到困惑。
从 PowerShell(以管理员身份)尝试以下操作:
如果你看到类似的东西:
然后您还没有配置 AlwaysOn - 您所做的只是设置了一个初始集群。
在这种情况下,连接到集群名称/IP 是没有意义的。它所做的只是将您连接到拥有 Windows 故障转移群集的服务器,该群集是任意的并且与您的数据库配置完全无关。
一旦您正确配置了 SQL Server AlwaysOn 可用性组(基本上是具有自己的名称和 IP 地址的其他小型集群),那么其他名称/IP 地址将变得有意义。
例如,您可能有三个数据库配置如下:
服务器1:
服务器2:
此时,您要连接的服务器变得非常重要。
您永远不会希望使用应用程序直接连接到 Server1 或 Server2,因为哪些数据库在线以及哪些正在恢复将取决于您上次故障转移的时间。相反,您的所有应用程序都应该连接到 sqlcluster1 或 sqlcluster2(它们有自己的 IP 地址),它们将自动连接到当前使该数据库联机的数据库服务器。
如果您尚未设置任何可用性组,则需要对您的服务器进行额外配置。