仓酷云

标题: MSSQL编程:SQL Server 2000之日记传送功效 [打印本页]

作者: 活着的死人    时间: 2015-1-16 22:40
标题: MSSQL编程:SQL Server 2000之日记传送功能
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。server
SQLServer2000之日记传送功效-形貌(1)

脚色变动、脚色交换、和监控服务器地点地位

当线上数据库停摆时(多是企图内保护事情,或是预期外的情况),假如另有备援服务器上的数据库可供存取,您大概会对照放心一点。一个计划优秀的日记传送体系(将数据库买卖日记文件从次要服务器传送到备援服务器)便可赐与您如许的自傲心。内建于SQLServe2000企业板与开辟版的EnterpriseManager工具程序即撑持日记传送功效。

脚色变动

将日记从次要服务器传送到主要服务器以后,您可在需要时以主要服务器置换失落次要服务器。假如次要服务器产生成绩,或是企图性停摆(比方晋级硬件或安装修改程序),线上数据库就必需中断服务一段时代。此时您能够变动主要服务器上数据库之脚色,让它代替次要服务器以后进而成为线上数据库。SQLServer2000线上手册(BooksOnline,BOL)将此项操纵称为日记传送脚色变动(logshippingrolechange)。在日记传送历程里,主要服务器需设定在没法回复(nonrecovered)形态,因而买卖日记才干从次要服务器回存到主要服务器(一但您将数据库回复,就不克不及再回存买卖纪录)。变动脚色时,您需将主要服务器的数据库予以回复,并标示其为新次要服务器数据库。您也能够将旧次要服务器数据库设定为新主要服务器数据库。假如旧次要服务器数据库并未破坏,那末就能够在新次要服务器与旧次要服务器(已酿成新主要服务器)之间从头建置日记传送功效。这类切换体例我们称为脚色交换(rolereversal)。

这些操纵指引可订正为六个基础步骤,分离为:1、转移与汇出登进帐号,2、升级(demote)次要服务器,3、晋级(promote)主要服务器,4、关照监控服务器脚色已变动,5、在主要服务器上剖析登进帐号,6、和保持数据库存取与权限。

步骤1:转移与汇出登进帐号起首,BOL倡议您创建一个SQLServer2000DTS封装(package),用来将次要服务器的登进帐号转移到主要服务器,且实行各服务器间登进帐号SID之剖析举措。转移登进帐号所用的DTSTransferLoginsTask只能在SQLServer2000DTSDesigner内利用。您可在次要服务器上创建与贮存DTS封装,然后呼唤dtsrun.exe设定该封装的实行体例—透过次要服务器SQLServerAgent的事情(job)。该封装实行时会将登进帐号从某服务器传送到另外一服务器,可是它其实不会剖析其登进帐号的SID(在稍后步骤中会申明为什么需剖析登进帐号)。但是,为了在稍后能顺遂剖析登进帐号,您必需先创建一个档案,其内包括次要服务器syslogins材料表的汇出材料。

汇出登进帐号到主要服务器时,BOL倡议您创建一个两阶段的SQLServerAgent事情:利用bcp汇出,和复制登进帐号。在第一个步骤,您将利用原始形式的bcp将登进帐号汇出至某个档案。而在第二个步骤里,您必需将登进帐号复制到主要服务器的某个档案,以便稍落后行脚色变动时可用来剖析登进帐号。在步骤5您将利用sp_resolve_logins预存程序往剖析主要服务器上登进帐号的SID。该事情创建完成后,就能够按期地实行(比方每晚实行一次)。云云一来主要服务器大将随时保存最新的登进帐号汇出文件,以便举行日记传送脚色变动。

