在这篇文章中,我要介绍的是使用SQL Server Management Studio 2008 R2中的导入/导出向导将数据从SQL Azure数据库导出到本地数据库,如果你担心你的数据保存在SQL Azure不完全放心,那么这将是一个让你放心的数据备份方法。
在我们的SQL Azure账号上,我们已经为SQL Azure安装了Adventure Works数据库用于测试,可以从http://msftdbprodsamples.codeplex.com/releases/view/37304下载该数据库。
首先我们要做的是将SQL Server Management Studio 2008 R2连接到SQL Azure,连接好后,我们需要运行SQL Server Management Studio的SQL Server导入/导出向导,下面就是从SQL Azure导入数据的步骤:
1、在SQL Server Management Studio中,连接到本地SQL Server数据库,本文使用的是SQL Server Express Edition 2008 R2;
2、创建一个新数据库,命名为AdventureWorksDWAZ2008R2;
3、在这个数据库上点击右键,从右键菜单中选择“所有任务”*“导入数据”,如下图所示;
图1选择导入数据
4、将会弹出“SQL Server导入/导出向导”对话框;
5、点击“下一步”,跳过开始页;
6、在向导窗口的下一页选择一个数据源,在这个演示中应该选择“SQL Azure”,你需要连接到SQL Azure的数据源是“.NET Framework Data Provider for SqlServer”;
7、滚动属性列表到底部,输入SQL Azure的相关信息,如下图所示;
图2输入数据源信息
8、将“安全”设置中的“加密”属性设为“True”,如上图所示;
9、在“安全”设置下的“密码”属性中输入SQL Azure的密码,如上图所示;
10、在“安全”设置下的“用户ID”属性中输入SQL Azure管理员用户名,如上图所示;
11、在“源”设置下的“数据源”属性中输入你账号在SQL Azure上的完整域名,如上图所示;
12、在“源”设置下的“初始目录”属性中输入SQL Azure上的数据库名,如上图所示;
13、数据源信息填写完毕后,点击“下一步”按钮,进入“选择一个目的地”对话框,如下图所示;
图3输入目标服务器信息
14、在这个演示中,目标服务器是本地服务器,前面我们已经创建好本地数据库,因此这里输入用户名和密码,选择前面创建的“AdventureWorksDWAZ2008R2”数据库,点击“下一步”按钮,进入“指定表复制或查询”对话框,如下图所示;
图4选择复制数据
15、选择“从一个或多个表或视图复制数据”选项,然后点击“下一步”按钮,进入“选择源表和视图”对话框,如下图所示;
图5选择要复制的表和视图
16、导入/导出向导程序将会查询SQL Azure数据库,列出SQL Azure上的表和视图,在你想导入到本地数据库的表和视图前打上钩,也可以全部打上钩。
17、选中表和视图后,点击“下一步”按钮,进入“保存并运行包”向导对话框,如下图所示;
图6完成设置,准备运行包
18、点击“完成”按钮,SQL Server导入/导出向导开始从SQL Azure向本地数据库导入数据,导入完毕后,会显示一个执行情况摘要信息窗口,如下图所示;
图7执行情况摘要信息
从这个对话框可以了解导入操作是否成功,在这个演示中,导入了37个对象,其中有一个出现了警告,需要我们手动验证,点击“消息”列中对应的链接,可以查看详细的警告信息。
总结
SQL Server导入/导出向导是备份SQL Azure数据库简单有效的方法,你也可以用它往SQL Azure数据库中导入数据,最麻烦的是.NET Framework Data Provider for SqlServer和SQL Azure术语之间的转换。