在DNS中使用CNAME以允许更轻松的MSSQL数据库访问

我的公司要求我制定一个服务器迁移计划,以便重新组织他们的networking,并使其更容易执行IT任务。 他们目前有三个MSSQL服务器。 目前的计划是将所有数据库迁移到单个MSSQL服务器,然后设置冗余。 我仍在制定这部分计划。

他们开发了大量用于内部使用的自定义应用程序,用于轮询这些数据库中的大量数据。 不幸的是,过去有很多程序员把MSSQL服务器名称硬编码到各种应用程序和存储过程中。 我目前正在通过所有的代码来纠正这个问题。

这是我的问题。 而不是在所有不同的应用程序中input新的MSSQL服务器的名称,那么对于每个数据库使用DNS A / CNAME(即database1.domain.com,database2.domain.com)怎么办? 这将允许ITpipe理员轻松地更改数据库的物理位置,并更新CNAME,而无需让程序员参与。 在我看来,这将使pipe理变得更容易,并且可以让公司预计在今年晚些时候的可扩展性。

我们目前使用Windows 2003 Server Standard和MS SQL 2005 Standard。

你对这个方法有什么看法? 非常感谢您的帮助。

这是一个好主意TM 。 您还可以使用CNAMES和DNSsearch后缀将所有旧的硬编码服务器名称重新定位到新的MSSQL服务器。

另一种方法是在运行自定义应用程序的主机上设置SQL Server本机客户端别名 。 如果你有一个服务器场,有大量的networking服务器,或者胖客户端(除非你自动运行),但是这个服务器已经存在了,这可能是不实际的。

当连接string中没有定义的时候,它也是获取应用程序指向一个sql server命名实例的唯一方法。

我做类似的东西。 当我开始在我现在的公司时,他们为每个数据库DSN使用一个Alogging:例如db1.domain.com。 我创build了CNAMElogging,以便我可以通过CNAME将每个数据库DSN指向单个Alogging(对于SQL服务器)。 现在,如果我更换服务器,我只需更换一个Alogging,然后重新开始工作。

所以你要使用CNAMElogging而不是Alogging。 如果使用Alogging,则在更改服务器时,必须删除并重新创build每个logging。

科技共和国有一篇关于这个主题的文章。

实际上,作者描述了一个我正在实施的策略,在这个策略中,您为每个数据库设置一个独立的CNAME,而不仅仅是服务器。

这就允许您灵活地将单个数据库从一个SQL Server移动到另一个,而无需触摸任何客户端或代码!

https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/networking/?p=460