ETLDB性能差(HIS转储200万门诊处方zjysb012)

解决方法:

1.禁用cdc.Hismz_capture

2.停止cdc.Hismz_capture

3.关闭zjysb012,zjysb012 CDC功能

4.启用cdc.Hismz_capture

5.开始:cdc.Hismz_capture

6.开启zjysb012,zjysb012 CDC功能

7.手工执行zjysb012  表的更新操作产生新的cdc,进行自动补录三天数据

(命令:Update zjysb012   set softbbh=' ' where rq>'2016-8-22' and rq<'2016-8-25 18:00')

2016-8-24 HISMZ 性能严重,8月23日早上6点后的数据未到ETLDB

 

 

在发布服务器到代理服务器的参数中增加红色部分参数,调用多线程 CPU处理当前作业遇到的问题,2个小时内性能问题得到解决(同时停掉了CDRDB抽取ETLDB的业务)

-Publisher DSCNX -PublisherDB [Hismz] -Publication [Pub_HISMZ] -Distributor [ETLDB] -SubscriptionType 1 -Subscriber [ETLDB] -SubscriberSecurityMode 1 -SubscriberDB [Hismz]    -Continuous -SubscriptionStreams 16 -CommitBatchSize 1000 -CommitBatchThreshold 1000

select * from sys.databases where  name='hismz'

--log reuse wait  replication

sp_readerrorlog

sp_cdc_help_jobs

SELECT s.name AS Schema_Name, tb.name AS Table_Name

, tb.object_id, tb.type, tb.type_desc, tb.is_tracked_by_cdc

FROM sys.tables tb

INNER JOIN sys.schemas s on s.schema_id = tb.schema_id

WHERE tb.is_tracked_by_cdc = 1 and tb.name='zjysb012'

Select * from sys.dm_cdc_log_scan_sessions

select * from sys.sysprocesses where spid = 340

select * from sys.sysprocesses where spid = 359

SELECT *  FROM msdb.dbo.cdc_jobs

select db_id('hismz')

use hismz

dbcc opentran

EXECUTE sys.sp_cdc_change_job

@job_type = N'capture',

@maxscans = 10,

@maxtrans = 1000;

GO

/****** Script for SelectTopNRows command from SSMS  ******/

SELECT TOP 1000 [start_lsn]

,[tran_begin_time]

,[tran_end_time]

,[tran_id]

,[tran_begin_lsn]

FROM [Hismz].[cdc].[lsn_time_mapping]

order by [tran_begin_time] desc

select * from sys.sysprocesses where spid = 328

use hismz

Select * from sys.dm_cdc_log_scan_sessions

select * from sys.sysprocesses where  spid  > 50 and dbid = 5 and program_name like '%sqlagent%'

select * from sys.dm_exec_requests where session_id = 153

         Declare @cc varchar(max)

select @cc = text from sys.dm_exec_sql_text (0x030005005401BF3C1422FF003BA5000001000000)

select substring (@cc, 78718/2 + 1,125150/2 +1 ),len(@cc)

 

可查询日志中执行的具体脚本。

sp_repltrans

--zjysb012ls

EXEC sys.sp_cdc_disable_table

@source_schema = N'dbo',

@source_name   = N'zjysb012ls',

@capture_instance = N'dbo_zjysb012ls'

GO

EXEC sys.sp_cdc_disable_table

@source_schema = N'dbo',

@source_name   = N'zjysb012',

@capture_instance = N'dbo_zjysb012'

GO

/****** Script for SelectTopNRows command from SSMS  ******/

SELECT TOP 1000 [start_lsn]

,[tran_begin_time]

,[tran_end_time]

,[tran_id]

,[tran_begin_lsn]

FROM [Hismz].[cdc].[lsn_time_mapping]

order by [tran_begin_time] desc

select * from sys.sysprocesses where spid = 328

use hismz

Select * from sys.dm_cdc_log_scan_sessions

select * from sys.sysprocesses where  spid  > 50 and dbid = 5 and program_name like '%sqlagent%'

select * from sys.dm_exec_requests where session_id = 153

Declare @cc varchar(max)

select @cc = text from sys.dm_exec_sql_text (0x030005005401BF3C1422FF003BA5000001000000)

select substring (@cc, 78718/2 + 1,125150/2 +1 ),len(@cc)

sp_repltrans

--zjysb012ls

EXEC sys.sp_cdc_disable_table

@source_schema = N'dbo',

@source_name   = N'zjysb012ls',

@capture_instance = N'dbo_zjysb012ls'

GO

EXEC sys.sp_cdc_disable_table

@source_schema = N'dbo',

@source_name   = N'zjysb012',

@capture_instance = N'dbo_zjysb012'

GO

EXEC sys.sp_cdc_enable_table

@source_schema= 'dbo' --架构名

,@source_name = 'zjysb012' --启用CDC的表名

