我们的设置
我有一个小型托管设置,包括SQL Server(2008),几个Web服务器和一个应用程序服务器。它们不属于任何领域 - 只是一堆完全独立的机器(但在同一个交换机上)。
问题
我们目前正在Web和应用程序服务器上的连接字符串中使用服务器IP。如果服务器崩溃并且需要使用不同的IP进行重建(或者由于某些其他原因需要更改IP),这不是最佳的。
可能的解决方案?
我认为我要做的是使用FQDN(例如sqlserver.mydomain.com)。这有一些潜在的问题: - 还有一件事可以破解(DNS解析) - 由于DNS解析可能会有轻微的性能损失(虽然可能是理论上的) - 由于TTL而改变DNS记录会有延迟。
为了缓解这种情况,我想我会将FQDN添加到“hosts文件”中,这应该相当于一个NETBIOS名称(afaik - 不是我的专业领域)。 这样,我的名称解析不依赖于外部DNS服务器和即时更改DNS的能力。 “真正的”DNS记录只是对没有“主机”条目的机器的后备或者例如在硬件更换后忘记重新添加它们。
这种方法有什么问题吗? (Windows或SQL Server问题)。或者有更好的方法来实现这种设置吗?
(这是SQLServerCentral post的一个交叉点 - 我在这里发布以及更广泛/不同的受众,因为我没有收到关于SSC的任何真正令人放心的答案)
答案 0 :(得分:1)
FQDN是有道理的。我会说它比使用IP更有意义。使用DNS很好,在内部,该名称解析的“开销”应该基本上不存在。我更喜欢使用FQDN,有时甚至不使用servername,但实际上只是为了服务器迁移而创建CNAME别名,必须故障转移到备份服务器等等。
所以在这个例子中,我的应用程序将指向SQL连接字符串中的ApplicationNameSQLServer.MyDomain.Com ... SQLServer1将被视为网络上的ApplicationNameSQLServer ..然后,如果SQLServer1被替换,迁移出去等等我还有更多选项,而不是试图仔细跳舞服务器重命名。