因胸联盟 发表于 2015-1-16 22:25:48

MYSQL编程:设置复制

使用它开发程序也是非常简单的。”在实行复制之前必需对体系举行复制选项的设置,次要包含:
出书者
订购者
分发者
分发数据库
经由过程SQLServerEnterpriseManager供应的CreatePublicationWizard和theConfigurePublishingandDistributionWizard,将会使设置事情变得复杂,敏捷。

16.2.1创立服务器脚色和分发数据库
创立服务器脚色是指在复制过程当中某一服务器是作为出书者、分发者仍是作为订购者S捎SQLServer能够饰演一个或多个脚色,以是我们必需指定由哪一个服务器来饰演哪些脚色。
分发数据库(DistributionDatabase)用来存储复制给订购者的一切事件和出书者与订购者的同步信息。在分发数据库有良多与复制有关的体系表。举行复制前必需起首创立分发数据库(与体系有关的体系表会主动天生),同时指定出书者、出书数据库、分发者、订购者。利用SQLServerEnterpriseManager来创立分发数据库次要按以下步骤:
(1)启动SQLServerEnterpriseManager,选中筹办饰演出书者脚色的服务器。
(2)在主菜单上选择Tools菜单项鄙人拉菜单中再选择Replication选项,选中Configure
Publishing,Subscribers,andDistribution选项,此时会弹出WelcometotheConfigurePublishingandDistributionWizard对话框。如6-5所示。

(3)从中能够得知经由过程该导游可以完成哪些复制设置,单击“下一步”持续操纵,此时弹出SelectDistributor对话框。如6-6所示。

在该对话框中可使用默许选项Make‘XUJIN’itsownDistributor;SQLServerwillcreateadistributiondatabaseandlog来指定以后出书者服务器饰演分发者脚色,若选择此选项,则会在分发者服务器上创立一个分发数据库和日记。假如选择别的一个选项,应当注重被选定的服务器必需已被设置为分发者且已创立了分发数据库。在此利用默许选项,
(4)单击“下一步”,此时弹出ConfigureSQLServerAgent对话框。如6-7所示。选择Yes选项暗示主动启动SQLServerAgent,选择NO选项,则暗示手工启动SQLServerAgent。

(5)单击“下一步”,弹出CustomizetheConfiguration对话框。在该对话框内假如选择默许的选项。即No,usethefollowingdefaultsetting,那末SQLServer将主动设置复制选项,它将把以后服务器作为分发者,分发数据库和事件日记被放在MSSQLdata目次下,一切挂号的服务器都被选为订购者。您也能够选择自界说选项,即Yes,Let’s….选项来对分发者、出书者、订购者、分发数据库举行设置(我们将鄙人一节对其举行详细的先容)。在这里我们选择默许选项。
(6)单击“下一步”,然后在翻开窗口(如6-8所示)中单击“Finish”按钮,此时会弹出一个呈报窗口Configurepublishinganddistributionon‘server_name’来显现创立进度。经由过程该窗口能懂得SQLServer完成了哪些事情。


16.2.2设置复制选项
在创立服务器脚色和分发数据库之,后使用SQLServerEnterpriseManager能够举行复制选项的设置和办理,次要包含:
设置分发选项
设定出书选项
设置出书数据库
设置订购者选项
删除分发者

1设置分发选项
使用SQLServerEnterpriseManager实行设置分发选项的步骤为:
(1)启动SQLServerEnterpriseManager,选中要举行分发选项设置的分发者服务器。

(3)单击标签页上的“New”,按钮将增加新的分发数据库,或利用“Delete”从Distributiondatabase选项栏的Database框当选中删除一个已存在的分发数据库,若要对分发数据库举行属性设置,则起首选中该分发数据库,然后单击Properties按钮,翻开distributionProperties对话框,如6-10所示。

该对话框供应了以下信息:分发数据库称号;在Publishers下的多行编纂框内显现利用该分发数据库的出书者;Transactionretention用来设定事件保留在分发数据库中最短工夫与最长工夫(该选项关于备份和恢复分发数据库很成心义);Historyretention用来设定复制功能汗青纪录的保留在分发数据库的工夫。假如选用的单元为小时,则保留工夫的取值局限为0至9999;假如单元为天,则取值局限为0至416。
(4)单击Agentprofiles选项栏中的Agentprofile按钮,翻开Agentprofilefor“server_name”对话框,如6-11所示。