步骤2:升级次要服务器为了让次要服务器不再是日记传送体系的材料来历,您必需将它”升级”。您能够升级次要服务器的来历数据库,让它酿成潜伏的主要服务器。然后在次要服务器上实行sp_change_primary_role预存程序,目标是移除原有日记传送功效。程序代码列表1显现该预存程序怎样把Pubscopy日记传送数据库从读/写形式变动成只读备援形式,筹办随时承受买卖日记之备份材料。该预存程序经过数个步骤后会在日记传送企图内删除次要服务器数据库。传进的参数将告之预存程序需实行以下事情:备份比来一次的买卖日记、停止数据库内一切利用者联机、将数据库设定在备援形态与多利用者存取层级。预存程序的回传代码将标示BACKUPLOG叙说句是不是乐成实行。

程序代码列表1:将日记传送数据库从读/写形式升级成只读形式之预存程序。
USEmaster
GO
EXECmsdb.dbo.sp_change_primary_role
@db_name=Pubscopy,
@backup_log=1,
@terminate=1,
@final_state=3,
@access_level=1

步骤3:晋级主要服务器下一个步骤是把今朝主要服务器晋级成回复形态(recoveredstate),如许它才干代替本来的线上数据库,且酿成潜伏日记传送次要服务器数据库。在主要服务器上,假如您已确认无任何利用者持续存取数据库,就能够实行sp_change_secondary_role预存程序,如程序代码列表2所示:

程序代码列表2:将主要服务器数据库晋级成次要服务器数据库之预存程序。
USEmaster
GO
EXECmsdb.dbo.sp_change_secondary_role
@db_name=Pubscopy,
@do_load=1,
@force_load=1,
@final_state=1,
@access_level=1,
@terminate=1,
@keep_replication=0,
@stopat=null

这些参数将促使该预存程序实验将一切残剩的买卖日记文件从本来次要服务器复制到主要服务器,并将这些日记文件加载主要服务器数据库。参数@do_load=1会举行比来一次备份,并加载一切买卖日记文件;参数@force_load=1是在实行sqlmaint.exe时指定还没有文件化的Forceload选项;参数@final_state=1将新次要服务器数据库设定为回复形式;参数@access_level将存取体例设回先前多利用者形态。参数@terminate=1则促使该预存程序中止一切利用者的数据库存取举措—体例是实行ALTERDATABASE共同IMMEDIATE选项。但是,假如实行此预存程序时,您本人的EnterpriseManager与数据库间联机处于开启形态,ALTERDATABASE举措将会失利。以是您必需以手动体例确认是不是已将一切数据库联机予以中止。最初,假如该数据库被设定为数据库复写(replication)之出书者数据库(publisher),那末@keep_replication=0参数将仍旧保持服务器上一切复写设定。

假设您曾选择让主要服务器成为将来潜伏的次要服务器,则数据库保护企图会在主要服务器上建置一个买卖日记备份事情(SQLServerAgent的transaction-logbackupjob)。该事情激活以后,买卖日记备份文件就会入手下手呈现在新次要服务器。您必要这些档案往从头设定将日记传送回新主要服务器。


Step4:关照监控服务器脚色已变动SQLServer2000的日记传送会在监控服务器上安装监控工具程序;最好是在第三台服务器。为了关照监控服务器日记传送的脚色已过变动,您必需在监控服务器上实行sp_change_monitor_role预存程序,如程序代码列表3所示。只管称号内含有change字眼,但它其实不会变动监控服务器的脚色。相反地,此预存程序会变动次要/主要服务器内档案分享所参照(reference)的地位。意义是说:监控服务器log_shipping_secondaries材料表内本来参依旧主要服务器的材料会被删除。而在log_shipping_primaries材料表内则是将旧次要服务器称号变动为新次要服务器称号。此预存程序其实不会将材料新增到log_shipping_secondaries材料表,由于新的配对服务器今朝还没有建置。

程序代码列表3:将脚色交换了局关照监控服务器之预存程序。
USEmaster
GO
EXECmsdb.dbo.sp_change_monitor_role
@primary_server=oahuql2k_1,
@secondary_server=oahuql2k_2,
@database=Pubscopy,
@new_source=oahuql2k_2

