Excel中有许多引用时,将数据库迁移到新服务器

在工作中,我们正在尝试升级基础架构,并最终分离应用服务器和数据库服务 我们希望将我们当前的SQL服务器数据库迁移到新的数据库服务器,但是我们有许多办公室的Excel电子表格,这些数据库连接和数据源都链接到我们当前的数据库服务器。

find所有这些参考将是一个相当不朽的任务。 有没有办法重新路由所有这些数据源,而无需查找和更新每个Excel文件? 我们甚至不确定所有这些使用一致的驱动程序,有些可能是ODBC,很多肯定是OLE,有些甚至可能通过Excelmacros使用ADO.Net。

有没有人有这样的情况的经验? 任何帮助是极大的赞赏。

假设连接到由DNS名称而不是IP生成的Excel电子表格中的SQL Server,则以下过程将执行此工作:

  1. 使用新的主机名,新的DNSlogging来安装新的服务器,就像有一个标准的新安装。
  2. 将您的数据和configuration移到新的服务器上。 请记住移动login,并确保他们映射正确。
  3. 更改旧服务器的名称。 确保旧名称不再被DNS引用。
  4. 添加新的DNSlogging(Alogging)到您的DNS服务器,引用到新服务器的IP。 (顺便说一句,你也可以使用WINS / SQL别名,而不是DNS服务器的方式)
  5. 现在,旧名称被引用到新的服务器IP。 但是,由于Kerberos协议,连接在AD环境中将不起作用。 假设服务器的新名称是newname.ADDomain.com,并且SQL Server的服务帐户是ADDomain \ sqlsvc,请在SQL Server上运行以下命令: SetSPN -S MSSQLSVC/newname.ADDomain.com:1433 ADDomain\sqlsvc 。 如果您不在域环境中或者没有使用Windows身份validation,则可以跳过此步骤。

完成后,客户端将能够使用旧名称连接新服务器。 我build议在做这个程序之前,你要确保你知道如何做到这一点,以及如何在需要的情况下回滚(这意味着,确保你知道如何让旧的服务器启动并运行旧名称) 。

如果你想安全起见,并为将来的变化做好准备,你应该考虑做一点改变:不要把旧名称作为新服务器的别名,而是设置AlwaysOn集群,并使用这个旧名称作为监听器的名称,而不是新的数据库服务器本身的名称。

这样,未来的移动将更容易,因为客户端将始终使用侦听器名称进行连接,AlwaysOn会将它们路由到活动服务器。

希望这可以帮助。