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

时间:2016-04-14 15:24:06

标签: sql sql-server excel vba

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

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

有没有人有这种情况的经验?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

假设在DNS名称而不是IP的excel电子表格中连接到SQL Server,那么以下过程将完成工作:

  1. 使用新主机名,新DNS记录设置新服务器,就像标准的新安装一样。
  2. 移动您的数据&配置到新服务器。记得移动登录并确保它们正确映射。
  3. 更改旧服务器的名称。确保DNS不再引用旧名称。
  4. 将新DNS记录(A记录)添加到DNS服务器,引用新服务器的IP。 (顺便说一下,你也可以使用WINS / SQL别名,而不是DNS服务器方式)
  5. 现在,旧名称被引用到新服务器IP。但是,由于Kerberos协议,连接在AD环境中不起作用。为了使其工作,假设服务器的新名称是newname.ADDomain.com,并且SQL Server的服务帐户是ADDomain \ sqlsvc,请在SQL服务器上运行以下命令:SetSPN -S MSSQLSVC/newname.ADDomain.com:1433 ADDomain\sqlsvc。如果您不在域环境中或未使用Windows身份验证,则可以跳过此步骤。
  6. 完成后,客户端将能够使用旧名称连接新服务器。我建议在执行此过程之前,您将确保知道如何操作以及如何在需要时回滚(这意味着,确保您知道如何使用旧名称启动和运行旧服务器)

    如果您想要安全,并为将来的更改做好准备,您应该考虑做一些改变:不要使用旧名称作为新服务器的别名,设置AlwaysOn集群,并使用这个旧的name作为侦听器的名称,而不是新DB服务器本身的名称。

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

    希望这有帮助。