步骤5:在主要服务器上剖析登进帐号您必需先在新次要服务器上剖析旧次要服务器登进帐号,利用者才能够存取新次要服务器;体例是利用步骤1所汇出之登进帐号档案。此汇出档案可被sp_resolve_logins预存程序所读取,然后剖析各服务器间SID的差别。举例来讲,程序代码列表4树模怎样在新回复的Pubscopy数据库上实行sp_resolve_logins预存程序,往剖析本来的登进帐号。BOL文章曾教训您必需在目标数据库内才干实行该预存程序。现实上,sp_resolve_logins利用了非完全式参照(unqualifiedreference)指向syslogins视不雅表,以是您必需在master数据库内才干实行此预存程序!

程序代码列表4:在主要服务器上剖析登进帐号的预存程序。
USEmaster
GO
EXECsp_resolve_logins
@dest_db=Pubscopy,
@dest_path=d:,
@filename=syslogins.dat

步骤6:保持数据库存取与权限BOL关于脚色变动的相干会商仅止于步骤5,可是它疏忽一个主要步骤:在"数据库存取权限"与"转移后登进帐号"之间举行和谐举措。为了在新次要服务器外线上数据库,将移转后已剖析的登进帐号保持至绝对应的数据库利用者及其权限,您必需实行针对每一个登进帐号实行一次sp_change_users_login预存程序。

USEpubscopy
GO
EXECsp_change_users_loginUpdate_One,UserName,LoginName

实行该预存程序可确保SQLServer登进帐号可以准确地保持绝对应的数据库利用者称号。

到此为止,您已乐成地将主要服务器晋级为新的脚色,而旧次要服务器也早已酿成主要服务器。但是,您仍旧还没有建置新的日记传送干系。您完成的只是脚色变动,而不是脚色交换。

脚色交换
为了告竣完全的日记传送脚色交换,您只需在新次要服务器与新主要服务器之间从头设定一第二天志传送便可。由于新次要服务器已内含极新的数据库保护企图,您将会偏向在保护企图内间接到场新主要服务器,做为目标服务器。但是经由屡次实验以后,我发明新次要服务器的"买卖日记备份事情"老是会失利,而且日记也不会重新次要服务器传送到新主要服务器。

以是,您必要别的一种办法。您在实行过日记传送脚色变动的预存程序,和先前我具体申明的步骤后,就能够间接告竣完全的脚色交换-在新次要服务器与新主要服务器之间建置一份新的日记传送企图。为了建置该企图,您需遵守以下步骤:
1.在新次要服务器的数据库保护企图内移除日记传送功效。
2.在次要服务器上删除数据库保护企图。
3.在主要服务器上删除数据库保护企图。
4.保持一切买卖日记文件。
5.在新次要服务器上创建一个新的数据库保护企图,指定新主要服务器地点、目标数据库地位、和买卖日记文件之得当寄存地位,好像我在Part1所先容的内容。
6.从头入手下手新次要服务器的一切举动。

在您乐成设定脚色交换且建置新日记传送配对服务器以后,EnterpriseManager的日记传送监督器大概会告诉您新主要服务器数据库并未与新次要服务器数据库获得同步(outofsync)。假如"比来一次加载的买卖日记"与"比来一次备份的买卖日记"之间的工夫差凌驾了out-of-sync设定值,您就会收到此呈报。直到比来一次的备份材料被加载以后,日记传送监督器就会回到寻常无毛病形态。

日记传送监督器地点地位

Microsoft激烈倡议将日记传送监督器置放于自力服务器上。云云一来,不管次要服务器或是主要服务器实行事情失利时,该监督器城市送出警示(alert)。假如监督器位于次要或主要服务器个中之一,呈报了局将取决于监督器地点服务器。假如监督器地点服务器因故停摆,它将没法持续报答大概的毛病情形。以是,要让监督器自力报答日记传送体系内次要或主要服务器上大概产生的成绩,赐与监督器一台自力服务器是较佳的实作体例。别的,也能够利用这台自力的监控服务器往监控别的日记传送配对服务器。