该对话框用来对复制代办署理快照(代办署理日记、浏览代办署理、分发代办署理、兼并代办署理、浏览日记代办署理)运转参数举行设置。当创立复制代办署理时,将天生与其相干的Agentprofile,它由分发者保护。复制代办署理每次启动时都要从Agentprofile中读失信息,来断定本人的运转体例。经由过程Copy按钮,能够创立新的Agentprofile;经由过程ViewDetails能够检察或修正各参数的值,如6-12所示;经由过程Delete能够删除Agentprofile。

2设置出书选项
在设置完分发选项后,就能够设置出书选项来指定哪一个出书者将利用已创立的分发者和分发数据库。SQLServer同意多个出书者利用统一个分发数据库。假如出书者是一台远程服务器,那末它必需有会见分发数据库的权限。利用SQLServerEnterpriseManager来同意出书者利用分发数据库的步骤以下:
(1)启动SQLServerEnterpriseManager,选平分发者服务器。
(2)在主菜单当选择Tools,鄙人拉菜单当选择Replication,然后选择ConfigurePublishing,SubscribersandDistribution选项,此时会翻开PublisherandDistributorProperties对话框,选中Publisher标签。如6-13所示。
(3)经由过程选中Server表格内的空缺框来指定该出书者是不是利用以后分发数据库。
(4)单击分发数据库旁的方框按钮,翻开如6-14所示的出书者属性设置对话框。举行别的选项的设置。

假如分发者上有多个分发数据库,则应为出书者选择一个分发数据库。在Snapshotfolder设置出书物快照文件寄存的地位。假如关于出书者来讲,该分发者是远程的,则必需包管运转在出书者上的快照代办署理具有会见分发者快照文件的权限。
若分发者服务器运转在NT平台上,在默许情形下,快照文件存储路径为<computer><driver>MicrosoftSQLServerMSSQLReplData。
若分发者服务器运转在Window95/98下,则快照文件的存储路径为<computer><driver>MicrosoftSQLServerMSSQLReplData。假如接纳拉订购形式,则快照文件必需存储成收集路径格局。如许运转在订购者和出书者上的复制代办署理才干准确地会见快照文件。

3设置出书数据库
在为出书者指定分发数据库以后还必要设定用于出书的数据库,然后才干在出书数据库上创立出书物。设定一个用于出书的数据库必要实行以下步骤:
(1)启动SQLServerEnterpriseManager,选平分发者服务器。
(2)在主菜单当选择Tools,鄙人拉菜单当选择Replication,然后选择ConfigurePublishing,SubscribersandDistribution选项,此时会翻开PublisherandDistributorProperties对话框,选中PublicationDatabase标签。如6-15所示。

(3)在Database下的表格内单击Trans或Merge列下的复选框来设定出书数据库是用于事件复制仍是兼并复制。
固然也能够经由过程复选框来克制某一数据库来出书出书物。假如某一出书数据库被克制出书,那末在该数据库中已创立的出书物将被删撤除。

4设置订购选项
当设置完分发数据库选项和出书举动选项后,就必需设置订购者,以让其晓得从那里吸收复制数据。利用SQLServerEnterpriseManager使上一个远程服务器饰演订购者脚色需实行以下步骤来举行选项设置:
(1)启动SQLServerEnterpriseManager,选平分发者服务器。
(2)在主菜单当选择Tools,鄙人拉菜单当选择Replication,然后选择ConfigurePublishing,SubscribersandDistribution选项,此时会翻开PublisherandDistributorProperties对话框,选中标签。如6-16所示;
(3)在Subscribers下的表格中单击复选框来指定某一远程服务器饰演订购者脚色。

(4)单击EnableAll,则表格中所列出的一切服务器都作为订购者从出书者吸收复制数据;单击EnableNone,则克制表格中服务器从出书者吸收复制数据;单击New暗示增加新的订购者,将翻开EnableNewSubscriber对话框。如6-17所示。
增加新的订购者时,能够增加SQLServer订购者,也能够增加异构订购者。SQLServer撑持三种异构订购者,它们是:
SQLServerdatabase
MicrosoftAccess
ODBC数据源
OLEDB数据源

