数据库应用技术幻灯片.ppt

上传人:石*** 文档编号:45464921 上传时间:2022-09-24 格式:PPT 页数:66 大小:2.88MB
返回 下载 相关 举报
数据库应用技术幻灯片.ppt_第1页
第1页 / 共66页
数据库应用技术幻灯片.ppt_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《数据库应用技术幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库应用技术幻灯片.ppt(66页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库应用技术第1页,共66页,编辑于2022年,星期六18.1 概述n作为数据库管理员,在数据库之间导入、导出数据是一项经常执行的基本任务。例如,将测试服务器上的数据库迁移到生产工作服务器上,或者是移动表中的部分数据,也可能是将数据库中的数据转换为另一个产品的格式来保存,这些工作都是导入、导出数据的简单形式。本章总结了SQL Server数据传输的常用工具,如DTS、T-SQL、BCP、复制等,满足用户在数据传输过程中的不同要求。第2页,共66页,编辑于2022年,星期六18.1.1 数据传输的原因n管理员必须理解如何在应用程序和环境之间传输数据。几乎所有的环境都要执行求一定程度的数据转移工

2、作。n数据迁移数据迁移n将数据从外部数据源导入 SQL Server 实例很可能是建立数据库后要执行的第一个工作。数据导入SQL Server数据库后,即可开始使用该数据库。例如,将Excel工作表中的数据导入SQL Server实例,迁移完成后,该SQL Server数据库将直接用于所有与数据相关的任务,而不再使用原来的系统。n改变数据格式改变数据格式n转换数据可能是简单的数据类型间的映射转换,还可能是包含了数据逻辑的复杂操作。例如,源数据库中的IS_Payment字段存放“ture”或“false”值,而目的数据库的值是1或0。在执行数据传输时,可把格式为“ture”或“false”的数据

3、转换为1或0,使得数据的表达方式一致。n重构数据重构数据n在重构数据中,可能需要把来自多个数据源、表和列的数据在目的数据库组合成一个单一的表。例如,在一个企业应用中,把多个下级部门的数据通过聚集和汇总储存在上级主管部门的数据库中。n转换异构数据转换异构数据n异构数据是以多种格式存储的数据,例如存储在SQL Server数据库、文本文件和 Excel 电子表中的数据。转换异构数据就是将这些使用不同格式存储的数据转换到统一存储模式中。n调度作业调度作业nSQL Server代理程序会自动的调度数据传输的过程。例如,通过定义自动化任务保存数据的导入、导入规则,在指定的时间由系统调度任务执行,以减少每

4、次数据传输时的手工调度过程和重复的步骤。第3页,共66页,编辑于2022年,星期六18.1.2 数据传输工具一览n数据传输的基本过程包括:确定数据源和目的地,明确在数据源和目的地之间传输或转换数据,定义数据传输或转换的规则。nSQL Server提供了几个数据传输工具,用户根据特定需要选择适当的工具完成工作。nDTS导入导入/导出向导导出向导nDTS(Data Transformation Service)导入/导出向导以交互式的方式指导用户完成数据传输的工作。用户可以轻易的完成在不同的数据源之间传输或转换数据。在连接源和目的数据库之后,便可以选择要导入或导出的数据,并可对数据的格式进行转换。

5、DTS工具提供了在数据源之间传输数据的最简单的方法。nbcp实用程序实用程序nbcp(bulk copy)是一个在命令提示符下的实用工具。BCP命令能够在本地SQL Server和ASCII码文本文件之间导入/导出的数据。nT-SQL语句语句nSELECT INTO语句能够将结果集创建为一张新表,并且实现拷贝表结构的功能。INSERT SELECT 语句可用于将一个或多个其它的表或视图的记录添加到目的表中。使用BULK INSERT语句能够把一个数据文件拷贝到一张表中。n复制复制n复制是一组解决方案,用于在企业范围内发布、分发数据。使用复制可以将数据分发到不同位置,通过局域网、拨号连接、Int

6、ernet分发给远程或移动用户,拉近用户与数据的距离,增强数据的独立性。n数据库备份与恢复数据库备份与恢复n数据库备份与恢复不仅能够保证数据的安全而且作为数据传输的方法之一,能够把一个完整的SQL Server数据库,包括所有的数据和对象,移动到另一个SQL Server实例,并且能够通过日志传送的方法不断向目的数据库追加数据(参见第十四章 数据库备份与恢复与自动化管理)。n分离和附加数据分离和附加数据nSQL Server允许分离数据库的数据和事务日志文件,然后将其重新附加到另一台服务器,甚至同一台服务器上。分离数据库将从SQL Server删除数据库,但是保持在组成该数据库的数据和事务日志

7、文件完好无损。这些数据和事务日志文件可以用来将数据库附加到任何SQL Server实例上,这时数据库的使用状态与它分离时的状态完全相同。n例如,直接将数据库从一台计算机迁移到另一台计算机,而不必使用重新创建数据库,然后手动还原数据库备份的办法。(参见第十四章 数据库备份与恢复与自动化管理)。第4页,共66页,编辑于2022年,星期六18.2 使用DTS进行数据搬运 n数据转换服务(DTS)导入/导出向导提供生成 DTS 包的最简单方法,可以交互式地指导您完成整个复制和转换数据的过程。DTS 导入/导出向导为在OLE DB数据源之间复制数据提供了最简单的方法。第5页,共66页,编辑于2022年,

8、星期六18.2.1 启动DTS向导n打开SQL Server企业管理器单击运行向导按钮,在【选择向导】对话框中展开【数据转换服务】节点可以启动【DTS导出向导】或者【DTS导入向导】。n如果从【开始】菜单【SQL Server程序组】中启动【DTS 导入/导出向导】,则不需要指定是导入数据还是导出数据。第6页,共66页,编辑于2022年,星期六18.2.2 连接数据源和目的地 n数据转换服务(DTS)能够对兼容ODBC和OLE DB提供程序的数据建立连接。要成功执行复制和转换数据的任务,则必须与源数据和目的数据建立有效的连接。n使用 DTS 导入/导出向导,可以连接到下列数据源:n大多数的 O

9、LE DB 和 ODBC 数据源以及用户指定的 OLE DB 数据源。n文本文件。n到一个或多个Microsoft SQL Server实例的其它连接。nOracle和Informix数据库。n必须已经安装Oracle或Informix客户端软件。nMicrosoft Excel电子表格。nMicrosoft Access和 Microsoft FoxPro数据库。ndBase或Paradox数据库。n连接数据源时须指定任何要求的登录、安全性或文件位置信息。如果正在从文本文件导入数据,则必须指定文本文件的格式和分隔符。如图18.1所示第7页,共66页,编辑于2022年,星期六18.2.2 连接

10、数据源和目的地 第8页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n在【指定表复制或查询】对话框列出了以下选项,如图18.2所示:n从源数据库复制表和视图n用一条查询指定要传输的数据n在SQL Server数据库之间复制对象和数据第9页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n从源数据库复制表和视图从源数据库复制表和视图n在【指定表复制或查询】对话框中选择【从源数据库中复制表和视图】选项,单击【下一步】,显示【选择源表和视图】对话框。使用此对话框指定要向目的复制的表和视图,如图18.3所示。可以将整个表或者表中部分字段的数据以及视图复制到指定的目的,在这

11、个过程中将不筛选或排列记录。如果选择了源而不执行其它操作,将从源不加更改地复制架构和数据。第10页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n单击【转换】网格中按钮显示【列映射和转换】对话框,如图18.4所示。在其中可指定源数据列对的目列的映射、编辑目的列的属性,以及指定记录添加到目的表中的方式。如果目的表不存在,则在目的数据库中创建表,如果目的表存在,那么可以使用【删除目的表中的行】让源表中的行替换目的表中的行,或者选择【在目的表中添加】将源表中的行追加到目的表中。n在【选择源表和视图】对话框中,单击【预览】按钮,在运行数据转换服务前,预览源数据以对其进行验证。单击【上一

12、步】返回【指定表复制或查询】对话框。第11页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n用一条查询指定要传输的数据用一条查询指定要传输的数据n在【指定表复制或查询】对话框中选择【用一条查询指定要传输的数据】选项,单击【下一步】,显示【键入 SQL 语句】对话框,在其中可生成用于在表或视图中检索特定行的SQL语句,只有符合选择条件的行才可用于复制,如图18.5所示。单击【上一步】返回【指定表复制或查询】对话框。第12页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n在在SQL Server数据库之间复制对象和数据数据库之间复制对象和数据n在【指定表复制或查询】

13、对话框中选择【在SQL Server数据库之间复制对象和数据】选项,单击【下一步】,显示【选择要传输的对象】对话框。如果数据的源和目的都是SQL Server数据库,则在此对话框中可以指定要复制的对象和数据。可传输的对象包括表、视图、存储过程、默认值、规则、约束、用户定义的数据类型、登录、用户、角色和索引,如图18.6所示。对象只能在多个SQL Server 7.0实例间传输,或从SQL Server 7.0实例传输到SQL Server 2000实例,以及在多个SQL Server 2000实例间传输。第13页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n创建目的对象选项n

14、此选项为所有要传输的对象创建目的对象(包括表、视图、存储过程、默认值、规则、约束、用户定义的数据类型、登录、用户、角色和索引),启用下列选项:n【首先丢弃目的对象首先丢弃目的对象】n创建新目的对象之前,丢弃所有相应的目的对象。n【包括所有相关对象包括所有相关对象】n在数据传输中包括所有相关对象,例如在传输视图的同时传输视图引用的表。n【包括所有扩展属性包括所有扩展属性】n包括所有扩展属性,这些属性是用户在数据库中的不同对象上提供的定义。n复制数据n此选项用于设置从源向目的复制SQL Server数据以及下列复制选项:n【替换现有数据替换现有数据】n用指定的源中的新数据改写目的对象中现有数据。n

15、【追加数据追加数据】n保留目的对象的现有数据,并从追加新数据到目的对象中。第14页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n使用排序规则n使得能够在不同的排序规则间复制数据。n复制所有对象n传输所有与指定的数据源关联的对象。n使用默认选项n将各高级传输选项设置为默认值。n选择对象n清除【传输所有对象】复选框,则【选择对象】按钮的状态为“可用”,可以在其中可选择要传输的个别对象。如图18.7所示第15页,共66页,编辑于2022年,星期六18.2.3 设定转换模式n选项n清除【使用默认选项】复选框,则【选项】按钮的状态为可用,可以在其中进一步指定数据库用户和角色、SQL S

16、erver登录、对象的权限、以及表的传输选项,如图18.8所示。n脚本文件目录n指定脚本文件和日志文件写入的目录。每个选定对象的SQL和数据文件都将脚本文件写入某个目录,该目录必须位于任务所在的同一台计算机上。该目录中的脚本和日志文件一直可被访问,直到下次执行时文件由新信息重写。第16页,共66页,编辑于2022年,星期六18.2.4 保存和调度DTS包n保存保存DTS包包n数据源源、目的和转换的规则可以保存为数据转换服务(DTS)包,并调度该文件按预定义的时间间隔运行,如图18.9所示。DTS包可以保存到msdb 数据库、SQL Server 2000 Meta Data Services、

17、COM 结构化存储文件或 Microsoft Visual Basic文件。第17页,共66页,编辑于2022年,星期六18.2.4 保存和调度DTS包nMicrosoft SQL Servern默认使用该选项保存DTS包,在【保存DTS包】对话框中填写所需字段。DTS包存储在 SQL Server msdb 数据库中,在SQL Server企业管理器保留DTS包的清单,供以后调度。nSQL Server 2000 Meta Data Services。n使用该保存选项,对于包操作的数据,可以维护有关这些数据的历史信息。但是,必须要在您的服务器上安装 Meta Data Services,及知

18、识库数据库,而且它们还必须是可操作的。可以跟踪某些列和表,包将这些列和表用作源或目的。也可以使用数据沿袭功能以进行跟踪,查明是包的哪个版本创建了某个特殊的行。可以将这几种类型的信息用于决策支持应用程序。n结构化存储文件。n使用该保存选项,可以通过网络复制、移动及发送包,而不必将文件存储在SQL Server数据库中。结构化存储格式允许您在单个文件中维护多个包及多个包版本。nMicrosoft Visual Basic文件。n使用该保存选项,可以通过应用程序开发工具修改DTS包的定义。该选项将包写成 Visual Basic 代码脚本,并且日后可以在自己的开发环境中打开Visual Basic文

19、件及修改包定义。第18页,共66页,编辑于2022年,星期六18.2.4 保存和调度DTS包n调度调度DTS包包n数据转换服务(DTS)包保存所有的 DTS 连接、DTS 任务、DTS 转换以及工作流步骤,并在 DTS 设计器的设计表中保留这些对象的图形布局。保存DTS包后,单击浏览按钮显示【编辑反复出现的作业调度】对话框,在其中可调度包的执行。如果没有修改调度,默认为每天午夜 12:00 运行包。n如果选择【用复制方法发布目的数据】选项时,DTS 导入/导出向导结束运行后将启动创建发布向导。nDTS任务设置完毕后,将进行数据传输工作,如图18.10所示,如果在任务执行过程中出现错误,双击出现

20、错误的子任务,查询错误信息。第19页,共66页,编辑于2022年,星期六18.3 bcp实用程序nbcp是一个在命令提示符下的实用工具,能够将 SQL Server数据复制到某个数据文件或从某个数据文件复制数据到SQL Server实例。该实用工具作为解决异构数据问题的方法之一,最常用于将大量数据从其它程序(通常是另一种数据库管理系统)传输到SQL Server表中。数据首先从数据源导出到数据文件,然后使用 bcp 将数据从该数据文件导入到SQL Server表。另外,bcp 还可以将数据从SQL Server实例复制到某个数据文件,其它程序可以从该数据文件中导入数据。n例如,若要将所有作者的

21、姓名从 pubs 数据库的 publishers表复制到 c:Publishers.txt 文件,并按出版物名称排序,可在命令提示符下执行以下命令:nbcp“SELECT pub_id,pub_name,city,state,country FROM pubs.dbo.authors nORDER BY pub_name”queryout c:Publishers.txt-c-Sservername-Usa Ppasswordn数据还可以从视图向外大容量复制。例如,将数据从 pubs 数据库的视图 titleview 复制到 Titleview.txt 数据文件,在命令提示符下执行以下命令:n

22、bcp pubs.dbo.titleview out titleview.txt-c-Sservername-Usa-Ppasswordn若要将数据从 Publishers.txt 数据文件大容量复制到 pubs 数据库的 publishers 表中,在命令提示符下执行以下命令:nbcp pubs.dbo.publishers in publishers.txt-c-t,-Sservername-Usa-Ppassword-k第20页,共66页,编辑于2022年,星期六18.4 T-SQL语句 n能够实现数据传输功能的Transact-SQL语句有BULK INSERT、SELECTINTO以

23、及INSERTSELECT语句,这些语句在SQL Server查询分析器或者应用程序中执行。BULK INSERT能够实现将数据文件中的数据复制到SQL Server数据库。使用SELECTINTO和INSERTSELECT能够实现将几个表和视图中数据插入到另外一张表。第21页,共66页,编辑于2022年,星期六18.4.1 使用BULK INSERT 语句nBULK INSERT语句以Transact-SQL语句而不是命令提示符来实现bcp实用工具的功能。使用BULK INSERT语句,可以将数据从数据文件传送到SQL Server表但不支持将数据从SQL Server实例复制到数据文件。在

24、SQL Server查询分析器中使用BULK INSERT语句实现大容量复制数据:n例程例程18.1:将c:publishers.txt文件中的数据复制到pubs数据库的Publishers表中nBULK INSERT pubs.publishers FROM c:publishers.txtnWITH(n DATAFILETYPE=char,n FIELDTERMINATOR=,n KEEPNULLSn)第22页,共66页,编辑于2022年,星期六18.4.2 使用SELECTINTO语句 nSELECT INTO 语句创建一个新表,并用 SELECT 的结果集填充该表,新表的结构由选择列表

25、中表达式的特性定义。n例程例程18.2:查询Norhtwind数据库中Products表中的数据,然后将结果保存在Pubs数据库的NewProducts表。nSELECT ProductName,CompanyName AS Suppliers,nUnitPrice AS Price,UnitsInStock AS Stock,UnitsOnOrder nINTO Pubs.dbo.NewProductsnFROM Northwind.dbo.Products AS PnINNER JOIN Suppliers AS S nON S.SupplierID=P.SupplierIDn由于SELE

26、CT INTO语句能够创建一张新表,因此常用来产生临时表或拷贝表结构。n例程例程18.3,拷贝Employees表的结构到Employees_history表:nSELECT*INTO Employees_historynFROM EmployeesnWHERE EmployeeID IS NULLnSELECTINTO可将几个表或视图中的数据组合成一个表,也可用于创建一个包含选自链接服务器的数据的新表。n例程例程18.4:在本地SQL Server(Server1)上建立与远程SQL Server(Server2)的链接服务器后,使用INSERTSELECT语句将SERVER2的Nortnw

27、ind数据库中Employees表的部分数据插入到本地Nortnwind数据库中Employees表。nINSERT INTO Nortnwind.dbo.Employees(Lastname,Firstname)nSELECT Lastname,Firstname FROM Server2.Nortnwind.dbo.EmployeesnWHERE City=London第23页,共66页,编辑于2022年,星期六18.4.3 使用INSERT SELECT语句nINSERT语句中的SELECT子查询可用于将一个或多个其它的表或视图的值添加到表中,使用SELECT子查询可同时插入多行。SEL

28、ECT子查询的选择列表必须与INSERT语句列的列表和数据类型相匹配。n例程例程18.5:使用的INSERT语句将 titles表中数据插入到一个单独的表(MyBooks)中:nUSE pubsnINSERT INTO MyBooks(title_id,title,type)nSELECT title_id,title,typenFROM titlesnWHERE type=mod_cooknINSERT.SELECT语句的另一个作用是从SQL Server的外部数据源插入数据。n例程例程18.6:配置链接服务器连接到远程SQL Server(Server3),执行下面的语句:nINSERT

29、INTO MyBooks(title_id,title,type)nSELECT title_id,title,typenFROM Server3.pubs.dbo.titlesnWHERE type=mod_cook第24页,共66页,编辑于2022年,星期六18.5 复制n在企业应用中,随着分布式数据环境建立和变化,不同的部门通常具有自己独立的服务器,其中还可能运行着不同的数据库管理系统。用户需要提高数据的可管理性,增强各个站点之间的数据的连通性、可访问性。复制作为在分布式数据环境分发数据的解决方案,通过将数据分发到整个网络中,可以使更多的用户对其进行访问,降低用户请求时的冲突。第25页,

30、共66页,编辑于2022年,星期六18.5.1 复制的基本概念nSQL Server复制是在数据库之间对数据和数据库对象进行复制和分发并且对于数据的修改进行同步,以确保其一致性的一组技术。使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过 Internet 分发给远程或移动用户。nSQL Server还支持与异类数据源之间的相互复制。OLE DB或ODBC数据源可以订阅SQL Server发布的数据。SQL Server还可以接收从很多数据源复制的数据,这些数据源包括Microsoft Exchange、Microsoft Access、Oracle 和DB2。第26页,共66页

31、,编辑于2022年,星期六18.5.2 复制的功能 nSQL Server复制是一项功能强大的技术,可以把一个SQL Server实例上的表、视图和存储过程传输到本地或者远程SQL Server实例以及其他数据源上。使用复制实现在多个实例上创建数据的副本,并且能够自动维护这些数据源与副本中的数据一致性。当多个站点需要为报表应用程序读取相同的数据或需要使用独立的服务器存储数据时,这一点十分有用。复制拉尽了数据与用户的距离,因为数据可以通过网络进行分发,所以可以根据不同商业单位或用户的需求对数据进行分区,还有助于减少因多个用户进行数据修改和查询而引起的冲突。第27页,共66页,编辑于2022年,星

32、期六18.6 复制的模型 nSQL Server复制的模型由下列对象组成:发布服务器、分发服务器、订阅服务器、发布、项目和订阅。还有几个负责在发布服务器和订阅服务器之间复制和移动数据的复制进程。它们是快照代理程序、分发代理程序、日志读取器代理程序、队列读取器代理程序和合并代理程序。第28页,共66页,编辑于2022年,星期六18.6.1 服务器角色n复制使用发布-订阅模式分发数据,参与复制的服务器根据任务不同可划分为以下角色:n发布服务器发布服务器n发布服务器是要复制的数据源所在的服务器。发布服务器把与复制的相关的表或其它数据库对象被组织到“发布”中,“发布”也称为“出版物”。n分发服务器分发

33、服务器n分发服务器包含分发数据库,并且存储出版物、历史数据和事务。在复制过程中由分发服务器完成将出版物从发布服务器移动到订阅服务器的过程。n订阅服务器订阅服务器n订阅服务器接收出版物,保持数据的副本,将发布项目映射到订阅服务器中的表和其它数据库对象,并接收对所有已发布数据的更改,与发布服务器保持同步。一个订阅服务器可以向不同发布的服务器请求的多个订阅。第29页,共66页,编辑于2022年,星期六18.6.2 复制的类型n快照复制快照复制n快照复制可精确地复制数据或数据库对象在任意时刻的状态。快照复制通常被定义为按调度发生。订阅服务器存储发布的数据在上次快照复制时的复本。n当数据变化不频繁,或者

34、订阅服务器中的数据已过期,以及要复制的数据量很少时,使用快照复制。n使用快照复制时,订阅服务器中的数据修改将被下一次快照复制的数据所改写。n事务复制事务复制n事务复制是将发布服务器上进行的所有修改复制到订阅服务器,实现在发布服务器和订阅服务器间维护事务完整性。在事务复制中,首先通过快照复制使订阅服务器与发布服务器同步,然后当已发布数据被修改时,捕获事务并将其发送到订阅服务器。n当必须在数据被修改时对其进行复制,以及发布服务器和订阅服务器通过网络可靠或经常地连接在一起时,使用事务复制。n使用事务发布时,如果发布服务器和订阅服务器都对数据进行了更新,那么将以发布服务器的事务为准,改写订阅服务器对数

35、据更改。n合并复制合并复制n合并复制能够对订阅服务器和发布服务器上的数据更改进行跟踪,将更改一起合并到发布服务器,然后通过快照复制使订阅服务器与发布服务器同步。n在合并过程中,如果多个订阅服务器修改相同的数据,可能会发生冲突。用户可以设定以发布服务器中的数据为准或者根据优先级高的订阅服务器中的数据为准,来解决合并过程中的冲突。也可以编写自定义冲突解决程序脚本,以处理正确解决复杂冲突情形所需的任何逻辑。n当订阅服务器计算机需要独立于发布服务器运行时(例如移动的脱机用户),或者当多个订阅服务器必须更新相同的数据时,使用合并复制。第30页,共66页,编辑于2022年,星期六18.6.3 复制代理程序

36、n复制代理程序执行许多与复制有关的任务,包括创建数据对象的架构和数据的副本、检查发布服务器或订阅服务器的更新,并传播服务器之间的更改。每个复制代理程序都有一个与它相关的代理配置文件、一些可以设置的代理属性以及代理调度及代理历史记录。n快照代理程序快照代理程序n快照代理程序将与所有的复制类型一起使用。它准备出版服务器中数据库的表和存储过程的架构,初始化数据文件,把他们存储为出版物,并将出版物插入分发数据库中。n分发代理程序分发代理程序n分发代理程序将与快照复制和事务复制一起使用。它将快照文件和保存在分发数据库中的增量更改移动到订阅服务器上。对于强制订阅分发代理程序通常在分发服务器运行,请求订阅分

37、发代理程序在订阅服务器运行。n合并代理程序合并代理程序n合并代理程序与合并复制一起使用。合并代理程序在订阅服务器上应用初始快照,并移动和调节创建初始快照之后发生的增量数据更改。合并代理同时连接发布服务器和订阅服务器并对它们进行更新。n日志读取器代理程序日志读取器代理程序n日志读取器代理程序将与事务复制一起使用。它将标记为复制的事务从发布服务器的事务日志移动到分发数据库中。每个标记为事务复制的数据库都有一个运行在分发服务器上且连接到发布服务器的日志读取器代理程序。n队列读取器代理程序队列读取器代理程序n队列读取器代理程序用于快照复制或事务复制(使用排队更新选项),队列读取器代理程序从每个订阅服务

38、器上的SQL Server队列中读取信息,并将这些事务应用于发布。第31页,共66页,编辑于2022年,星期六18.7 配置复制n使用SQL Server 企业管理器标识复制模型中的发布服务器、分发服务器和订阅服务器。配置复制是标识企业内的发布服务器、分发服务器和订阅服务器的过程,使用用配置发布和分发向导配置发布服务器、分发服务器和订阅服务器以用于复制,并且将来在必要时修改或禁用复制。配置复制的步骤如下:n标识分发服务器,在分发服务器上创建分发数据库。n配置发布服务器,准备发布的数据。n创建订阅,启用接收发布数据的订阅服务器。第32页,共66页,编辑于2022年,星期六18.7.1 复制前的考

39、虑 n为了提高执行效率,可以限制订阅服务器获得的所有数据,或仅发布订阅者真正需要的数据或订阅者有权得到的数据。n在实现快照复制之前,为快照复制留出充足的磁盘空间。n在实现事务复制前,分配足够的日志空间,为分发数据库留有足够的磁盘空间。n为每一个表创建主键n实现合并复制前移去timestamp列,由于订阅服务器的数据也会传递到出版服务器,应确保数据的完整性在各个订阅服务器上都能够得到保证,维护表之间的关联参照;n在所有IDENTITY属性字段上加上NOT FOR REPLICATION设置,以保证SQL Server 2000 在复制代理程序所添加的行上保留起始标识值,但是继续在其他用户所添加的

40、行上增加标识值。当用户将某个新行添加到表时,标识值以通常的方式增加。当复制代理程序将该新行复制到订阅服务器时,在将该行插入到订阅服务器表中时不更改标识值。第33页,共66页,编辑于2022年,星期六18.7.2 配置分发服务器n一般说来,复制包括以下几个阶段:配置发布,生成和应用初始快照,修改复制数据以及同步和传播数据。n打开SQL Server企业管理器,单击运行向导按钮,展开控制台树的【复制】节点启动【配置发布和分发向导】。n分发服务器是快照复制和事务复制的首要组件。分发服务器用于代理程序历史记录和监视。分发服务器可以是与发布服务器不同的独立的服务器,也可以是同一台服务器,如图18.11所

41、示第34页,共66页,编辑于2022年,星期六18.7.2 配置分发服务器n复制过程中各代理程序的调度由SQL Server Agent服务管理,应配置SQL Server Agent服务能够在系统启动的时候自动启动,并且在意外停止时能够自动重新启动,由于复制操作跨越多个服务器传输数据,所以SQL Server Agent服务的启动帐号应使用域用户帐号。n出版物被复制到分发服务器的“快照文件夹”中。缺省路径为:ServerNameC$Program FilesMicrosoft SQL ServerMSSQLReplData。如图18.12所示第35页,共66页,编辑于2022年,星期六18.

42、7.2 配置分发服务器n当出版服务器和发行服务器为不同的独立服务器时,管理员必须为快照文件夹指定存取权限,否则发布服务器将不能拷贝出版物到发行服务器,而且订阅服务器将不能读取快照文件夹。n如果选择使用SQL Server提供的缺省设置,复制配置向导将完成配置,单击完成按钮,会出现系统正在进行配置的提示画面,等所有设置完成后,分发服务器的配置即结束。配置工作完成后,系统在分发服务器上的创建distribution系统数据库、复制文件夹和复制监视器管理复制。如图18.13所示第36页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n在发布服务器和分发服务器配置完毕后创

43、建出版物,出版物是准备发布的表、表中数据的子集或者其他数据库对象的集合,出版物是订阅的单元。n打开SQL Server企业管理器,选择发布服务器,然后单击运行向导按钮,展开控制台树的【复制】节点启动【创建发布向导】,选定准备发布的数据库,单击【创建发布】按钮,如图18.14所示。第37页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n在【选择发布类型】对话框中,列出了准备实施的复制类型:快照复制、事务复制与合并复制,如图18.15所示。确定要使用的复制类型,单击【下一步】。第38页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n在

44、【订阅服务器的类型】对话框选择订阅服务器类型,如图18.16所示。订阅服务器可以是运行SQL Server 2000、SQL Server早期版本或其他数据源的服务器。第39页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n单击【下一步】,显示【指定项目】对话框,选择要发布对象。发布的项目可以是表中的全部数据或者部分数据,也可以是数据库对象,如存储过程、视图,如图18.17所示。在事务发布中,只允许发布有主键的表。第40页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n单击【下一步】,设定发布的名称和对该发布的描述,如图18.18

45、所示。第41页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n定义发布属性时可以选择接受发布的默认属性,也可以选择定义属性,如筛选数据、启用匿名订阅和设置快照代理程序的调度,如图18.19所示。n选择【是,我将定义数据筛选,启用匿名订阅或自定义其它属性】,继续设定发布表中的某些行或列,指定是否允许名订阅,指定使快照是否立即同步到订阅服务器。单击【下一步】显示【筛选数据】对话框。第42页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n在【筛选数据】对话框中,选择是否需要“垂直筛选发布”或“水平筛选发布”,如图18.20所示。垂直筛选

46、发布是指挑选表中的特定的列发布,水平筛选发布是指使用Where语句限制发布表中的行。第43页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n通过筛选发布数据,如图18.21所示,可以将网络上发送的数据量减到最少,或者根据个别订阅服务器的要求,定制发布项目。由于不同的发布项目可以发送到不同的订阅服务器(不同的订阅服务器不会同时更新同一个数据值),因此可避免或减少冲突。第44页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n设定是否允许订阅服务器匿名订阅发布,如图18.22所示。匿名订阅是请求订阅的一种类型,由订阅服务器负责进行同步处

47、理,有关匿名订阅的订阅和订阅服务器的详细信息不保存在发布服务器。第45页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n设定快照代理程序调度,指定快照代理程序的何时创建新的出版物,并指定是否立即创建第一个快照,如图18.23所示。第46页,共66页,编辑于2022年,星期六18.7.3 配置发布服务器和创建出版物 n单击【下一步】,进入完成发布向导画面,如图18.24所示。用户单击【完成】按钮后,系统开始按照用户在向导中的设定建立出版物,当所有步骤完成后,出版物的配置即结束。第47页,共66页,编辑于2022年,星期六18.7.4 订阅n订阅是对发布到指定订阅服

48、务器的数据或数据库对象的请求。一个订阅服务器可以向不同发布请求的多个订阅。n订阅可以创建于发布服务器(强制订阅)或订阅服务器(请求订阅)。第48页,共66页,编辑于2022年,星期六18.7.4 订阅n强制订阅强制订阅n强制订阅在发布服务器上创建,复制代理程序不经订阅服务器请求即将数据及更新传播给订阅服务器,并且数据更新能够近似实时的移动到订阅服务器。数据更改通常按需或按照反复出现的度强制发布给订阅服务器。强制订阅可以简化和集中订阅管理,不必逐个管理每个订阅服务器。当同步强制订阅时,分发代理程序或合并代理程序运行于分发服务器。n打开SQL Server企业管理器,单击运行向导按钮,展开控制台树

49、的【复制】节点启动【创建强制订阅向导】。选择发行服务器上的出版物,单击【强制订阅】,如图18.25所示。第49页,共66页,编辑于2022年,星期六18.7.4 订阅n创建强制订阅时,有关订阅和订户的信息存储在发布服务器上,首先在发布服务器的企业管理器中注册的订阅服务器,然后才能创建强制订阅。在【选择订阅服务器】对话框选择已经注册过的服务器名称,单击【下一步】,如图18.26所示。第50页,共66页,编辑于2022年,星期六18.7.4 订阅n在【选择目的数据库】对话框,指定接受发布的数据库名称,也可以新建数据保存发布,如图18.27所示。第51页,共66页,编辑于2022年,星期六18.7.

50、4 订阅n指定分发代理程序程序是连续运行,根据调度运行,还是只按需运行。如图18.28所示,如果选择【连续的】,则分发代理在最短的时间内,把出版物的变化更新到目的数据库。如果选择【使用下列调度】,则用户可以设定分发代理在特定的时刻或按照某一时间间隔更新目的服务器。第52页,共66页,编辑于2022年,星期六18.7.4 订阅n配置快照代理程序是否应在订阅服务器上执行初始化工作,以及分发代理程序或合并代理程序是否应自动把初始化数据复制到订阅服务器。如果选择是,那么发布服务器上的发布将立即被复制到订阅服务器,如图18.29所示。n如果初始化数据量非常大,网络速度不是很快时,这个过程可能非常慢,而且

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com