假如没有别的服务器可安装监控程序,而必要放在次要或主要服务器个中之一。事实应当把日记传送监督器放在哪台服务器呢?由于重点是想侦测次要服务器上大概产生的日记传送成绩,以是放在主要服务器对照妥善。假如将日记传送监督器放在次要服务器上,当次要服务器停摆时,您就没法利用该监督器,监督器也没法在日记传送产生成绩时送出警示。以是呢,假如只要两台服务器可以使用,主要服务器为置放日记传送监督器较佳的地位。某些时分,为制止劫难产生时影响主要服务器,必需将买卖日记从某一实体地位传送到另外一个中央(大概有一段间隔)。在此情形下,日记传送监督器最好放在别的中央的自力服务器,让劫难产生时不至于影响次要与主要服务器。




日记传送功效可主动复制数据库的买卖日记文件,并回存到备援服务器(standbyserver)的别的一个数据库。因而可年夜幅进步SQLServer数据库之可用性。由于备援数据库完全地吸收来历数据库的异动情形,以是它就是一份来历数据库的复本-不同仅在于材料复制与加载历程所发生的工夫差。但是,当次要服务器停摆时,您就能够将备援服务器变动为新的次要服务器。假如本来的次要服务器可从头上线利用,那末您能够将其设定为新的备援服务器-现实上就是对换两台服务器的脚色。

在SQLServer2000企业版或开辟版当中,Microsoft在EnterpriseManager内供应了一项日记传送(LogShipping)的功效-为数据库保护企图精灵的个中一部分。在利用之前的SQLServer时,您必要自行创建日记传送体系。

设定日记传送

次要服务器(primaryserver)便是实践处置材料的正式服务器;此服务器内具有来历数据库。主要服务器(secondaryserver)上寄存目标数据库,用来复制与回存来历数据库的买卖日记文件。监控服务器(monitorserver)用来监控次要服务器与主要服务器。与SQLServer7.0分歧的是(SQLServer7.0是在主要服务器上监控日记传送举措),SQLServer2000利用EnterpriseManager的日记传送监控工具来监控每组传送中的日记材料。Microsoft倡议您在别的一台监控用服务器安装这个工具程序。

您能够使用EnterpriseManager的数据库保护企图精灵设定SQLServer2000的日记传送。可是在您激活精灵之前,您必需先辈行某些筹办事情。一入手下手请先遵守以下步骤:
1.决意一组要设定日记传送的服务器(克日志传送历程当中,次要服务器与主要服务器为什么)。
2.选择一台监控服务器。最好分歧于次要服务器或主要服务器。
3.设定一切服务器之平安性。您用来设定日记传送的Windows帐号必需具有一切服务器上SQLServer体系办理者(sa)的权限。
4.在次要/主要服务器上创建分享材料夹。起首,未来源数据库买卖日记文件地点的目次设定为分享目次。接着在主要服务器上,将您盘算回存买卖日记文件的目次也分享出来。为了分明分辨各分享目次,请在分享称号内说明服务器与数据库之称号。假如分享目次称号已存在,您大概必要从分享目次中删除或是搬移别的档案,出格是旧的日记备份文件。然后再将这些分享目次的权限开放给每台服务器上SQLAgent所利用的Windows帐号。
5.决意怎样创建并初始化目标地数据库。您能够在日记传送设定历程就先创建与初始同步化目标地数据库,不然您必需手动举行初始数据库之回存举措。
6.在EnterpriseManager注册此三台服务器(即次要、主要与监控服务器)。
在您完成这些筹办举措时,您就能够筹办激活数据库保护企图精灵来设定日记传送。您能够先检视日记传送历程的五个一连步骤,如所示:


:SQLServer2000日记传送的设定步骤。

