我们已经购买了一台全新的机器(目前为12岁,担心硬件故障可能使我们的业务下降到不可接受的时间).我们不是升级sql Server版本.我们要坚持2000年.
我的问题是什么是最简单的方法来做到这一点.我的想法是分离所有数据库,将它们复制到新机器,然后重新连接每个数据库.我要保留机器名称和IP是一样的,只要删除旧服务器完成后,任何地方都不得不修改任何连接字符串.这似乎不是很糟糕,可以很容易地在一个周末完成.我的这个方法的问题是,在我这样做后,我需要从数据库中删除用户,然后使用用户名/密码重新创建登录,然后为每个用户分配适当的角色.我只在这里5年,我没有所有可能的用户名/密码,每个特定的数据库和程序正在使用.我不想破坏任何现有的程序或必须去每一台机器,并更新这个…或者甚至可能要找到旧的源代码并重新编译…是的,我们的遗留的东西有用户名/密码硬编码在源:(
所以我想主要的问题是他们的脚本,我可以运行在现有的服务器上,将生成一个脚本来运行在新机器上设置现有的登录,用户,角色与以前一样的用户名/密码?
如果有一个更简单的方式将一个sql server实例从一台机器转移到另一台机器;我都耳朵
我们已经尝试从现有服务器创建一个VHD,以在虚拟机中使用,但已经排除了该路由.我们从来没有能够让机器启动进入Windows.认为这是司机问题.
解决方法
在that link中,标题为“在sql Server的不同版本之间传输登录和密码的完整解决方案”一节为您提供了一个完成目标的分步过程.
虽然这样做是非常危险的,但您可以随时使用像Norton Ghost这样的工具创建现有服务器驱动器的映像,并在新硬件上还原该映像.
我从传统的驱动程序迁移到固态驱动器时已经做到了这一点,尽管花费了很长时间(几个小时),但是它工作得很好.当然,由于硬件和驱动程序的差异,如果要更改操作系统,并且可能无法正常工作,这种方法将无法正常工作.
这肯定会有更多的工作,但这些升级可以让您有机会纠正一些难以将数据库服务器迁移到新安装的问题(例如:硬编码的凭据等) .如果您有能力,时间和愿望来纠正这些问题,可能值得这样做.