第13章数据库的导入导出与复制本章内容13.1 数据库的导入导出13.2 数据库复制技术13.1 数据库的导入导出13.1.1 导入导出概述13.1.2 导入数据13.1.3 导出数据13.1.1 导入导出概述⏹数据导入导出操作(为SQL的数据转换服务)主要解决异构数据源之间相互转换。
⏹目的是提高数据库管理系统的适应性,是数据库管理系统的一个核心技术和组件。
数据导入导出实现不同格式的数据在应用程序之间交换dBaseMicrosoft AccessMicrosoft Data LinkMicrosoft ExcelMicrosoft Visual FoxPro其他ODBC数据源其他OLE DB数据源Paradox文本文件表13-1 数据导入导出方法和工具13.1.2 导入数据导入数据的操作步骤:步骤1:⏹在企业管理器中,从“工具”菜单中选择“向导…”⏹在“向导”对话框中选择数据转换服务中的DTS导入向导步骤2⏹打开“数据转换服务导入/导出向导”界面,单击“下一步”按钮步骤3⏹选择导入数据源。
选择文本文件为数据源,在“文件名”编辑框中输入C:\SUPPLIER.TXT 文本文件,将其导入Sales数据库的Supplier表步骤4⏹单击“下一步”按钮,显示“选择文件格式”对话框步骤5⏹单击“下一步”按钮,显示“指定列分隔符”对话框。
“预览”列表框显示数据文件的数据。
步骤6⏹单击“下一步”按钮,显示“选择目的”对话框。
步骤7⏹单击“下一步”按钮,显示选择源表和视图对话框。
选择导入数据的supplier表步骤8⏹单击“下一步”按钮,显示“保存、调度和复制包”对话框。
步骤9⏹单击“下一步”按钮,在“正在完成DTS导入/导出向导”界面中单击“完成”按钮,运行数据导入工作。
最后显示用户操作成功。
13.1.3 导出数据导出数据的操作步骤:步骤1:⏹在企业管理器中,从“工具”菜单中选择“向导…”⏹在“向导”对话框中选择数据转换服务中的DTS导出向导⏹打开“数据转换服务导入/导出向导”界面,单击“下一步”按钮步骤2⏹选择导出数据源。
步骤3⏹单击“下一步”按钮,显示“选择目的”页面,文件名为“d:\data.txt”步骤4⏹单击“下一步”按钮,显示“指定表复制或查询”对话框,选择从源数据库复制表和视图。
步骤5⏹单击“下一步”按钮,显示“选择目的的文件格式”对话框,设置导出文件的属性。
步骤6⏹单击“下一步”按钮,显示“保存、调度和复制包”对话框⏹单击“下一步”按钮,显示“正在完成DTS导入导出向导”对话框,完成操作13.2 数据库的复制技术13.2.1 数据库复制概述13.2.2 复制代理与复制类型13.2.3 数据库复制的方法13.2.4 监视和维护复制13.2.1 数据库复制概述⏹数据复制就是把一个数据库服务器上的数据传输到地理位置不同的数据库服务器中的过程。
⏹使用数据复制技术,可以使数据的分布过程自动化,以适应可伸缩组织的需要,减轻主服务器的工作负荷,提高数据的利用效率。
13.2.1 数据库复制概述⏹数据复制过程被比喻成报纸或杂志的出版过程,就是把信息从信息源迅速传送到信息接收处。
☐从内容方面看,这两种过程都是传送信息:出版主要传送新闻、数据、图像、知识等信息,复制主要传送数据信息。
☐从实现形式方面看,在这两种过程中,都有信息源和信息接收处。
复制过程中的组件⏹发布服务器、分发服务器、订阅服务器以及发布、项目和订阅发布服务器、项目和订阅☐发布服务器相当于是一家出版社,它提供用于复制到其他服务器的数据库,负责制作将要出版的数据,并检测这些数据的更新情况,然后将这些数据的所有变化发送到分发服务器中。
☐项目是指定要复制的数据表、数据分区或数据库对象。
☐出版是一个数据库中的一个或多个项目的集合。
分发服务器☐分发服务器类似于出版社与读者之间的中介,例如分发站、书店、报刊亭等。
☐分发服务器负责从发布服务器中接收数据,将数据保存在它建立的多个分发数据库中,最后按照指定的时间间隔推向相应的订阅服务器中。
☐分发服务器分为远程分发服务器和本地分发服务器。
订阅、订阅服务器☐订阅是对数据或数据库对象复本的请求。
订阅定义将接收的发布和接收的时间、地点。
☐订阅服务器可以认为是出版物的读者,它是接收数据的服务器。
订阅服务器是数据复制的目的地,负责接收复制的数据,并且负责接收从发布服务器上传送过来的全部变化。
13.2.2 复制代理与复制类型⏹SQL Server 2000提供了4种复制代理来实现3种复制类型。
☐在复制过程中的复制进程就是复制代理。
☐复制代理可以把出版物从发布服务器中传送到分发服务器中,然后由分发服务器把这些出版物传送到订阅服务器中。
复制代理⏹复制代理包括:☐快照代理☐分发代理☐日志阅读代理☐合并代理复制类型⏹在SQL Server 中,根据事务一致性、各个站点的自主性和分区数据避免冲突的能力,可以把复制分成3种类型。
☐快照复制:就是把在发布服务器上出版物中的当前数据进行复制和分发,建立发布快照,然后周期地替代订阅服务器上的出版物。
类似于快速拍照的过程。
☐事务复制:就是把发布服务器上的事务作为增量的变化分发到订阅服务器中。
☐合并复制:允许站点自主改变复制过的数据,经过一段时间之后,或者是周期性的调度时间,或者是根据需要而预定的时间,把有关站点对复制数据的改变合并起来,并且反应到全部站点。
13.2.3 数据库复制的方法⏹创建一个复制方案所需的步骤有:☐指定分发服务器☐设置分发数据库选项☐创建和管理发布☐创建和管理订阅1.创建分发服务器和发布(1)打开企业管理器,选择用来作为发布者的服务器。
(2) 选择“工具→复制→创建和管理发布”菜单项,显示“创建和管理发布”对话框(3)从允许被复制的数据库中选择一个数据库Sales单击“创建发布”按钮,出现创建发布向导对话框(4)单击“下一步”按钮,出现“选择分发服务器”对话框。
(5)单击“下一步”按钮,出现“指定快照文件夹”对话框,在快照文件夹中,输入快照文件夹路径,该路径必须是网络路径。
(6) 单击“下一步” 出现“选择发布数据库”对话框,选择要发布的数据库Sales数据库。
(7)单击“下一步”按钮出现“选择发布类型”对话框,选择“快照发布” 。
(8)单击“下一步”按钮出现“订阅服务器类型”对话框。
设置订阅服务器的类型。
(9)在“指定项目”对话框中,选择作为项目发布的数据库对象。
(10)单击“下一步”按钮,出现“选择发布名称和描述” 对话框。
⏹在“发布名称”文本框中输入发布的名字。
⏹在“发布描述”一栏中,输入对于发布的简单描述。
⏹单击“下一步”按钮。
(11)在“自定义发布的属性”对话框中选择是否要过滤数据,即对刚才选择的表限定哪些行和列要发布。
(12)单击“下一步”按钮出现“筛选数据”对话框,选择筛选数据的方式。
(13)单击“下一步”按钮出现相应的设置窗口⏹因为在上一操作步骤中选择的是垂直筛选,在这个窗口中,可以选择发布的列。
⏹也可以提供一个限制性从句来选择表中特定的行(如果选择水平分分割)。
(14)单击“下一步”按钮显示“是否允许匿名订阅”对话框。
(15) “设置快照代理程序调度”对话框。
(16) 单击“下一步”按钮进入“完成创建发布向导”对话框。
⏹单击“完成”按钮开始正式创建发布,完成后,系统将发布项目添加到企业管理器的发布内容中。
2.设置分发数据库⏹在企业管理器的菜单中依次选择“工具→复制→配置发布、订阅服务器和分发”菜单项,查看已创建的分发服务器和默认创建的分发数据库。
3.配置发布⏹在“发布服务器和分发服务器属性”对话框中,选择“发布服务器”选项卡,在“发布服务器”选项卡中指定哪个服务器是发布服务器。
在“发布数据库”选项卡中可以选择哪些用户数据库可以被发布4.设置订阅服务器⏹创建发布。
通过“强制订阅”或者“请求订阅”实现。
(1)打开企业管理器,连接到订阅服务器上。
(2) 选择“工具→复制→请求订阅”菜单项,在弹出的对话框中单击“请求新订阅”按钮。
(3)在“请求订阅向导”对话框,单击“下一步”按钮。
(4)在“查找发布”对话框,选择“查看已注册服务器所作的发布”单选框,单击“下一步”按钮在“选择发布”对话框选择想要订阅的发布。
(5)在“指定同步代理程序登录”对话框中输入代理程序连接发布服务器时的账户和密码,单击“下一步”按钮。
(6)在“选择目的数据库”对话框的“选择在其中创建订阅数据库”的区域中,选择将订阅的数据存放到的数据库中。
可以是一个预先存在的数据库或者创建一个新的数据库。
(7)在“初始订阅”对话框中,将发布服务器发布的内容通过快照代理复制到分发服务器的分发工作目录,然后通过发布代理程序复制到订阅服务器。
(8)在“设置分发代理程序的调度”对话框,选择分发代理更新订阅的频率。
(9)在“启动要求的服务”对话框,启动SQL Server Agent服务。
(10)在“完成请求订阅”对话框,单击“完成”按钮,完成创建订阅。
13.2.4 监视和维护复制⏹复制监视器为复制监视器工具,可以查看许多复制的信息,例如可以查看发布服务器、出版物和订阅物的清单,查看已经调度的复制代理,查看复制代理和作业的工作历史,还可以监测数据库的空间等。
⏹在解决故障时,应该首先查看各种错误日志,以便了解错误情况,然后使用查询分析器测试各种服务器之间的连接性,最后,还要确认各种服务是否正在运行,以及为这些服务提供的账号和口令是否正确等。
⏹复制完成之后,可以把复制的创建过程生成脚本文件。