前两个为选择性(optional)步骤。假如您还没有同步化来历与目标数据库,则步骤1会为您先备份来历数据库,然后实行同步化举措。在步骤2时,精灵会将备份文件复制到主要服务器,并回存到目标地数据库。
精灵必定会实行其他三项步骤。在步骤3时,精灵将在次要服务器上创建一个SQLAgent事情(job)。此事情将会周期性地把买卖日记文件内容备份到磁盘档案内。精灵也会在主要服务器上创建一个传送日记的数据库保护企图;此计画包括两个SQLAgent事情:一个是将买卖日记文件复制到主要服务器(步骤4),另外一个则是将买卖日记文件回存到目标数据库(步骤5)。这些步骤将创建一组日记传送服务器(相互有日记传送干系的两个数据库)。假如您想要分外供应容错功效或是设定一台报表服务器,那末您能够将次要服务器与别的一台主要服务器组合在一同,再设定一组日记传送配对服务器。

筹办事情
1.筹办PrimaryServer(以下为Ztao-1)及SecondaryServer(以下为IntronTest)
2.将要作LogShipping的数据库(以下为IntronERP)之复原模子(RecoveryModel)设定为完全(FULL)。

3.将两台盘算机的SQLServer服务账号到场Administrator群组
4.创建PrimaryServer备份Log的数据夹
a.创建C:Logfile,以寄存PrimaryServer数据库TransactionLog的备份
b.将C:Logfile作数据分享,分享目次的权限开放给SQLAgent所利用的Windows帐号。
5.创建SecondaryServer复原的数据夹(在SecondaryServer)
a.创建C:hippedlog数据夹以寄存从PrimaryServer传送过去的Transactionlog的备份
b.创建C:Logfile数据夹,当脚色互换后,可寄存新PrimaryServer的数据库TransactionLog
c.将C:Logfile数据夹作资本共享,分享目次的权限开放给SQLAgent所利用的Windows帐号。
6.在PrimaryServer中,新增SecondaryServer的注册信息






慢慢设定

在PrimaryServer中,设定StandbyServer及Logshipping
1、开启EnterpriseManager,由工具中点选数据库保护企图


2、接待画面:


3、拔取数据库:勾选Logshipping


4、更新数据最好化信息:保持预设,不必选择!


5、数据库完全性反省:保持预设,不必选择!


6、指定命据库备份企图:一样平常不必选择!

7、指定买卖纪录文件备份磁盘目次:贮存备份文件的目次指向PrimaryServer上寄存材料日记文件的目次地位!


8、指定买卖纪录共享:在此窗口中您必需指定主服务器上的分享目次称号。能够按下【…】按钮后扫瞄目次称号。


9、指定纪录传送目标地:点选【Add】按钮后可开启『新增目标数据库』对话框


10、新增目标数据库:输出一切SecondaryServer的相干信息


【伺服务器称号】下拉式选单会列出您在先前筹办事情中曾使用EnterpriseManager所注册的SecondaryServer称号。在【目次】笔墨字段里,请输出SecondaryServer的目次称号,用以吸收来历数据库买卖日记文件复本;此称号为当地端路径称号,而不是分享目次称号。
有关数据库的加载形态,您有两种选项能够设定:不回复形式(Norecoverymode)与待命形式(Standbymode)。所谓的『不回复形式』暗示利用者将没法举行材料查询,独一可实行的举措只要回存买卖日记文件。而『待命形式』则是将数据库设定成只读形态;只需不是在回存数据库的时分,您都能够查询材料。窗口内另有一个【停止数据库中的利用者(倡议选项)】选项,会在回存数据库或是回存买卖日记文件时产生举措。在回存数据库或是买卖日记文件时,『回存程序』将是数据库内独一的利用者。以是,Microsoft倡议您勾选此选项,不然别的利用者大概会影响回存举措的举行。

11、指定纪录传送目标地:该设定完成。


12、初始化目标服务器:能够选择比来一次的备份材料;或是创建一份新的备份材料。对年夜型数据库而言,利用既有的备份材料会对照无效率。但是,从那次备份以后的一切买卖日记文件都必需存在于次要服务器上买卖日记文件的分享目次当中,精灵才有举措复制与回存到主要服务器。假如数据库不是很年夜,那末让精灵发生新的备份将会对照复杂。


13、纪录传送排程:能够设定来历数据库上买卖日记文件的备份频次;也能够设定主要服务器上SQLAgent事情(由精灵创建的,用来复制与加载买卖日记文件)的频次。日记传送的频次可大略设定为一分钟一次;但以年夜型数据库来讲,五分钟一次是对照广泛的选择。