,@role_name = NULL --必须字段,默认值

,@supports_net_changes = 1 --启用净变更

,@index_name = N'pk_ZJYSB012_IDKEYGUID'--主键名[]

GO

Rreplication 性能差(转储200万门诊处方zjysb012)的更多相关文章

  1. 使用 HammerDB 对 Citus 和 Postgres 进行 Benchmark,每分钟200万新订单处理测试(官方博客)

    在为 Postgres 运行性能基准测试时,主要建议是:"自动化!" 如果您正在测量数据库性能,您可能不得不一遍又一遍地运行相同的基准测试. 要么是因为你想要一个稍微不同的配置,要 ...

  2. HTTP长连接200万尝试及调优

    对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一.这种应用常见于消息推送系统,也称为 ...

  3. E3: PS4/PC 莎木3 众筹200万美元 9小时内达成

    这次E3任天堂没有新掌机(传说中的XDS呢.呵呵)和口袋的消息, 被喷得很严重, 索尼的FF7重制版和莎木3是亮点. 而莎木3的众筹速度据说创了记录, 玩家的情怀大胜. 笔者看到国内也有赞助几十刀的玩 ...

  4. 查询Oracle性能差的、正在执行或执行过的SQL语句

    查找前十条性能差的sql. SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS, COMMAND_TYPE,DISK_READS,sql_te ...

  5. 200万枚SPC空投来袭,这样的薅羊毛活动你确定不参加吗?

    在过去的2020年,币圈真的是很火爆,很多人在参与数字货币交易或DeFi挖矿中赚到了大钱.但是转眼到了2021年,DeFi进入了下半场,区块链市场也进入了新的阶段,那么区块链的下一个爆点是什么呢?很多 ...

  6. C#一定比C++性能差?当然不!破除迷信,从我做起!

    几乎所有的程序员在初学编程之时,都被灌输过"托管语言(Java.C#)性能比非托管语言(C.C++)差好多" 的迷信教条.如果你问他们为什么,他们一定会说:托管语言需要通过虚拟机或 ...

  7. 恕我直言你可能真的不会java第6篇:Stream性能差?不要人云亦云

    一.粉丝的反馈 问:stream比for循环慢5倍,用这个是为了啥? 答:互联网是一个新闻泛滥的时代,三人成虎,以假乱真的事情时候发生.作为一个技术开发者,要自己去动手去做,不要人云亦云. 的确,这位 ...

  8. LIMIT和OFFSET分页性能差!今天来介绍如何高性能分页

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 前言 之前的大多数人分页采用的都是这样: SELEC ...

  9. c# 将文本中的数据快速导入到数据库(200万左右的数据量)

    1.sql2008中 list表,只有一个字段 Lvalue 2.文本大约256万的数据量 3.测试结果:用时36秒! string connStr = @"Data Source=.\SQ ...

随机推荐

  1. 在 CentOS7最小化 下的编译安装:Nginx 1.5.2 + PHP 5.5.7 + MySQL 5.6.10

    1.安装Nginx: 安装包目录 mkdir -p /Data/tgzcd /Data/tgz 安装编译依赖 yum install wget yum install pcre yum install ...

  2. iOS block 闭包的学习

    iOS  闭包 学习 理解: 1 .   闭包外界无法访问内部变量 ,它是一个独立的代码块. 2 .   闭包可以作为 一个方法 ,甚至局部变量  全局 变量 3 .   闭包 是一种引用类型   注 ...

  3. hd acm2035

    求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方” 思路:后三位只跟后三位相乘有关,所以可以每乘一次都对1000取余. 代码: #include <stdio.h>#inc ...

  4. 图解MFC基本框架(深入消息映射机制)

    首先,先看整体的消息流向图: 上图解释: 起点是消息循环,在winmain函数中(mfc中winmain函数是隐含的调用的,在app全局对象构造完后紧接着调用winmain函数),while循环中不断 ...

  5. 大话设计模式--访问者模式 Visitor -- C++实现实例

    1. 访问者模式: 表示一个作用于某对象结构中的和元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作. 访问者模式把数据结构和作用于结构上的操作之间的耦合脱开,使得操作集合可以 ...

  6. jsp学习(3)

    1.model模式 2.model1.x分层模式 3.mvc模式(model2) model2的具体体现就是mvc. dao:就是data access object数据访问对象,即专门对数据库进行操 ...

  7. 未测试 Delphi读写UTF-8、Unicode格式文本文件

    // UTF-8文件写入函数 procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True) ...

  8. 循环递归+返回值(TreeView示例)

    示例:获取TreeView的所有Node,保存到List<TreeNode>,封装到通用工具类: 方法一:使用static方法.属性---调用前清空static类型的List public ...

  9. poj 1080 Human Gene Functions(lcs,较难)

    Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19573   Accepted:  ...

  10. MySQL 当记录不存在时insert,当记录存在时update

    MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...