《SQL Server 2005数据库应用技术(第二版)虞益诚 第13章数据转换及数据库加载备份管理》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库应用技术(第二版)虞益诚 第13章数据转换及数据库加载备份管理(56页珍藏版)》请在金锄头文库上搜索。
1、2019/5/24,上海应用技术学院,1,13-1 数据转换 13-2 数据库分离与附加 13-3 数据库备份与恢复 13-4 数据库复制 13-5 本章小结 SQL Server 2005为了支持企事业决策中浩瀚数据的处理,提供了令人欣慰的数据的转换服务、数据库的分离与附加、数据库的备份和恢复组件及其复制技术等。本章将主要介绍了数据转换服务、数据库的分离与附加、数据库的备份和恢复及其复制技术与方法等。,第13章 数据转换及数据库加载备份管理,13-1-1 数据转换服务 1DTS 数据转换服务(DTS)是一组图形工具组件,包含多个处理工具,并提供了接口来实现在不同地点、基于不同数据库管理系统的
2、不同数据源间数据的导入导出或传输。利用DTS可以完成以下任务: (1)数据的导入与导出。数据的导入与导出是指在不同应用之间按普通格式读取数据,从而实现数据出入的交换过程。 (2)转换数据格式。转换数据格式涉及数据传输。 (3)传输数据库对象。基于DTS用户除了可传输数据之外,还能传输索引、视图、登录、存储过程、触发器、规则、默认值、约束、用户定义数据类型及生成脚本以复制数据库对象。 (4)用户或包间的消息收发。DTS包含一个发送邮件任务,可以在包步骤成功或失败时发送电子邮件。DTS 中的执行包(Execute Package),允许一个包将另一个包作为一个包步骤来运行,DTS还包含一个消息队列
3、任务,使用户得以使用消息队列发送和接收包间消息。,2019/5/24,上海应用技术学院,2,13-1 数据转换,13-1-1 数据转换服务 2.DTS连接的数据源 SQL Server 2005中DTS支持如下数据源的连接与转换: SQL Server 2005及其兼容版的数据库。 Oracle系列数据库。 ODBC Date数据源。 Microsoft Access数据库。 Microsoft Visual FoxPro数据库。 DBase或Paradox数据库。 Microsoft Excel 电子表格。 ASCII定长字段(列)文本文件。,2019/5/24,上海应用技术学院,3,13-
4、1 数据转换,13-1-1 数据转换服务 3. DTS数据传输方法 SQL Server 2005中可完成的数据传输方法包括:SQL Server管理平台、Bcp 命令、BULK INSERT 语句和 INSERT. SELECT * FROM OPENROWSET(BULK.) 语句几种形式。 (1)Bcp。Bcp(bcp.exe)大容量复制程序是通过 bcp 命令完成大容量数据传输的命令行工具,提供了一些开关,可指定数据文件的数据类型和其他信息,可执行下列任务: 将大容量数据从 SQL Server 表导出到数据文件中。 将大容量数据从数据文件导入到 SQL Server 表中。 生成格式
5、化文件与从查询导出大容量数据。 可将数据从其他DBMS导入到 SQL Server 表中。 (2)BULK INSERT 语句。BULK INSERT 将数据从数据文件加载到表中,此功能类似于 bcp 命令的 in 选项,但是数据文件是由 SQL Server 进程读取的,可处理用户模拟。,2019/5/24,上海应用技术学院,4,13-1 数据转换,13-1-1 数据转换服务 (3)INSERT. OPENROWSET函数。该函数通过 OLE DB 访问接口连接到远程数据源并从该数据源访问远程数据。SQL Server 2005 在 OPENROWSET 函数中引入了大容量行集提供程序,可以
6、方便地读取数据文件。INSERT 语句可以按以下格式调用 SELECT 语句:INSERT . SELECT * FROM OPENROWSET(BULK.)。 (4)SQL Server管理平台。SQL Server管理平台SQL Server Management Studio可图形化地完成数据传输,是本教材关注的重点。 SQL Server 2005中可完成大容量数据传输的工具方法涵盖如下: BULK INSERT(Transact-SQL); INSERT . SELECT * FROM OPENROWSET(BULK.),可导出; Bcp命令与Microsoft SQL Server
7、 2005 Integration Services (SSIS), 可导出; XML大容量加载等。,2019/5/24,上海应用技术学院,5,13-1 数据转换,13-1-2 导入数据 具体SQL Serve 2005导入数据的过程叙述如下: (1)启动SQL Server管理平台SQL Server Management Studio,连接到SQL Server 数据库引擎,在对象资源管理器中展开选定的数据库节点,右击具体的数据库,然后从弹出的快捷菜单中选择“任务”下“导入数据”选项(如图13-1所示),弹出如图13-2 所示的“欢迎使用SQL Serve导入和导出向导”对话框。,2019
8、/5/24,上海应用技术学院,6,13-1 数据转换,图13-1 数据导入菜单选择对话框,图13-2 SQL Serve导入和导出向导对话框,13-1-2 导入数据 (2)单击“下一步”按钮,进入如图13-3所示的“选择数据源”对话框,选择要从中导入的数据源数据库类型。在“数据源”列表中选择要导入的数据源为“Microsoft Access”数据库,在文件名中浏览输入数据库所在的文件标识,并输入用户名和密码(可以不输入),单击“下一步”按钮,弹出如图13-4所示的“选择目的”数据对话框。,2019/5/24,上海应用技术学院,7,13-1 数据转换,图13-3 选择数据源对话框,图13-4 选
9、择目的数据对话框,13-1-2 导入数据 (3)在 “选择目的”数据对话框中,指定将数据导入到何处,选择“SQL Native Client”数据库,服务器列表中选择具体的服务器及身份验证方法。若身份验证为“使用SQL Server身份验证”,则要输入用户名和密码。在数据库列表中选择具体的数据库,倘若无反应,可单击“刷新”即可选择,如“信息管理”,单击“下一步”按钮,进入如图13-5所示的“指定表复制或查询”对话框。 (4)在该对话框中指定表复制还是从数据源在复制查询结果,单击“下一步”按钮, 在弹出的如图13-6所示的“选择源表和源视图”对话框中,选择一个或多个所列要复制的源表或源视图,此地
10、选择了学生、课程、成绩、班级四个数据表,单击“下一步”按钮,进入如图13-7所示的“保存并执行包”对话框。,2019/5/24,上海应用技术学院,8,13-1 数据转换,图13-5 指定表复制或查询,图13-6 选择源表和源视图对话框,图13-7 保存并执行包对话框,13-1-2 导入数据 (5)在“保存并执行包”对话框中指示是否保存SSIS包或立即执行。即可选择时间为“立即执行”复选框,或可按需选择另一复选框(保存SSIS包),当保存SSIS包选择,则会弹出包保护级别对话框,可按提示执行并单击“完成”按钮。然后单击“下一步”按钮,弹出如图13-8所示的 “完成该向导”对话框。 (6)在该对话
11、框中验证向导选择的选项,单击“完成”按钮,弹出如图13-9所示的“执行成功”对话框。在此过程中,可以看到系统将会运行导入过程成功的信息(若错则有出错提示信息),系统通过操作、状态、消息三列来提示具体信息。单击“关闭”即可结束整个DTS 导入数据过程。,2019/5/24,上海应用技术学院,9,13-1 数据转换,图13-8 完成该向导对话框,图13-9 导入数据执行成功对话框,13-1-3 导出数据 同样,在此将通过一个将SQL Serve 2005系统下信息管理数据库导出至Microsoft Access数据库(YUSQL2005.mdb)的实例,来描述整个数据导入过程。SQL Serve
12、2005导出数据的过程如下: (1)启动SQL Server管理平台SQL Server Management Studio,连接到SQL Server 数据库引擎,在对象资源管理器中展开选定的数据库节点,右击具体的数据库,然后从弹出的快捷菜单中选择“任务”下“导出数据”选项弹出图13-2 所示的“欢迎使用SQL Serve导入和导出向导”对话框。,2019/5/24,上海应用技术学院,10,13-1 数据转换,13-1-3 导出数据 (2)单击“下一步”按钮,进入如图13-10 “选择数据源”对话框,选择要从中导入的数据源数据库类型。在“数据源”列表中选择要导入的数据源为“SQL Nativ
13、e Client”数据库,在选择服务器列表中选择具体的服务器及身份验证方法。若身份验证为“使用SQL Server身份验证”,则要输入用户名和密码。在数据库列表中选择具体的数据库,倘若无反应,可单击“刷新”即可选择,单击“下一步”按钮,弹出图13-11所示的“选择目的”数据对话框。,2019/5/24,上海应用技术学院,11,13-1 数据转换,图13-10 导出数据选择数据源对话框,图13-11 选择目的数据及高级设置对话框,13-1-3 导出数据 (3)在“选择目的”数据对话框中,指定将数据复制到何处。在目标列表中选择“Microsoft Access”数据库,在文件名中浏览输入数据库所在
14、的文件标识,并输入用户名和密码(可以不输入),可单击“高级”按钮来指定数据库与进行连接测试,单击“下一步”按钮,进入如图13-12所示的“指定表复制或查询”对话框。,2019/5/24,上海应用技术学院,12,13-1 数据转换,图13-12 指定表复制或查询对话框,13-1-3 导出数据 (4)在该对话框中指定表复制还是从数据源在复制查询结果,单击“下一步”按钮, 在弹出的如图13-13所示的“选择源表和源视图”对话框中,选择一个或多个所列要复制的源表或源视图,此地选择了学生、课程、成绩、班级四个数据表及相关视图,单击“预览”按钮,可浏览详细信息,单击“下一步”按钮,进入如图13-14所示的
15、“保存并执行包”对话框。,2019/5/24,上海应用技术学院,13,13-1 数据转换,图13-13 选择源表和源视图对话框,图13-14 保存并执行包对话框,13-1-3 导出数据 (5)在“保存并执行包”对话框中指示是否保存SSIS包或立即执行。即可选择时间为“立即执行”复选框,或可按需选择另一复选框,当保存SSIS包选择,则会弹出包保护级别对话框,可按提示执行并单击“完成”按钮。然后单击“下一步”按钮,弹出如图13-15所示的 “完成该向导”对话框。 (6)在该对话框中验证向导选择的选项,单击“完成”按钮,弹出如图13-16所示的“执行成功”对话框。在此过程中,可以看到系统将会运行导出
16、过程成功的信息(若错则有出错提示信息),系统通过操作、状态、消息三列来提示具体信息。单击“报告”即可查看详细报告信息,如图13-17所示。单击“关闭”按钮即可结束整个DTS 导出数据过程。,2019/5/24,上海应用技术学院,14,13-1 数据转换,图13-15 完成该向导对话框,图13-16 执行成功对话框,图13-17 查看报告对话框,13-2-1分离数据库 分离数据库是指将数据库从 SQL Server 2005实例中删除,但保持组成该数据库及其中的对象、数据文件和事务日志文件完好无损。而后,就可以通过附加将这些将数据库文件添加到任何 SQL Server 2005实例上,提供数据库支持,付诸于应用。 影响数据库分离的约束如下: 已复制并发布的数据库。否则须运行SP_Replicationdboption 禁用发布后才行。 数据库中存在数据库快照或数据库处于可疑状态。,2019/5/24,上海应用技术学院,15,13-2 数据库分离与附加,13-2-1分离数据库 分离数据库“YU”数据库实例的过程如下: (1)启动 SQL Server管理平台,连接到SQL S