西安市中考满分作文-4.第四章.数据库转换与复制技术.ppt

上传人:zhu****ei 文档编号:3586270 上传时间:2019-12-18 格式:PPT 页数:91 大小:3.36MB
返回 下载 相关 举报
西安市中考满分作文-4.第四章.数据库转换与复制技术.ppt_第1页
第1页 / 共91页
西安市中考满分作文-4.第四章.数据库转换与复制技术.ppt_第2页
第2页 / 共91页
西安市中考满分作文-4.第四章.数据库转换与复制技术.ppt_第3页
第3页 / 共91页
点击查看更多>>
资源描述
1,SQLServer2008数据库实践教程管理与维护篇,第四章.数据库转换与复制技术,2,本章教学目标,数据的导入与导出SQLServerIntegrationServices介绍及数据转换操作SQLServer2008复制技术,3,4-1数据的导入与导出,掌握数据库表中数据的导出技术,包括:将SQLServer数据导出为文本文件,导出到本机内其他数据库中,;掌握将异构数据导入到SQLServer数据库,包括:将文本文件数据,Access数据导入到SQLServer数据库。,4,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第一步:用鼠标右键单击“对象资源管理器”中的“school”数据库对象。在弹出的快捷菜单中选择“任务”“导出数据”选项,如图所示。,5,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第二步:在“SQLServer导入和导出”窗口中,选择导出数据的数据源。在本例中,选择数据源为SQLNativeClient(表示本机数据),选择导出数据的数据库为school,如图所示,然后按“下一步”按钮。,6,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第三步:在“导入和导出向导”窗口中,选择导出数据的目标,即导出数据复制到何处。如果选择“SQLNativeClient”选项,则将本机的SQLServer数据库数据导出到其他计算机的SQLServer服务器中;如果选择“MicrosoftExcel”选项,则将SQLServer数据库数据导出到Excel文件中;如果选择“MicrosoftAccess”选项,则将SQLServer数据库数据导出到Access数据库中等等。在本例中,选择目标为“平面文件目标”,并指定该文件的路径名为c:backschool.txt,如图所示,然后按“下一步”按钮。,7,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第四步:在“导入和导出向导”窗口中,选择从表中复制数据或者从查询中复制数据。在本例中,选择“复制一个或多个表或视图的数据”单选项,如图所示,然后按“下一步”按钮,8,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第五步:在“导入和导出向导”窗口中,选择从复制数据的源表或源视图。在本例中,在下拉列表中选择表student,如图所示,然后按“下一步”按钮。,9,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第六步:在“导入和导出向导”窗口中,选择“立即执行”复选框,然后按“下一步”按钮。完成导出数据的向导设置后,在“导入和导出向导”窗口中,单击“完成”按钮,如图所示。,10,4-1数据的导入与导出,4-1-1数据库表数据导出,实验1:将SQLServer数据导出为文本文件实验,第七步:导出数据操作完成后,弹出执行成功的对话框提示成功导出了9行数据,如图所示。此时,在操作系统下生成了一个新的文本文件。打开导出到文件,可以看到该文件中记录了导出的数据。,11,4-1数据的导入与导出,4-1-1数据库表数据导出,实验2:将SQLServer数据导出到本机内其他数据库实验,第一步:在案例1的选择目标中,选择目标也是SQLNativeClient,数据库选择master,如图所示。在此界面中,服务器名可以改为局域网络环境下其他的SQLServer数据库服务器,这样可以直接实现在网络环境下的数据导出实验,12,4-1数据的导入与导出,4-1-1数据库表数据导出,实验2:将SQLServer数据导出到本机内其他数据库实验,第二步:选择源表为student表,点击下一步,直至完成后就可以将student表导出到master数据库之中,13,4-1数据的导入与导出,4-1-2将异构数据导入到SQLServer数据库,实验1:将文本文件数据导入到SQLServer数据库实验,第一步:打开资源管理平台,用鼠标右键单击“对象资源管理器”中的school数据库对象。在弹出的快捷菜单中选择“任务”-“导入数据”选项,如图所示,14,4-1数据的导入与导出,4-1-2将异构数据导入到SQLServer数据库,实验1:将文本文件数据导入到SQLServer数据库实验,第一步:在“SQLServer导入和导出向导”窗口中,选择导入数据的数据源。在本例中,选择数据源为平面文件源,指定导入数据的文本文件名,如图所示,然后按“下一步”按钮,15,4-1数据的导入与导出,4-1-2将异构数据导入到SQLServer数据库,实验1:将文本文件数据导入到SQLServer数据库实验,第三步:此时将进入选择源表和源视图界面,如图所示。此时,如果希望更新即将导入的数据类型,可以单击“编辑映射”按钮,对具体的文本文件中的列数据类型与目标数据的映射关系进行最后的编辑工作,16,4-2SQLServerIntegrationServices介绍,4-2SQLServerIntegrationServices介绍,了解SSIS的基本概念和体系结构;掌握使用SSIS进行数据转换,包括:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,使用迭代方法将文本数据导入到SQLServer2008。,17,4-2SQLServerIntegrationServices介绍,SQLServerIntegrationServices(SSIS)也被称为是SQLServer集成服务,该集成服务是SQLServer2008中面向高性能数据集成的功能组成,它有一个配套的数据流机制和控制流机制,并且可以为数据分析服务提供必要的ETL支持。,4-2-1SSIS的体系结构,1.任务流和数据流引擎数据流也称为流水线,主要解决数据转换的问题。数据流由一组预定义的转换操作组成。数据流的起点通常是数据源(源表);数据流的终点通常是数据的目的地(目标表)。可以将数据流的执行认为是一个流水线的过程,在该过程中,每一行数据都是装配线中需要处理的零件,而每一个转换都是装配线中的处理单元。任务流引擎为数据流引擎提供运行时资源和操作支持。任务流和数据流的这一组合使得SSIS可以有效应用于传统ETL(Extraction-Transformation-Loading,数据抽取、转换和加载)或数据仓库(DW)场景中,也可有效应用于很多其他扩展场景中,如数据中心操作,4-2SQLServerIntegrationServices介绍,18,4-2-1SSIS的体系结构,2.管线结构SSIS的核心是数据转换管线。此管线具有面向缓冲区的结构,一旦数据行集加载到内存中后,数据行集操作将非常快。采用此方法将在单个操作中执行ETL过程的全部数据转换步骤,而不会对数据进行暂存,不过具体的转换或操作要求或者硬件可能对此形成障碍。不过,为了最大化性能,该结构将避免进行暂存。,3.流程转换SSIS把业务流程和数据转换流程分成两个部分来处理,这样对处理复杂问题会有很大帮助。在一个SSIS工程下,可以有若干个包(Package),每个包为一个独立的处理事件(如图所示),包(package)是SSIS项目中基本的部署和执行单元,也是一个有组织的集合,其中包括连接、控制流元素、数据流元素、事件处理程序、变量和配置等。,4-2SQLServerIntegrationServices介绍,19,4-2-1SSIS的体系结构,4-2SQLServerIntegrationServices介绍,20,4-2-2使用SSIS进行数据转换,使用SSIS进行数据转换是SSIS比较简单的操作,可以通过启动BusinessIntelligenceDevelopmentStudio,然后创建一个IntegrationServices项目来调用SSIS设计器(如图所示),4-2SQLServerIntegrationServices介绍,21,4-2-2使用SSIS进行数据转换,在展开的设计界面左边有一个工具箱窗口,通过鼠标点击并查看该工具箱,该工具箱窗口包含预定义的控制流项和维护计划中的任务,4-2SQLServerIntegrationServices介绍,22,4-2-2使用SSIS进行数据转换,中间的视图窗格包含4个视图:控制流、数据流、事件处理程序和包资源管理器,如图所示。控制流视图提供了一个设计环境,在这个设计环境中可以使用工具箱中与控制流相关的项来构建控制流。数据流视图也提供了一个设计环境,在这个设计环境中可以使用工具箱中与数据流相关的项来构建数据流。在事件处理程序视图中,可以定义由特定的执行事件触发的后续响应操作。包资源管理器视图提供了流的树型视图,4-2SQLServerIntegrationServices介绍,23,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第一步:配置操作系统的ODBC接口,使得该接口指向某种类型的数据库系统,这里假设指向ACCESS数据库。设置流程为:开始-设置-控制面板-管理工具-数据源(ODBC),在展开的ODBC界面中,选择系统DSN,点击添加。,4-2SQLServerIntegrationServices介绍,实验准备:1、在Access中创建一个数据库;2、新建一个IntergrationServices项目。,24,ODBC(OpenDataBaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。,4-2SQLServerIntegrationServices介绍,25,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第二步:在展开的配置界面之中,我们可以看见各种微软公司为各个数据库厂商提供的数据库接口,这里我们选择MicrosoftAccessDriver,为Access数据库配置接口。分别填写数据源逻辑名和说明后,点击选择按钮,将本机磁盘中的school.mdb文件选择进来,最后点击确定则该接口就与磁盘中的school.mdb文件连接起来,4-2SQLServerIntegrationServices介绍,26,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第三步:回到SSIS管理平台,在右侧“解决方案资源管理器”中用鼠标右键单击数据源,并新建一个数据源,4-2SQLServerIntegrationServices介绍,27,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第四步:在展开的数据源向导界面之中点击下一步,并选择新建一个新的数据源,在弹出的连接管理器界面之中,于提供程序下拉列表框中选择.NET提供程序中的“odbcdataprovider”。而后在指定的数据源中,选择系统数据源名称是“school”。最后,点击该界面中的“测试连接”按钮,等待弹出“测试成功”字样后,点击确定完成新建数据源的工作,如图所示。最后,回到数据源界面后,点击下一步,完成当前数据源向导的配置工作,4-2SQLServerIntegrationServices介绍,28,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第六步:在SQLServer2008中新建目标数据库school1,并在该数据库中建立基本表student,该表的基本结构,4-2SQLServerIntegrationServices介绍,29,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第七步:回到SSIS管理平台,在右侧“解决方案资源管理器”中用鼠标右键单击数据源,再新建一个数据源指向SQLServer2008中新建的数据库school1。在数据源向导中的配置连接管理器界面中,配置新的SQLServer2008数据源,配置的基本参数如图所示,最后点击测试连接,显示“测试成功连接”为止。请注意,目前为止school数据源代表着ODBC数据源,而school1代表着SQLServer2008数据源,4-2SQLServerIntegrationServices介绍,30,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第八步:在SSIS管理平台的下部有连接管理器部分,用鼠标右键单击该部分,在弹出的快捷菜单中选择“从数据源新建连接”,并在弹出的选择数据源界面中选择数据源”school”;如法炮制在建立数据源”school1”。此时会在连接管理器部分出现两个数据源”school”和”school1”,4-2SQLServerIntegrationServices介绍,31,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第九步:从SSIS管理平台左侧的工具箱中的“数据流源”处拖拽“ADONET源”到数据流界面中,该控件意味着数据流转换的起始源头,再从工具箱中的“数据流目标”处拖拽“OLEDB目标”到数据流界面中,该控件意味着数据流转换的目标终点,4-2SQLServerIntegrationServices介绍,32,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第十步:在SSIS管理平台的数据流界面中鼠标右击“DataReader源”控件对象,并在弹出的快捷菜单中选择编辑。在弹出配置界面中选择连接管理器为school,4-2SQLServerIntegrationServices介绍,33,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第十步:此时“DataReader源”控件对象出现惊叹号,表现为该组件的元数据不一致问题。双击该控件将弹出“检查sqlcommand属性”的提示,而该属性为SQL脚本命令。,4-2SQLServerIntegrationServices介绍,34,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第十步:编辑该控件的sqlcommand属性,键入查询语句命令”select*fromstudent”,则元数据不一致问题解决,,4-2SQLServerIntegrationServices介绍,35,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第十步:配置结束后,将“DataReader源”控件对象中的绿色线段拖至“OLEDB目标”对象,建立起两个控件彼此之间的关联,4-2SQLServerIntegrationServices介绍,36,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第十二步:但是此时目标数据库依然有错误提示,如图所示。该错误主要是由于源数据和目标数据表的数据格式不一致造成的,解决的办法是修改school1数据库的student表的数据类型,从而与Access数据库相对应一致。,4-2SQLServerIntegrationServices介绍,37,4-2-2使用SSIS进行数据转换,实验1:通过操作系统的ODBC将Access数据库中的数据导入到SQLServer,第十二步:此时点击SSIS界面上的运行按钮,执行后数据利用ODBC接口正确从Access数据库导入到SQLServer2008数据库之中。,4-2SQLServerIntegrationServices介绍,38,OLE-DB(对象链接和嵌入数据库),是一种数据技术标准接口,目的是提供一种统一的数据访问接口。,4-2SQLServerIntegrationServices介绍,39,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,第一步:准备工作(1)在磁盘上新建一个文件夹Txt,并建立两个文本文件:userinfo1.txt和userinfo2.txt。假设在两个文本文件中分别写入如下信息:userinfo1.txt:1|张三|我是张三|男,2|李四|我是李四|女,4|张三|我是张三|男,5|李四|我是李四|女userinfo2.txt:6|张三1|我是张三1|男,7|李四1|我是李四1|女,8|张三2|我是张三2|男,9|李四2|我是李四2|女(2)在SQLServer2008下新建数据库ssis,并在数据库ssis下建立数据表userinfo,基本结构如图所示。,4-2SQLServerIntegrationServices介绍,40,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,本案例实验目标就是循环地连接某文件夹下的每个文件,不需要为每个文件都建立连接管理器。在这个实例中,我们将某文件夹下的userinfo1.txt和userinfo2.txt的内容都写入数据表userinfo中。,第二步:设置Foreach循环编辑器(1)在SSIS管理平台下新建一个项目,在控制流界面中从左侧工具箱中拖拽Foreach循环容器到界面中,然后再从工具箱中拖拽数据流任务到Foreach循环容器中,如图所示,4-2SQLServerIntegrationServices介绍,41,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,(2)鼠标右击Foreach循环容器,在展开的Foreach循环编辑器中的“集合”进行枚举器的配置,设置文件夹为存放txt文档的文件夹:D:txt,指定文件类型为*.txt,表示全部的txt文件,如图所示。,4-2SQLServerIntegrationServices介绍,42,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,(3)选择Foreach循环编辑器中的变量映射,设置枚举器映射为用户定义的变量,名称为VarFileName,如图所示。,4-2SQLServerIntegrationServices介绍,43,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,3.第三步:配置平面文件和SQLServer连接管理器(1)设置平面文件连接管理器。在连接管理器区域鼠标右键选择“新建平面文件连接”,在弹出的平面文件编辑器中的常规选项中,将D:txt中的某个txt文件导入。在列选项中,将行分隔符设置为“逗号,”,将列分隔符设置为“竖线|”。在高级选项中,修改各个属性的名称,如图所示。点击确定后平面文件连接管理器的配置工作完毕。,4-2SQLServerIntegrationServices介绍,44,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,(2)设置SQLServer连接管理器。在连接管理器区域鼠标右键选择新建OLEDB连接,在弹出的连接管理器中,设置服务器为(local),选择数据库为ssis,测试成功后点击确定建立连接,如图所示,4-2SQLServerIntegrationServices介绍,45,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,4.第四步:设置数据流任务(1)进入SSIS管理中的数据流界面,并从工具箱中拖拽一个平面文件源到其中,鼠标右键单击该文件源控件,选择编辑。在打开的平面文件源编辑器中,选择平面文件管理器为上步建立的userinfo对象。再从工具箱的数据流目标中拖拽一个OLEDB对象到数据流界面中,并建立与平面文件数据源对象的连接关系,4-2SQLServerIntegrationServices介绍,46,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,(2)编辑OLEDB对象。在打开的OLEDB目标编辑器中,选择OLEDB连接管理器为(local).ssis,表或视图的名称为userinfo。然后选择映射,自动建立起与平面文件之间的关联,如图所示。,4-2SQLServerIntegrationServices介绍,47,4-2-2使用SSIS进行数据转换,实验2:使用迭代方法将文本数据导入到SQLServer2008,第五步:执行任务点击工具栏中的运行图标,则最终将数据由平面文件夹下面将全部的TXT文件数据内容复制到SQLServer中,颜色显示为绿色,4-2SQLServerIntegrationServices介绍,48,4-3SQLServer2008复制技术,了解复制的概念和基本类型;了解“复制”中的服务器角色有哪些;掌握“复制”的服务器配置,包括:如何创建发布服务器,分发服务器和订阅服务器;熟练配置事务复制和快照复制。,49,4-3SQLServer2008复制技术,4-3-1“复制”简介,复制是将数据或数据库对象从一个数据库复制和分发到另外一个数据库,并进行数据同步,从而使源数据库和目标数据库保持一致。使用复制,可以在局域网和广域网、拨号连接、无线连接和Internet上将数据分发到不同位置以及分发给远程或移动用户。一组SQLServer2008复制由发布服务器、分发服务器、订阅服服务器(如图所示)组成,它们之间的关系类似于书报行业的报社或出版社、邮局或书店、读者之间的关系,50,4-3SQLServer2008复制技术,4-3-1“复制”简介,在很多情况下,一个数据库服务器实例充当发布服务器和分发服务器两个角色,这称为“本地分发服务器”。订阅服务器是接收复制数据的数据库实例。一个订阅服务器可以从多个发布服务器和发布接收数据,51,4-3SQLServer2008复制技术,4-3-2“复制”中的服务器角色,1.发布服务器的角色发布服务器具有数据的原始副本,并使其可供订阅服务器使用。发布服务器上的数据被发送给分发服务器,然后再由分发服务器将数据传递给订阅服务器。2.分发服务器的角色分发服务器用于存储状态信息副本和元数据副本,有时它还用于存储在发布服务器和订阅服务器之间传递的数据。发布服务器也可以作为分发服务器(称为本地分发服务器),但是在复制量很大时候,通常会单独创建一个分发服务器(称为远程分发服务器)。多个发布服务器可以使用一个分发服务器,而且每个发布服务器都在该分发服务器上具有独立的数据库。,52,4-3SQLServer2008复制技术,4-3-2“复制”中的服务器角色,3.订阅服务器的角色订阅服务器保存数据的复制副本,可以对订阅服务器进行如下的设置:组织其对数据库进行修改允许其在发布服务器处进行修改允许其进行本地修改,并随后合并在一起,53,4-3SQLServer2008复制技术,4-3-3“复制”的类型,SQLSEVER提供了三大类复制类型:快照复制、事务复制、合并复制。可以在实际应用中使用相应的复制类型,每一种复制类型都在不同程序上实现数据的一致性,1.快照复制快照复制是最为简单的一种复制类型,能够在出版者和订阅者之间保证数据的一致性。快照复制通常使用在以下场合:在一定时间内出现大量的更改的操作,但数据总量不大,变化周期较长。,54,4-3SQLServer2008复制技术,4-3-3“复制”的类型,2.事务复制事务复制使用事务日志来生成将复制到订阅服务器的事务,因为它只复制事务也就是变化,所以滞后也比快照复制低得多,并且事务复制中的订阅服务器将不断地在发布服务器处得到最新的数据变化,从而在同步性的执行效率方面比快照复制要快得多,特别是在大量数据进行远程复制的情况下尤为明显。事务复制与快照复制之间的差异可以通过图反映出来,55,4-3SQLServer2008复制技术,4-3-3“复制”的类型,2.事务复制事务复制有三个组件:快照代理,它生成架构,数据以及跟踪复制过程所需的数据;分发代理:它分发快照和随后的命令;日志读取器代理:它读取发布数据的事务日志。,56,4-3SQLServer2008复制技术,4-3-3“复制”的类型,3.合并复制在要复制的每个表上实现触发器,并使用包含GUID列唯一标识要复制的表中的每一行。对其中的任何一个表进行修改时,都会将更改的记录到该数据表中,在合并代理运行时,它收集数据表中的GUID,这些GUID指出了在发布服务器和订阅服务器处修改过的行。对于只在发布服务器或是订阅端修改的数据则直接进行相应操作,如INSERT,UPDATE,DELETE,如果双方都有GUID则按照用户指定的方式解决冲突,默认发布服务器伏先,57,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,无论是快照复制,事务性复制还是合并复制,创建复制都要经过以下几个步骤:第一步:创建发布服务器。选择要发布的服务器。如果有条件的,也可以分发服务器,在这里我们就将发布服务器和分发服务器设置在同一台计算机上。第二步:不论是发布服务器还是订阅服务器必须开启代理服务。第三步:创建一个发布。即将需要的数据库及对象发布出来。第四步:选择一个适合自己的发布类型。第五步:设置复制代理及安全,即指定可以运行代理的用户帐号。,58,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,1.第一步:在本机建立不同的实例本次实验在同一台机器的二个实例间进行,实例名分别是本机的Administrator用户登录(假设为SERVER01)和本机的SQLExpress实例登录(假设为SERVER02)。将SERVER01配置发布服务器和分发服务器(也就是前面提到的“本地分发服务器”),SERVER02配置为订阅服务器。在本例中将SERVER01中school库的student表作为发布的数据,在发布前请确保student表有主键、SQLSERVER代理自动启动、发布数据库是日志是完整模式。另外,SERVER02中也有school数据库,其中的表信息及数据与SERVER01中的school数据库完全一致,从而保证复制前的同步,使用发布的源和目标数据一致。,59,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,2.第二步:在SERVER01上设置发布和分发(1)展开在SERVER01的复制节点,在本地发布右键选择新建订阅。,60,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(2)在新建发布向导中首先要求选择分发服务器,本例选择本机作为分发服务器,选择默认值。,61,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(3)向导第三步要求选择快照的路径,一般情况下选择默认路径。向导第四步选择发布的数据库,选择school,62,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(4)接着选择发布的类型,这里选择快照复制,63,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(5)选择发布的内容(student),这里不仅可以发表,还可以发布其他的数据库对象,比如函数。在选择某一个表之后还可以选择发布某一列或几列。在这个步骤下一个界面中可以选择要发布的行,这里我们默认行发布,64,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(6)配置快照代理服务,此处需要将“立即执行快照”和“计划时间运行”全部勾选上,并点击确定执行快照复制。,65,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(7)下面为每个复制代理选择登录名,点击向导配置安全代理服务。设置发布的内容之后设置运行SQL代理的账号,设置如下,66,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(8)设置上一步之后,给复制起个名字school_fb。到此为止,发布和分发已配置成功,67,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,3.第三步:在SERVER02上设置订阅服务器(1)下面就可以进行订阅了,订阅可以在发布服务器上进行,也可以在订阅服务器上进行。本次我们在订阅服务器实例SERVER2上操作订阅。展开SERVER2实例的复制项,在本地订阅上右击属性,选择新建订阅。在新建订阅的界面,首先新建订阅向导,在发布服务器中选择登录的服务器为SERVER1,68,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(2)选择SERVER1实例中发布数据库school_fb后,进入新建订阅向导,选择推送订阅方式(默认),69,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(3)选择SERVER1实例中发布数据库school_fb后,进入新建订阅向导,选择推送订阅方式(默认),如图所示。选择发布服务器中的订阅数据库为school(如图所示),在随后弹出的分发代理安全性中点击按钮进入安全配置,70,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验1:快照复制实验,(4)在安全设置界面中,选择在SQLServer代理账户下运行,连接订阅服务器中选择以SQLServer登录,71,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,注意:连接订阅服务器时候经常出现连接错误的情况,怎么办?,Sa用户是SQLServer的超级用户,可能的解决办法是:由于Sa帐户未启用;远程连接没有设为同时使用TCP/IP和NamedPipes服务器身份验证选项为Windows身份验证模式,具体步骤参见安全性章节内容讲解。,72,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,(5)完成安全设置任务后,点击下一步进入同步计划执行界面,设置代理计划为连续运行(如图所示)。而后配置初始化订阅属性,初始化时间为立即。在向导结束时选择创建订阅,最后点击完成,结束订阅服务器的配置工作,73,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,(6)测试复制实验。图4-67所示的两张表中,左侧表为SERVER1发布服务器的表数据,右侧表为SERVER2订阅服务器的表数据。右键点击发布服务器SERVER1的“重新初始化所有订阅”(如图4-68所示),并使用新快照和立即生成新快照,点击重新初始化后生成快照(如图4-69所示)。重新刷新SERVER2订阅服务器的本地订阅后,则两个服务器数据表保持同步,74,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,复制后数据表保持同步效果,开始使用新快照和生成新快照,75,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验2:事务复制实验,1.第一步:在SERVER01上设置发布和分发同配置快照复制基本一致,首先发布的类型为快照复制(如图4-71),同样选择数据库school数据库中的student表,其余步骤与快照服务完全相同。特别需要说明的是,在进行到“分发代理位置”步骤时候,必须选择推送订阅的方式而不能选择请求订阅的方式,否则无法进行初始化订阅,而导致事务复制失败。,76,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验2:事务复制实验,2.第二步:在SERVER02上设置订阅服务器在订阅服务器上选择发布的服务器为事务发布服务school_xw,其余步骤与快照复制步骤完全一致,这里不再复述。,77,4-3SQLServer2008复制技术,4-3-4“复制”的服务器配置,实验2:事务复制实验,3.第三步:测试修改SERVER1中的student表后稍等几秒后,刷新SERVER2中的student表则数据将实现同步更新,其效率比快照复制要好得多,78,4-3SQLServer2008复制技术,4-3-5“复制”的过程中遇到的常见问题,1代理服务一定要事先运行2如果是GHOST的系统,会发生计算机名和SQLSERVER中所能识别的服务器名称不一致的情况,则请使用以下的代码进行同步更新:,ifserverproperty(servername)servernamebegindeclareserversysnamesetserver=servernameexecsp_dropserverserver=serversetserver=cast(serverproperty(servername)assysname)execsp_addserverserver=server,local=LOCALend,再重新启动SQLServer核心服务和代理服务,问题一般都会解决,79,4-4数据库转换与复制技术实训,通过SQLServer数据库备份实验,掌握和深入理解三种基本恢复模型的创建过程,学习并掌握备份设备存储备份的过程;通过SQLServer备份方法实验,学习并熟练掌握完全、差异和日志文件的数据备份方法;通过SQLServer文件和文件组备份实验,学习并熟练掌握文件和文件组备份的备份过程;通过SQLServer数据还原实验,学习并熟练掌握完全、差异和日志文件的数据备份恢复数据的方法,掌握文件和文件组备份的备份恢复数据的方法。,80,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,1.实训任务:将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2008,可以用SSIS来定制任务,下面我们用具体实例说明整个过程。2.实训步骤:(1)第一步:建立测试excel文件,假设有abcd四个字段,保存在c:excel目录下,并复制3个一样的文件。,Excel文件中的测试数据,c:excel目录下的4个文件,81,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(2)第二步:打开MicrosoftVisualStudio2008或者随SQL2008安装的SQLServerBusinessIntelligenceDevelopmentStudio,新建一个商业智能项目,命名为ISTest。在SSIS的设计界面中,从工具箱拖一个Foreach循环容器,并用鼠标右键点击该对象,选择“编辑”。,工具箱拖一个Foreach循环容器,82,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(3)第三步:在打开的循环编辑器中选择“集合”,并设定遍历目录和文件的类型。如图所示。再选择变量映射,并新建一个映射变量,该变量将用来存储遍历当中的文件路径。在弹出的对话框中对该变量进行命名,设定遍历目录和文件的类型,83,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,新建一个映射变量,84,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,第四步:确定后,接着拖一个数据流任务到循环容器中,并切换到该数据流分页,再从工具箱中拖一个Excel源,点击鼠标右键选择“编辑”,切换到数据流分页,85,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(5)第五步:在打开的Excel编辑器中选择新建一个OLEDB连接管理器,在打开的管理器界面中,选择浏览,并选中一个刚刚建立的的任意Excel文件,如图所示。完成OLEDB连接管理器的配置工作后,在Excel编辑器中选择“Excel工作表的名称”,此处选择“sheet1$”,预览无误后点击确定退出,86,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(6)第六步:在用户数据库中新建一张表,命名tb,属性及格式如图4-81所示。然后回到SISS界面从工具箱中拖一个oledb目标到数据流中,并用鼠标右键点击OLEDB对象,选择“编辑,87,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(7)第七步:在打开的OLEDB编辑器中,新建连接管理器为测试数据库mydb,并选择其中的表tb为测试目标用表,88,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(8)第八步:在OLEDB编辑器中,选择映射,编辑字段映射关系,并保证对应的属性结构一样,如图所示。编辑下面的excel链接管理器,这里将用到foreach的变量来代替刚刚选择的那个excel文件,89,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(9)第九步:在连接管理器的属性中设置变量的映射用法,选择Expressions属性,在打开的Expressions的属性编辑列表中,左边选择excelfilepath,这个是连接管理器的属性,我们将用变量来代替。再点击表达式的属性编辑按钮,把列表中的变量用户:excel1变量拖到下面的表达式框中,则在表达式框中出现字符串“用户:excel1”,全部点击确定后完成配置工作。,90,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(10)第十步:这时ssis将会报错,并给出警告。改正的办法是,用鼠标左键点击SSIS空白界面处,打开控制流的属性窗口,设置DelayValidation属性为True就可以了,91,4-4数据库转换与复制技术实训,4-4-1通过SSIS批量导入Excel文件实训,(11)第十一步:经过以上步骤的配置,整个实训过程结束,你可以按下F5看看效果,文件夹下所有的excel将被批量导入数据库。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!