14、纪录传送临界值:针对买卖日记文件备份举措,和复制与回存事情,设定公道的提早工夫。当凌驾临界工夫时,日记传送监控程序对话框将会呼应一个警示讯息。


15、指定纪录传送监督服务器信息:这里大概会间接利用默许值,可是预设监控服务器是设定为次要服务器。一样平常来讲,不会把次要或主要服务器看成监控服务器,这是由于假如个中一台服务器妨碍停摆时,将没法得知今朝日记传送的形态为什么。


16、发生呈报:倡议将呈报存到你Log的目次下,大概专门寄存有关LogShipping的Log的目次下,便利堕落时查找缘故原由!


17、保护企图过程纪录:在SecondaryServer上也保留一份纪录。



18、设定LogShipping名字


19、按下【完成】吧!此时精灵会主动从次要服务器与主要服务器之间设定日记传送举措,而且在监控服务器上设定日记传送监控程序。






您可使用数据库保护企图之【属性】对话盒来变动日记传送相干设定。在【买卖纪录文件备份】设定页供应的选项可变动日记传送过程当中买卖日记文件备份的组态。


【纪录传送】设定页显现出您先前在保护企图内设定的日记传送配对服务器;假如您设定了别的组日记传送配对服务器,也会列在此处。本设定页也包括以下选项:新增目标数据库(用以创建新的日记传送配对服务器)、删除既有日记传送配对服务器、编纂今朝的日记传送配对服务器之属性,和移除全部日记传送功效。


当您在【纪录传送】设定页当中点选【编纂】时,将开启【编纂目标数据库】对话盒。您能够在对话盒内【一样平常】设定页检视与修正主要服务器的买卖日记文件之目次地位,和将来做为次要服务器时分享目次之路径。【初始化】设定页则可以让您变动回复形式,和主要服务器上复制与回存之频次。【临界值】页能够设定日记传送之临界周期。



在【超越同步临界值】项目可设定:当日记传送监控程序发生警示讯息之前所能同意的最年夜工夫距离(介于比来一次来历数据库买卖日记文件备份和最新的买卖日记文件回存举措之间)。您也能够在日记传送监控程序当中设定此参数。【在进工夫提早】、【档案保存刻日】和【过程纪录保存刻日】则是与主要服务器相干的设定。

注:监控服务器在这些组态选项中饰演相称主要的脚色。由于【纪录传送】设定页的年夜部分信息取决于监控服务器,以是一但监控服务器停摆时,您将没法变动日记传送的组态设定值。在监控服务器实行SQLServer2000Profiler时,次要服务器会连到监控服务器,然后从日记传送材料表中获得既有的日记传送企图。因而,要改动日记传送企图的设准时,您必需断定在EnterpriseManager内能够毗连到监控服务器。

反省与监控日记传送举措

SQLServer2000的日记传送功效还供应了一项日记传送监控程序,可以让您安装在另外一台自力监控用服务器。
在SQLServer企业版与开辟版的msdb数据库中共有七个关于日记传送的材料表:
log_shipping_plans
log_shipping_plan_databases
log_shipping_databases
log_shipping_plan_history
log_shipping_monitor
log_shipping_primaries
log_shipping_secondaries

上述每个材料表都存在于次要、主要和监控服务器上。各服务器也会利用某些材料表贮存材料,视该服务器在日记传送体系的脚色为什么。

在次要服务器上检视日记传送举措从EnterpriseManager里,您能够登进次要服务器,并察看与监控日记传送举措。假如某个数据库已设定要举行日记传送,在数据库【内容】对话盒的【一样平常】页可得知该数据库的脚色(来历数据库;或是目标数据库),也可晓得日记传送监控程序是位于那一台服务器上。您能够在EnterpriseManager内SQLServerAgent的【功课】节点,检视日记传送与买卖日记文件备份事情所实行的形态与汗青记录。次要服务器只利用msdb数据库的两个日记传送材料表。在log_shipping_databases材料表中,SQLServer新增的每笔材料将会把数据库保护企图ID和日记传送来历数据库保持在一同。在log_shipping_monitor材料表中,SQLServer新增的每笔材料包括了监控服务器的称号,和登进数据库的体例。

