SQL Server完全升级

我们目前的SQL服务器是在Windows 2003的32位,因此我们已经计划在64位从零开始重新构build服务器,但是我们有大约200个数据库在服务器上运行,所以我可能必须备份一切,并在64位Windows安装后恢复。 有没有更容易的方法来恢复所有这些数据库散装或任何最安全的select将不胜感激。

使用SQL本身来生成备份和恢复脚本。 您必须首先通过logging的方式处理MASTER和MSDB以获取用户帐户,否则,您将执行类似下面的操作(未经testing的代码):

/* script to generate backup script */ use master go select 'backup database ['+ [name] +'] to DISK=''\\myserver\mypath\' + [name] + '.BAK'' WITH COPY_ONLY, INIT' from sys.databases where name not in ('master','msdb','tempdb','model') /* generate restore script */ select 'restore database ['+ [name] +'] from DISK=''\\myserver\mypath\' + [name] + '.BAK'' ' from sys.databases where name not in ('master','msdb','tempdb','model') 

在查询分析器中运行,然后将每个零件的结果粘贴到一个新的查询编辑器窗口中并保存。 这是我认为最安全的方法,整个过程可以按计划和自动进行(有人监视进程的进度)。 在这些“最终”备份之前,您需要closures源服务器上的客户端访问。 如果新服务器上的驱动器布局明显不同,则必须调整还原部分。

最快的方法是安装具有相同path和驱动器布局的SQL服务器,然后closures源服务器并将所有文件复制到新服务器上的相同位置(包括主服务器等)。 这在过去对我来说是有效的,但是这种方式把主服务器恢复到新的服务器并不是完全没有问题的依赖于环境(也不是由MSFT官方认可的)。 只要具有相同的SQL Server版本,版本和Service Pack +修补程序级别,即使源为32位,目标为64位,它也应该可以工作。