czhtr 发表于 2015-7-2 11:39:46

SQL Azure(九) 把本地的SQL Server数据库迁移到SQL Azure云数据库上

  本章我将介绍如何将本地(局域网内)的SQL Server 2008 R2数据库内容迁移到SQL Azure云端数据库上。
  在开始本章的内容之前,我建议大家能够对前熟悉了解之前几章的内容:
  -  SQL Azure(三) 创建一个SQL Azure 服务器
  -  SQL Azure(四) 创建一个SQL Azure数据库
  -  SQL Azure(五) 使用SQL Server Management Studio连接SQL Azure
  
  为了更好的进行动手试验,我希望大家能够预先安装以下软件:
  -  SQL Server 2008 R2
  -  SQL Server Management Studio
  
  一.创建新的SQL Azure 数据库
  1.首先打开浏览器,导航到https://windows.azure.com/,输入订阅Azure服务的Live ID。点击在左侧的"数据库"连接。
  2.因为前几张我们已经创建了位于香港数据中心的SQL Azure服务器,所以我们只要创建一个新的SQL Azure数据库就可以了。

  
  3.新的数据库信息包含:
  -  数据库名: SQLAzureFrom2008R2
  -  版本Web
  -  最大大小:1GB

  
  4.点击OK
  5.点击"防火墙规则"按钮,选中"允许其他Windows Azure服务访问此服务器"

  
  6.在"防火墙"规则里,点击"添加"按钮,让某个特定的IP能够访问我创建的SQL Azure服务器。为了方便,我是这样创建的
  -  规则名称: All IP
  -  IP范围开始值:  0.0.0.0
  -  IP范围结束值:  255.255.255.255 

  
  二.生成DDL脚本
  您可以使用本地已经创建好的SQL Server 2008 R2服务来进行以下的迁移工作。我已经在本地安装了SQL Server 2008 R2并且创建了数据库School,包含数据表和存储过程。T-SQL脚本可以在这里下载.
  1.启动SQL Server Managemenet Studio
  2.连接本地的School数据库。
  3.选中School数据库,右键-->Task-->Generate Scripts

  4.如果出现"Introduction"对话框,选择"Next"
  5.在"Choose Objects"对话框里,选择"Select specific database objects",然后选择Table(表),Views(视图),Store Procedures(存储过程)等。
  (注意: SQL Azure要求所有的表必须要有聚集索引。如果本地SQL Server里的表没有聚集索引,就不能导入到SQL Azure里)
  6.在"Choose Objects"里选择"Select specific database objects" (因为本地数据库School的所有Table均已有聚集索引,所以我们选择所有的Table)

  7.在"Set Scripting Options"对话框里,选择"Advanced"按钮

  
  8.修改选项:
  -  General-->"Script for the database engine type"设置成"SQL Azure Database"
  -  Table/View Options-->Script Index设置成"True"

  9.在Set Scripting Options对话框了,选择"Save scripts to a specific location",然后选择"Save to new query window"

  10.在Summary对话框里,选择Next
  11.查看Save or Publish Scripts对话框,然后点击Finish

  
  三.在SQL Azure里执行导出的T-SQL语句
  1.在之前的生成脚本窗口里,右键Connection-->Change Connection

  2.在弹出的Connect to Database Engine对话框里输入
  -  SQL Azure的Server name
  -  登录用户名
  -  密码

  3.点击"Options",在Connection Properties里指定我们要连接的SQL Azure Database

  4.连接SQL Azure成功后,按F5(或者Query-->execute menu option)执行脚本

  可以看到之前在本地SQL Server的Table和Store Procedure已经成功迁移到SQL Azure里。
页: [1]
查看完整版本: SQL Azure(九) 把本地的SQL Server数据库迁移到SQL Azure云数据库上