生活工程体验信仰哲学精神
投稿投诉
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

好文:err的解释(err是什么意思)

7月11日 红朱砂投稿
  一。需求背景
  SQLServer开源的归档工具不多,DBA一般都是通过计划任务来触发执行,执行的脚本多是SP或者是SSIS包。SSIS包的性能稍好一些,但是维护更新成本高些。所以更常见的是通过SP脚本来实现归档操作。
  当数据库规模较小时,可以方便的直接在数据库上进行脚本的编写部署。但是随着数据库越来越多,管理维护成本就会越来越大,越来越不方便。现在我们实行的方式是通过中央管理器来管理众多的数据库备份(这是在拥有专门的备份程序前的一个过渡方案)。我们将归档基础配置信息、归档运行历史记录、异常报错等数据统一维护在中央数据库上。如此,可以方便统一的查看、管理和维护。
  二。主要架构
  三。主要关联表
  2。1归档基础配置表
  表字段含义,请耐心查看字段说明。
  CREATETABLE〔dbo〕。〔DBDataArchiveConfig〕(
  〔ID〕〔int〕IDENTITY(1,1)NOTNULL,
  〔IP〕〔varchar〕(50)NULL,
  〔DBName〕〔varchar〕(50)NULL,
  〔DataTable〕〔varchar〕(50)NULL,
  〔TargetIP〕〔varchar〕(50)NULL,
  〔TargetDB〕〔varchar〕(50)NULL,
  〔TargetTable〕〔varchar〕(50)NULL,
  〔Prerequisite〕〔varchar〕(300)NULL,
  〔DelMaxQTY〕〔int〕NULL,
  〔IsCheckOrderID〕〔int〕NULL,
  〔SPName〕〔int〕NULL,
  〔StartTime〕〔datetime〕NULL,
  〔EndTime〕〔datetime〕NULL
  )ON〔PRIMARY〕
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueNServerIP(数据位于中央管理器中,所以归档数据库库所在的IP要维护,可维修虚拟的IP),level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNIP
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN要归档的数据库,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNDBName
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN要归档的表,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNDataTable
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN备份指向的IP,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNTargetIP
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN备份指向的数据库,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNTargetDB
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN备份指向的表,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNTargetTable
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN归档条件,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNPrerequisite
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN循环中一次归档删除的数据量,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNDelMaxQTY
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN此为备用字段,考虑可能有些表,会和其他表关联,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNIsCheckOrderID
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN为提高并发度,一个DB对应的归档SP可能是多个,通过此列,进行分组。,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNSPName
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN此为拓展字段,原计划根据开始时间、结束时间,每天可以多个时间段内执行,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNStartTime
  GO
  EXECsys。spaddextendedpropertynameNMSDescription,valueN此为拓展字段,原计划根据开始时间、结束时间,每天可以多个时间段内执行,level0typeNSCHEMA,level0nameNdbo,level1typeNTABLE,level1nameNDBDataArchiveConfig,level2typeNCOLUMN,level2nameNEndTime
  GO
  2。2归档运行的Log表
  CREATETABLE〔dbo〕。〔DBDataArchiveLog〕(
  〔ID〕〔int〕IDENTITY(1,1)NOTNULL,
  〔IP〕〔varchar〕(30)NULL,
  〔DBName〕〔varchar〕(30)NULL,
  〔DataTable〕〔varchar〕(80)NULL,
  〔BakQTY〕〔varchar〕(30)NULL,
  〔BakStartDate〕〔datetime〕NULL,
  〔BakEndDate〕〔datetime〕NULL
  )ON〔PRIMARY〕
  GO
  2。3异常错误信息表
  执行的过程中会外包一层try。。。catch,将操作过程中的错误信息保存在表DBDataArchiveErrLog。表结构如下:
  CREATETABLE〔dbo〕。〔DBDataArchiveErrLog〕(
  〔ID〕〔int〕IDENTITY(1,1)NOTNULL,
  〔IP〕〔varchar〕(30)NULL,
  〔DBName〕〔varchar〕(60)NULL,
  〔DataTable〕〔varchar〕(80)NULL,
  〔TargetIP〕〔varchar〕(30)NULL,
  〔TargetDB〕〔varchar〕(60)NULL,
  〔TargetTable〕〔varchar〕(80)NULL,
  〔Errormsg〕〔nvarchar〕(max)NULL,
  〔TransDateTime〕〔varchar〕(30)NULL
  )ON〔PRIMARY〕TEXTIMAGEON〔PRIMARY〕
  GO
  四。存储过程相应的主要代码
  SETANSINULLSON
  GO
  SETQUOTEDIDENTIFIERON
  GO
  Author:
  Createdate:
  Description:
  CREATEPROCEDURE〔dbo〕。〔SPXXXXXDataArchive〕
  AS
  SETNOCOUNTON;
  DECLAREsql1VARCHAR(MAX)
  DECLAREsqlVARCHAR(MAX)
  DECLAREsql2VARCHAR(MAX)
  DECLAREIPVARCHAR(MAX)
  DECLAREDBNameVARCHAR(MAX)
  DECLAREDataTableVARCHAR(MAX)
  DECLARETargetIPVARCHAR(MAX)
  DECLARETargetDBVARCHAR(MAX)
  DECLARETargetTableVARCHAR(MAX)
  DECLAREPrerequisiteVARCHAR(MAX)
  DECLAREDelMaxQTYINT
  DECLAREStartTimeDATETIME
  DECLAREEndTimeDATETIME
  DECLAREqtyINT
  DECLAREISCHECKORDERIDINT
  Carson20181217备份数据的时间往往比删除的时间长3倍,因此,如果考虑将备份的操作转移到辅助库,将会对线上的操作影响降至更低
  DECLAREBakDateIPVARCHAR(30)
  setBakDateIP〔XXX。XXX。XXX。XXX〕。后面一定要有一个点
  归档操作
  DECLAREDBNameCURSOR
  FOR
  SELECTIP,
  DBName,
  DataTable,
  TargetIP,
  TargetDB,
  TargetTable,
  Prerequisite,
  DelMaxQTY,
  ISCHECKORDERID,
  StartTime,
  EndTime
  FROM〔中央管理器〕。〔中央管理数据库〕。〔dbo〕。〔DBDataArchiveConfig〕
  WHEREDataTable
  ANDTargetTable
  ANDDBNAMEXXXXXXXXXandSPName?????
  OPENDBName
  FETCHNEXTFROMDBNameINTOIP,DBName,DataTable,TargetIP,TargetDB,
  TargetTable,Prerequisite,DelMaxQTY,ISCHECKORDERID,
  StartTime,EndTime
  WHILE(fetchstatus0)
  BEGIN
  DECLAREdatetimeDATETIME
  IFISCHECKORDERID1ANDDataTable
  BEGIN
  SETdatetimeCONVERT(VARCHAR(10),GETDATE()30,120)
  SETsqlInsertinto〔TargetIP〕。
  TargetDB。dbo。TargetTable
  selectFROMBakDateIPDBName。dbo。DataTable
  with(nolock)wherePrerequisite
  SETsql1DECLAREicountINTEGER
  SELECTicountCOUNT(1)
  FROMBakDateIPDBName。dbo。DataTable
  wherePrerequisite
  insertinto〔中央管理器〕。〔中央管理数据库〕。dbo。DBDataArchiveLog(IP,DBName,DataTable,BakQTY,BakStartDate,BakEndDate)
  selectIP,DBName,DataTable
  ,icount,getdate(),null
  WHILEicount0
  BEGIN
  DELETETOP(CAST(DelMaxQTYASVARCHAR(10)))
  FROMDBName。dbo。DataTable
  wherePrerequisite
  SETicounticount(
  CAST(DelMaxQTYASVARCHAR(10)))
  WAITFORDELAY00:00:01
  END
  BEGINTRY
  EXEC(sql)
  EXEC(sql1)
  ENDTRY
  BEGINCATCH
  DECLAREErrmsgASnvarchar(MAX)
  SELECTErrmsgERRORMESSAGE()
  0001BEGINSAVEERRLOGINTABLE
  INSERTINTO〔中央管理器〕。〔中央管理数据库〕。〔dbo〕。DBDataArchiveErrLog(〔IP〕,〔DBName〕,〔DataTable〕,〔TargetIP〕,〔TargetDB〕,〔TargetTable〕,〔Errormsg〕,〔TransDateTime〕)
  VALUES(IP,DBName,DataTable,TargetIP,TargetDB,TargetTable,Errmsg,convert(VARCHAR(25),GETDATE(),120))
  0001END
  0002BEGINSENDEMAILMESSAGE
  DECLARESubjectASnvarchar(200)
  DECLAREBodyASnvarchar(MAX)
  DECLARESPNameASnvarchar(MAX)
  SETSubject数据库归档异常重要!;ServerIP:IPDB:DBName
  SETSPName
  SETBodyDearAll,ServerIP:IP;DataBase:DBName上的Table归档异常,请及时检查!!!
  Youcangetdetailinformationfromthetable。
  SETBodyBody
  SELECTSPNameSPName
  SETBodyBodySPNameServerIPDBNameTableNameTargetIPTargetDBErrmsgTransDateTimeCAST(IPASNVARCHAR(50))CAST(DBNameASNVARCHAR(50))CAST(DataTableASNVARCHAR(50))
  CAST(TargetIPASNVARCHAR(20))CAST(TargetDBASNVARCHAR(50))SUBSTRING(Errmsg,1,100)CONVERT(varchar(100),GETDATE(),21)
  SETBODYREPLACE(BODY,,)
  IFREPLACE(BODY,,)
  BEGIN
  DECLAREAllEmailToAddressvarchar(3000)
  DECLAREAllEmailCcAddressvarchar(3000)
  DECLAREAllprofilenamevarchar(100)
  SELECTAllEmailToAddress
  SELECTAllEmailCcAddress
  SELECTTOP1AllprofilenameNAMEFROMmsdb。dbo。sysmailprofile
  ORDERBYprofileid
  EXECmsdb。。spsenddbmailprofilenameAllprofilenameprofile名称
  ,recipientsAllEmailToAddress收件人邮箱
  ,copyrecipientsAllEmailCcAddress
  ,subjectSubject邮件标题
  ,bodyBODY邮件内容
  ,bodyformatHTML邮件格式
  ,fileattachments
  ,ImportanceHigh
  END
  0002end
  ENDCATCH
  END
  FETCHNEXTFROMDBNameINTOIP,DBName,DataTable,TargetIP,
  TargetDB,TargetTable,Prerequisite,DelMaxQTY,
  ISCHECKORDERID,StartTime,EndTime
  END
  CLOSEDBName
  DEALLOCATEDBName
  DECLAREDELETETABLECURSOR
  FOR
  SELECTIP,
  DBName,
  DataTable,
  TargetTable,
  Prerequisite,
  DelMaxQTY
  FROM〔中央管理器〕。〔中央管理数据库〕。〔dbo〕。〔DBDataArchiveConfig〕
  WHEREDataTable
  ANDTargetTable
  ANDDBNAMEXXXXXXXXXandSPName????
  OPENDELETETABLE
  FETCHNEXTFROMDELETETABLEINTOIP,DBName,DataTable,
  TargetTable,Prerequisite,DelMaxQTY
  WHILE(fetchstatus0)
  BEGIN
  SETsql1DECLAREicountINTEGER
  SELECTicountCOUNT(1)
  FROMDBName。dbo。DataTable
  wherePrerequisite
  WHILEicount0
  BEGIN
  DELETETOP(CAST(DelMaxQTYASVARCHAR(10)))
  FROMDBName。dbo。DataTable
  wherePrerequisite
  SETicounticount(
  CAST(DelMaxQTYASVARCHAR(10)))
  WAITFORDELAY00:00:01
  END
  PRINTsql1
  EXEC(sql1)
  FETCHNEXTFROMDELETETABLEINTOIP,DBName,DataTable,TargetTable,Prerequisite,DelMaxQTY
  END
  CLOSEDELETETABLE
  DEALLOCATEDELETETABLE
  GO
  五。补充数据
  1。数据库归档,一般都是先将当前库的历史数据归档到历史库,再将当前库的历史数据删除。这两个阶段,一般是前者耗时较多(一般都在2:1以上),虽然可以在select过程加上nolock,但是或者IO或者网络等原因,其实这个阶段对应用程序的影响还是比较大的。所以,建议将这两个阶段物理分开,即如果有配置AlwaysOn,请将第一个阶段在辅助数据库中执行。上面的SP示例,就是通过参数BakDateIP来实现了这一作用。
  2。存储过程中包含了try。。。catch,所以运行此sp就会很少报错,某一个表的异常不会相互影响。例如,我们常见的当前库、历史库由于表结构变更而导致的不一致,此情况出现后,try。。catch可以捕捉到异常,将异常记录在档,并将此信息以邮件的形式发送给指定人,但整个SP不会执行失败。并且还会跳过这一个异常,继续执行下一个备份归档表的归档。
  本文版权归作者所有
  好文要顶关注我收藏该文
  作者:东山絮柳仔
  原文:https:www。cnblogs。comxuliuzaip10168858。html