在主要服务器上检视日记传送举措日记传送企图存在于主要服务器。您可在主要服务器监控SQLAgent事情(复制买卖日记文件到主要服务器,并回存至目标数据库)。您也可检视目标数据库的属性对话盒,以决意该数据库在日记传送历程所饰演的脚色。

在主要服务器上,SQLServer利用msdb数据库的四个日记传送材料表。当SQLServer创建一个日记传送企图以后,它会新增一笔材料到log_shipping_plan材料表,用以记录:次要与主要服务器的称号、档案地位、复制与回存事情ID(来自于主要服务器之sysjobs体系材料表)。在log_shipping_plan_databases材料表,SQLServer会保持保护企图和来历/目标数据库称号,并且贮存最初一次举行档案复制与加载举措的相干信息。log_shipping_plan_history材料表则是将每第二天志传送的复制与回存事务记录上去,连同该事情是不是乐成的信息。SQLServer也会新增一笔材料在log_shipping_monitor材料表,用以参照监控服务器。

假如您勾选了【Allowdatabasetoassumeprimaryrole】复选框,您将在主要服务器上看到一个主要的分外项目:另外一个数据库保护企图(与您先前所创建的保护企图称号不异),可是并没有激活日记传送。您也会看到一个非感化中(disabled)的SQLAgent事情(备份该数据库的买卖日记)。大概您会被这些项目所搅浑。只管它们的名字不异,可是此分外发生的保护企图却分歧于现在所创建的谁人。SQLServer保存第二个逆向保护企图是为了今后大概产生的次要/主要服务器脚色对换举措所筹办。

在监控服务器上检视日记传送举措当您准确设定日记传送以后,SQLServer会激活监控服务器上EnterpriseManager的日记传送监控工具程序。别的,SQLServer会创建两个SQLAgent警示事情(alertjob):一个用来实行事情,另外一个处置out-of-sync情形。

利用监控工具程序的体例是,开启EnterpriseManager并连至监控服务器,睁开【Management】节点,然后点选【纪录传送监督器(LogShippingMonitor)】。当您点选此工具程序时,其内会列出日记传送配对服务器的清单。您可在配对服务器上按下鼠标右键,检视其备份、复制与回存等事情的实行汗青记录。这些汗青记录非常有效,由于您从这里失掉的毛病讯息会比从主要服务器上(SQLAgent复制与回存事情)失掉的更加细致。
如图所示:当您开启配对服务器之属性对话盒,并进进【Status】设定页时,您可检视此配对服务器实行备份与回存程序之形态。


其形态(Status)能够是Normal或是Out-of-Sync。假如SQLServerAgent还没有复制或回存买卖日记文件,对话盒内将会显现日记文件名为first_file_000000000000.trn。这并非实践的文件称号,只不外是用来标示SQLServerAgent还没有处置任何档案罢了。在【Status】设定页也会显现备份、复制和加载(回存)等举措实行时所泯灭的工夫。此设定页之信息不会主动更新,以是您必需将此对话盒封闭后再开启,才干更新其材料。

SQLServer只利用msdb数据库内两个材料表来贮存日记传送服务器之相干材料。SQLServer在这两个材料表中都赐与一个ID做为保持,和一个外来键(foreignkey)。该外来键是设定在log_shipping_secondaries材料表上,并参照log_shipping_primaries材料表的primary_id字段(这两个是一切日记传送材料表中独一具有外来键干系的材料表)。在log_shipping_primaries材料表内的每笔材料都包括日记传送的相干信息,比方:来历数据库称号、买卖日记文件备份事情实行之形态,和已计划的停摆信息(可制止不用要的警示讯息)。而log_shipping_secondaries材料表之每笔材料关于目标数据库之信息;每一个目标数据库从属于特定的日记传送来历数据库。这两个材料表相互保持的了局就是日记传送监控程序内所显现的配对服务器信息。

