第五步:选择生成的脚步对象。在这里我们选择了数据库所有对象来生成脚本,点击下一步,如图10所示:
图10 导出结果
第六步:保存脚本文件。在图10中,我们生成了脚本的备份文件,这里调用了BCP命令,由于语言版本的问题,所以在图10中出现了一些乱码。但是我们还是可以看到已经生成完成了。切换到SQL Script这个Tab上来,如图11所示:
图11 生成的SQL脚本
在图11中,点击“保存 Save“,把生成的脚步保存成文件,这样我们就得到了一个能够在SQL Azure上部署的SQL脚本。我们的迁移工作可以说已经完成了百分之八十,剩下的工作就是拿这个脚本在我们云端的SQL Azure上去执行就可以了。
需要注意的是:SQL Azure构建在SQL Server 2008上,对其的兼容性级别达到了100。运行在较低兼容性级别如80或90之上的数据库可能会产生问题。虽然迁移工具可以捕获到兼容性级别问题,但我们强烈建议在使用该工具之前将数据库的兼容性级别提升到100。
不管是使用SSMS或者SQLAzureMW,迁移现有数据库到SQL Azure中并没有我们想象的那么困难,这两种方式各有其适用场景,SSMS更适合于DBA们来使用,SQLAzureMW对与开发者和DBA甚至不懂数据库的人来说,无疑于黑夜中的一盏明灯,而且它还使用BCP导出了数据库里的数据,因此单从数据迁移功能上来说,SQLAzureMW更强大一些。
总结
迁移现有SQL 数据库至SQL Azure有两种方法:SSMS和SQL Azure迁移向导。本文通过使用者两种方法对实例数据库NORTHWND进行迁移,最终生成了可以在SQL Azure上执行的SQL脚本,这样我们拿着现成的脚步就可以直接在云端去做部署了。