技术开发 频道

两大秘笈:SQL Server向SQL Azure迁移

  第三步:选择要生成脚本的对象,在这里可以选择表、视图、存储过程,如图3所示:

 

 
  图3 选择表

  第四步:选择完表以后,点击“下一步“,SSMS自动生成脚本,这对于开发者或者DBA来说是非常熟悉的,生成成功后的窗口如图4所示:

 

 
  图4 导出成功

  在图4中,公有37个项目生成成功,这里包括了NORTHWND所有的表、视图和存储过程。在接下来的内容介绍中,我们还将使用这个实例数据库,不过迁移的方法换成了SQL Azure迁移向导这个工具。

  使用SQLAzureMW进行迁移

  SQLAzureMW是微软公司发布在CodePlex上的一个项目,它可以将SQL 2005及SQL 2008数据库迁移到SQL Azure上。其最新版本是3.3,下载地址是:

  http://sqlazuremw.codeplex.com/releases/view/32334

  SQLAzureMW会检测并纠正SQL Server 2005/2008与SQL Azure之间的不兼容性。向导能修复的一些常见问题有:使用varChar(max)替换text列、将用户自定义类型转换为基类型。将text列转换为varchar(max),将image转换为varbinary(max),同时它还会取消对XML schema的绑定,因为SQL Azure并不支持它。由于SQL Azure缺乏对hierarchyID的支持,因此需要手工完成。除了在SQL Azure上生成脚本以部署迁移的schema之外,用户还可以凭借该工具通过BCP来迁移表数据。

  应用与案例

  在这个案例中,我们将使用SQLAzureMW来迁移微软提供的实例数据库NORTHWND,最终生成能够在SQL Azure上部署的数据库脚本,详细步骤如下:

  第一步:下载SQLAzureMW。下载SQLAzureMW后,解压缩后包含四个文件,期中有2个配置文件,一个配置文件是SQL Azure不支持的文件,一个是SQL Azure数据迁移配置文件,如图5所示

 
图5  打开SQLAzureMW

0
相关文章