投诉 评论 转载

故意损伤产品质量怎么办?热文聚热点网 一、故意损伤产品质量怎么办?1、信函式:主要适用于消费者距投诉单位远的情况,缺点是解决问题的时间可能长些。2、来访投诉:消费者最好把有质量问题的样品带去,这种方式比……“海口巴黎”国际精品航空货运航线复航月余离岛免税货物持续放量 新海南客户端、南海网、南国都市报消息10月17日晚,美兰机场国际货站内一片繁忙景象。操作人员正在有条不紊地将货物铺齐、码好、称重,伴随着X光机转动,海关查验、机场安检人员时刻关……好文:err的解释(err是什么意思)热传聚热点网 一。需求背景SQLServer开源的归档工具不多,DBA一般都是通过计划任务来触发执行,执行的脚本多是SP或者是SSIS包。SSIS包的性能稍好一些,但是维护更新成本高些……京东又撞破了一道难墙热博聚热点网 助农,是为了让农无需再助。文丨华商韬略毕亚军农特产销售难,是农业发展的大困难,但根本困难不在销售,而在能否让农特产品与农产消费同频共振,让农业供给和农特消费相互促进……初步阶段企业该怎么找到合伙人呢?热闻聚热点网 企业创业的时候,都会有一个领导,也就是所谓的创始人。一般来说,创始人就是创意的拥有者,或者角色特别突出的人,或者资源特别丰富的人,或者资金比较多的人。然而现代社会,团队作……“女儿,我为何要彩礼?”母亲的解释透彻,也许这就是彩礼的真相 彩礼,一直是婚恋里热议的话题。因为有对立方,所以在思想上很难统一。因为彩礼,使一段感情走向结束的真实案例也并不少见。在某乎上,这样的提问很多。有一个女孩说,自己和对……小S问新姐夫具俊晔为何喜欢大S而不是她,这答案,有意思热文聚 小S晒了一条视频,内容是新姐夫具俊晔在做炒饭。而且还配文说:我的姐夫也太完美了吧!在之前的一些综艺节目里,具俊晔在结婚前是和妈妈一起生活,日常更不会做饭,而是他那70多岁……无畏金兰!中国女篮追平历史最佳战绩,两个画面更是感动无数国人 虽然没能创造奇迹,但中国女篮的姑娘们,依旧带给国人无数的感动!北京时间10月1日,2022年女篮世界杯决赛拉开大幕,中国女篮迎战世界第一的美国女篮。本场决赛,中国女篮的姑娘们继……迷失东京剧情?热闻聚热点网 剧情简介编辑鲍勃哈里斯(比尔默里饰)与夏洛特(斯嘉丽约翰逊饰)这两个美国人在日本东京相遇了。鲍勃是一位电影名星,来此目的是为了拍摄一部关于威士忌的商业广告,而夏洛特则陪伴……养孩子不容易经典语句热议聚热点网 6年前,儿子广宇从同城一所211院校毕业。他当时自己工作无着,结果还谈了个女朋友。谈恋爱是需要花钱的,你说他的心得有多大。当他在一次约会前,一边把自己收拾得人模人样……全国首个!文远知行将推出城市级全域公交自动驾驶平台热博聚热点 近日,文远知行WeRide宣布于无锡经开区设立文远知行华东区域总部,全面开展自动驾驶的技术研发、生产及销售工作;同时与无锡经开区管委会、无锡交通产业集团下属智汇交通科技有限公司……【歌词】流浪骑士歌手:shelly佳热文聚热点网 流浪骑士作词:乔洋作曲:乔洋编曲:乔洋演唱:乔洋shelly佳想找个方向置身去流浪带着我心爱的吉他没多少行囊每走个地方都沿路哼唱……
不祥之兆?2022年“血月”即将再次出现,月球为什么会变红? 怎样才能吸引用户?21链动模式的本质是什么?热闻聚热点网 【歌词】夜空知?歌手:小五佑可猫西瓜Kune热评聚热点网 11月中国品牌全新车型,除了极氪009,还有这些新车热评聚热 奋进新征程!广东建设种业强省,勇闯水产“芯”路径热文聚热点网 深圳民事律师夫妻一方生病了另一方有义务照顾吗?夫妻一方生病了 婚姻保证书怎样才具有法律效力热文聚热点网 天冷了,少吃鸡鸭鱼肉,多吃它,蛋白质含量极高,3块钱做一大盘 潜心耕耘墨池丰一笔一划见功夫热评聚热点网 雷柏MT510PRO多模无线机械键盘:自主线性快银轴,好体验 贝克汉姆有信心同时签下梅西,C罗!大家觉得有可能吗?热闻聚热 奏响壮丽山河的时代交响热博聚热点网
太阳花的花语是什么呢太阳花多久需要浇一次水呢飞镖造句用飞镖造句大全长期病假工资如何计算katherine怎么读katherine的意思因雪容融改写了命运?原本只是想完成作业,结果却被保研本部袋鼠与笼子我比谁都相信努力奋斗的意义语录野蛮的动物世界弱者总是给强者欺负如何处理企业元老与亲戚问题?微商引流客源,微信营销引流方法全攻略去你的和去你妈的怎么去死皮(脸上起死皮怎么去除)

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西