zoukankan      html  css  js  c++  java
  • Rreplication 性能差(转储200万门诊处方zjysb012)

     

     

    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

  • 相关阅读:
    机房收费系统——视图的运用
    POJ 3278: Catch That Cow
    LeetCode 66 Plus One(加一)(vector)
    iOS定位服务CoreLocation
    Python 多线程
    LuaStudio编辑调试软件
    高仿快递100--实战之RadioGroup和RadioButton应用
    HDU
    MVC项目中怎样用JS导出EasyUI DataGrid为Excel
    调用getChildFragmentManager时出现的Bug
  • 原文地址:https://www.cnblogs.com/ifreesoft/p/5807985.html
Copyright © 2011-2022 走看看