在利用异构订购者前必需起首创立响应的数据源。分歧的非SQLServer数据源有分歧的创立请求和限定,好比,是不是包括用户名,对数据范例的撑持局限分歧。别的,还应注重以下几点:
在一般情形下非SQLServerODBC数据源只能作为订购者;快照复制和事件复制合用于一切非SQLServer订购者;异构订购者只能利用推订购的体例。
(5)假如其实不盘算增加新的订购者,则不用实行step4。经由过程单击表格中订购者右侧的方框按钮可翻开订购者属性对话框,对别的属性项举行设置。如6-18所示。

在该对话框内显现订购的范例(SQLServerODBCOLEDB),和关于订购的形貌信息。在AgentconnectiontoSubscriber下的选项栏中,经由过程选中单选按钮设置复制代办署理日记写进订购者时的平安认证形式和设置。假如选择ImpersonatetheSQLServerAgentAccounton‘XUJIN’(trustedconnection)选项,则暗示使用出书者上SQLServerAgent账号来举行认证,默许情形下利用该设置。UseSQLServerAuthentication暗示利用SQLServer认证形式,此时请求经由过程输出账号和暗码来创建一个信托毗连。

(6)选中schedules标签,呈现如6-19所示的对话框。
利用该对话框来设置分发代办署理或兼并代办署理运转的缺省工夫。在默许情形下为continuously。若选择atthefollowingscheduledtimes,则单击change按钮会翻开editrecurringjobschedule对话框。如6-20所示。在该对话框可对代办署理运转的时分表举行设置。



16.2.3删除复制设置信息
能够对复制设置,固然也能够使这些复制选项的设置有效。在SQLServer中DisablePublishingandDistributionWizard能够匡助我们完成这一义务,并且只需禁用分发者即可以对复制发生以下影响:
在分发者上的分发数据库将被删除;
一切利用该分发者的出书者服务器将损失出书者脚色,而且出书者的一切出书物被删除;
一切订购也被删除。

假如此导游能登录到出书者,则在禁用出书者之前会删除一切出书物;假如不克不及,则固然禁用出书者可是出书数据仍存在于之前的出书者上,必需利用手工操纵来删除。
利用SQLServerEnterpriseManager来禁用一服务器饰演分发者脚色需实行以下步骤:
(1)启动SQLServerEnterpriseManager,选平分发者服务器。
(2)在主菜单当选择Tools,鄙人拉菜单当选择Replication,然后选择DisablePublishing….选项,此时会翻开DisablePublishingandDistributionWizardStartup对话框,如6-21所示,从中能够看到该导游可以完成哪些功效。
(3)单击“下一步”按钮,翻开DisablePublishing对话框。如6-22所示。在该对话框内假如选择Yes,DisablePublishingon…..选项,则会禁用分发者和出书者,而且删除分发数据库和出书者上的出书物(在有些情形下仍保存分发数据库)。单击“下一步”按钮,SQLServer将按请求实行相干处置。假如选择No,Continuetouse“distributor”asadistributor选项,则不会举行任那边理。
(4)单击“下一步”按钮,SQLServer将按请求实行相干处置,同时弹出一个举行对话框,如6-23所示。
(5)经由过程单击“Cancel”能够作废操纵,单击“Finish”,完成全部导游。
MySQL对硬件的较低要求是其最大的优势之一,不过需要注意的是:内存越多越好,因为所有的重要数据存储都在内存中完成。

透明 发表于 2015-1-19 11:39:13

无法深入到数据库系统层面去了解和探究

简单生活 发表于 2015-1-28 06:25:18

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

小魔女 发表于 2015-2-13 07:45:47

再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。

飘飘悠悠 发表于 2015-3-3 19:21:34

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

仓酷云 发表于 2015-3-11 13:01:04

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

小妖女 发表于 2015-3-18 20:20:56

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

深爱那片海 发表于 2015-3-26 15:26:16

对于微软系列的东西除了一遍遍尝试还真没有太好的办法
页: [1]
查看完整版本: MYSQL编程:设置复制