移除与从头组态日记传送功效

假如您想从数据库保护企图中移除日记传送功效,可参考以下体例:开启该企图的属性对话盒,选择【纪录传送】设定页,然后点选【移出纪录传送】。此举措将从主要服务器上移除SQLServerAgent的备份与回存事情,并扫除日记传送材料表内的一切相干材料。别的,日记传送监控程序的相干信息也会一并被扫除。但是此举措将会得当地保存次要服务器上SQLServerAgent的买卖日记备份事情。只要在删除数据库保护企图时,该事情才会被移除。假设您想从监控服务器内移撤除日记传送监控程序,请用手动体例将log_shipping_primaries与log_shipping_secondaries这两个材料表(位于监控服务器的msdb数据库)的材料删除便可。




假如您在数据库保护企图内设定日记传送时,就已同意目标数据库能够做为新的日记传送来历数据库。当您删除次要服务器的保护企图时,主要服务器上仍旧会保存其数据库保护企图,和买卖日记文件备份事情。删除这些项目标体例是将主要服务器上与日记传送相干的数据库保护企图间接删除。






SQLServer2000之日记传送功效
大概l生的e`

1、剩余数据
当您举行SQLServer2000日记传送的实行时,大概偶而会中止设定历程。假如真是云云,那末某些材料仍旧会存进每台服务器的日记传送材料表,而且影响到后续的日记传送设定举措。为了包管这些残剩材料城市被扫除,请的确删除每台服务器msdb数据库内日记传送材料表之相干材料。

毛病信息:
Error14261:Thespecifiedprimary_server_name.primary_database_name(N)alreadyexists.
Error14426:Alogshippingmonitorisalreadydefined(...)


处置办法:
必需手动实行上面几个存储历程来删除LogShipping在数据库中纪录的信息。
1、sp_delete_log_shipping_primary
删除msdb.dbo.log_shipping_primary表中的PrimaryServer信息
2、sp_delete_log_shipping_plan
删除LogShipping企图
3、sp_delete_log_shipping_secondary
删除msdb.dbo.log_shipping_secondaries表中的SecondaryServer信息
4、sp_remove_log_shipping_monitor
删除LogShipping监督从表msdb.dbo.log_shipping_monitor

2、数据库的形式
假如准确设置了LogShipping,可是没有举措一般实行,在SQLServer的日记中能够看到相似这个信息和界面:

Microsoft(R)SQLMaintUtility(Unicode),VersionLoggedontoSQLServerZTAO-1asZTAO-1Administrator(trusted)
StartingmaintenanceplanLOG_Plan_9on2003-9-414:42:02
BackupcannotbeperformedondatabaseERPLogShipping.Thissubtaskisignored.
Deletingoldtextreports...0file(s)deleted.
EndofmaintenanceplanLOG_Plan_9on2003-9-414:42:02
SQLMAINT.EXEProcessExitCode:1(Failed)



多是你没有准确设置数据库的形式,完全形式。




3、Log文件寄存路径

在MSDN上看过一篇文章说,统一台电脑上再次设置LogShipping时,不要利用不异的目次寄存Log文件。这个没有考据过,只提一下,提示人人!


Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
作者: 兰色精灵    时间: 2015-1-19 21:07
所以你总能得到相应的升级版本,来满足你的需求。
作者: 爱飞    时间: 2015-1-28 05:54
无法深入到数据库系统层面去了解和探究
作者: 谁可相欹    时间: 2015-2-5 12:32
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
作者: 变相怪杰    时间: 2015-2-11 20:37
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
作者: 再现理想    时间: 2015-3-2 18:27
光写几个SQL实在叫无知。
作者: 深爱那片海    时间: 2015-3-11 05:27
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 乐观    时间: 2015-3-17 21:10
我个人认为就是孜孜不懈的学习
作者: 愤怒的大鸟    时间: 2015-3-25 02:54
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2