Wait type CXPACKET - BPC 5.1 on MSS 2005 SP3

We are experiencing large variations in run times of logic packages in a BPC 5.1 system.  A package may run in 15 minutes at one time and then the next run may take 5 hours.  When the run time is significantly longer we see a process in the MSS Activity Monitor that is running in parallel (multiple rows with the same SPID) and all but one are suspended.  Each of the suspended threads shows CXPACKET in the "Wait type" column.  The command column has the value INSERT.
The other observation is that the system appears to spawn more threads for the same SPID after a period of time.  For example, I have often found there are 20 threads and the wait time will be the same for groups of four threads -- each group of four has a different wait time than the others in the list.
My research indicates that this means the process is running in parallel and the threads are waiting for the completion (or start) of parallel statements.  The only suggestion I have found so far is to change "Max Degree of Parallelism" from 0 (zero) to 1 on the server to prevent parallel query execution, or to set a hint to set MAXDOP to 1. 
Is the logic package creating inefficient query plans that cause MSS to generate inefficient query plans that go into parallel?  Is there any way to prevent this from happening?
Thanks,
David

CXPACKET wait is due to parallelism, and as you have researched you can avoid it by setting MAXDOP to 1.
Yes, improper query plans may be cause for long time executions, you may want to check the statistics are updated,any missing indexes,lots of fragmentation.
you may want to look into this nice article, about how to tune your query  against CXPACKET waits.
[http://www.mssqltips.com/tip.asp?tip=2027]
Thanks
Mush

Similar Messages

  • Wait Type PAGEIOLATCH_SH and PAGEIOLATCH_EX

    Hello, 
    I am looking at the performance issue on one of the SQL Server which is for Zenworks. 
    There are 4 application server which reads and writes to the Zen SQL Server. 
    It's been there for a while now and quite a lot of times I see the status as suspended and the Wait Type is PAGEIOLATCH_SH and PAGEIOLATCH_EX which disappears and comes back again and again. 
    Could somebody please advise how to troubleshoot this?
    Best regards, 
    Mohan

    Hello,
    Could you please share the result of the following query with us?
    SELECT
    TOP 50 *
    FROM
    [sys].[dm_os_wait_stats]
    ORDER
    BY [wait_time_ms]
    DESC
    Thank you in advance.
    Regards,
    Alberto Morillo
    SQLCoffee.com
    Thanks Alberto, 
    The result is below. 
    wait_type waiting_tasks_count
    wait_time_ms max_wait_time_ms
    signal_wait_time_ms
    REQUEST_FOR_DEADLOCK_SEARCH 32350
    161783933 5462
    161783933
    XE_TIMER_EVENT 5394
    161766099 30301
    161765240
    LAZYWRITER_SLEEP 168848
    161737044 3023
    71938
    SQLTRACE_INCREMENTAL_FLUSH_SLEEP 40395
    161627956 4590
    89
    LOGMGR_QUEUE 1982118
    161505817 645651
    258372
    XE_DISPATCHER_WAIT 17
    156846134 50730025
    0
    CHECKPOINT_QUEUE 18208
    150758459 2037452
    3257
    PAGEIOLATCH_SH 12811676
    138069019 3369
    244808
    BROKER_EVENTHANDLER 14
    112016323 84467042
    11
    SLEEP_TASK 10361836
    81580069 2809
    676539
    BROKER_TO_FLUSH 78813
    80887188 1980
    26694
    PAGEIOLATCH_EX 2774508
    28392234 3545
    73181
    SOS_SCHEDULER_YIELD 2446505
    8560372 1536
    8532156
    WRITELOG 1895345
    5805484 20821
    66796
    SLEEP_BPOOL_FLUSH 1452978
    4558026 753
    204212
    LCK_M_IX 67
    3806433 311970
    519
    BROKER_TASK_STOP 746
    3747976 10008
    100
    CXPACKET 331690
    1348196 17612
    179146
    BACKUPBUFFER 230089
    1273926 2048
    12506
    ASYNC_IO_COMPLETION 5
    1243210 628743
    0
    BROKER_RECEIVE_WAITFOR 4
    1199953 598704
    0
    BACKUPIO 105914
    1174546 2127
    594
    LCK_M_U 184
    1069219 238125
    151
    PAGEIOLATCH_UP 16079
    665743 1457
    3672
    LCK_M_X 47
    585665 72697
    20
    PREEMPTIVE_OS_AUTHENTICATIONOPS 61568
    345872 3007
    0
    ASYNC_NETWORK_IO 94086
    106911 1694
    26395
    MSQL_XP 9808
    101965 2272
    0
    PREEMPTIVE_OS_GETPROCADDRESS 9808
    101553 2272
    0
    PAGELATCH_EX 249003
    82555 2041
    58631
    LCK_M_S 4
    75172 70016
    1
    LOGBUFFER 1615
    73754 1134
    564
    PREEMPTIVE_OS_WAITFORSINGLEOBJECT 26593
    56219 545
    0
    PREEMPTIVE_OS_WRITEFILEGATHER 30
    40052 5399
    0
    PREEMPTIVE_OS_LOOKUPACCOUNTSID 17496
    25534 280
    0
    OLEDB 18501515
    23474 249
    0
    PREEMPTIVE_OS_DELETESECURITYCONTEXT 17661
    22908 507
    0
    PAGELATCH_SH 53643
    19873 344
    12476
    THREADPOOL 2904
    19451 288
    0
    LATCH_EX 10260
    17581 521
    1750
    IO_COMPLETION 1865
    16677 407
    168
    PAGELATCH_UP 855
    14606 1335
    384
    PREEMPTIVE_OS_AUTHORIZATIONOPS 18055
    13845 216
    0
    PREEMPTIVE_OS_REVERTTOSELF 14248
    9884 170
    0
    SQLTRACE_FILE_BUFFER 139
    7130 380
    83
    SLEEP_DBSTARTUP 61
    7007 334
    371
    SQLTRACE_FILE_WRITE_IO_COMPLETION 729
    6963 324
    6
    PREEMPTIVE_OS_QUERYREGISTRY 2691
    5844 503
    0
    PREEMPTIVE_OS_CRYPTACQUIRECONTEXT 3696
    5093 200
    0
    PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICY 3559
    3948 87
    0
    Sorry, not in a great friendly format. 
    Many thanks, 
    Mohan

  • Resource_semaphore wait type not matching sys.dm_exec_query_memory_grants

    We are using Red Gate's SQL Monitor to alert (every 5 minutes) when memory grants pending are greater than zero. Several times a day we are alerted on our Devel and Prod servers.
    However, when querying the resource_semaphore wait type using sys.dm_os_wait_stats, it used to register non-zero amounts several months ago, but now is always equal to zero.
    The Devel server is version 11.0.3128 standard on Windows 2008 R2 Standard 64-bit, and the Prod server is version 10.0.5500 on Windows 2008 Standard 64-bit.
    We are storing wait stats for each server in a database, collected every half hour. The Prod resource semaphore was 569 early August 11, then after a reboot at 3:30 AM was equal to zero and is the same today. I have confirmed the current value using the following
    query.
    SELECT * FROM sys.dm_os_wait_stats
    WHERE wait_type = 'RESOURCE_SEMAPHORE';
    Similarly, the Devel resource semaphore was 167 early October 23, then after a reboot at 7:03 AM was equal to zero and has not changed from zero since then. Again, I confirmed the current value using the above query.
    The custom alert code for Red Gate SQL Monitor is:
    SELECT COUNT(*) FROM sys.dm_exec_query_memory_grants;
    Also, running a perfmon counter against SQL Server: Memory Manager: Memory Grants Pending for
    several days yields a flat line equal to zero, with maximum value zero.
    Looks to me like something in SQL Server's internal stats collection system has broken. Or possibly, I am misunderstanding that these three counters measure the same thing.
    Thanks for your help.

    We are using Red Gate's SQL Monitor to alert (every 5 minutes) when memory grants pending are greater than zero. Several times a day we are alerted on our Devel and
    Prod servers. However, when querying the resource_semaphore wait type using sys.dm_os_wait_stats, it used to register non-zero amounts several months ago, but now is always equal to zero.
    The Devel server is version 11.0.3128 standard on Windows 2008 R2 Standard 64-bit, and the Prod server is version 10.0.5500 on Windows 2008 Standard 64-bit.
    We are storing wait stats for each server in a database, collected every half hour. The Prod resource semaphore was 569 early August 11, then after a reboot at 3:30 AM was equal to zero and is the same today. I have confirmed the current value using
    the following query.
    SELECT * FROM sys.dm_os_wait_stats
    WHERE wait_type = 'RESOURCE_SEMAPHORE';
    Similarly, the Devel resource semaphore was 167 early October 23, then after a reboot at 7:03 AM was equal to zero and has not changed from zero since then. Again, I confirmed the current value using the above query.
    The custom alert code for Red Gate SQL Monitor is:
    SELECT COUNT(*) FROM sys.dm_exec_query_memory_grants;
    Also, running a perfmon counter against SQL Server: Memory Manager: Memory Grants Pending for
    several days yields a flat line equal to zero, with maximum value zero.
    Looks to me like something in SQL Server's internal stats collection system has broken. Or possibly, I am misunderstanding that these three counters measure the same thing.
    Thanks for your help.
    Hello,
    SQL server internal stats collection is fine it is not broken what you are doing is after restart SQL server cache is cleared and this is area from where you get all your DMV result so before restart you are seeing some value for resource semaphore wait
    and after restart it is gone.
    For query memory grants pending value as non zero it clearly points to fact that there is memory crunch and you need to increase more RAM.
    resource semaphore waits point to fact that your query which is running is costly one and is involving lots of sort and hash you need to tune it.Read below article for resource semaphore wait
    http://blogs.msdn.com/b/sqlqueryprocessing/archive/2010/02/16/understanding-sql-server-memory-grant.aspx
    If you want to find out cumulative waits stats i suggest you to use below query by Jonathan Kehayias.
    Can you post output for this query
    SELECT TOP 10
    wait_type ,
    max_wait_time_ms wait_time_ms ,
    signal_wait_time_ms ,
    wait_time_ms - signal_wait_time_ms AS resource_wait_time_ms ,
    100.0 * wait_time_ms / SUM(wait_time_ms) OVER ( )
    AS percent_total_waits ,
    100.0 * signal_wait_time_ms / SUM(signal_wait_time_ms) OVER ( )
    AS percent_total_signal_waits ,
    100.0 * ( wait_time_ms - signal_wait_time_ms )
    / SUM(wait_time_ms) OVER ( ) AS percent_total_resource_waits
    FROM sys.dm_os_wait_stats
    WHERE wait_time_ms > 0 -- remove zero wait_time
    AND wait_type NOT IN -- filter out additional irrelevant waits
    ( 'SLEEP_TASK', 'BROKER_TASK_STOP', 'BROKER_TO_FLUSH',
    'SQLTRACE_BUFFER_FLUSH','CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT',
    'LAZYWRITER_SLEEP', 'SLEEP_SYSTEMTASK', 'SLEEP_BPOOL_FLUSH',
    'BROKER_EVENTHANDLER', 'XE_DISPATCHER_WAIT', 'FT_IFTSHC_MUTEX',
    'CHECKPOINT_QUEUE', 'FT_IFTS_SCHEDULER_IDLE_WAIT',
    'BROKER_TRANSMITTER', 'FT_IFTSHC_MUTEX', 'KSOURCE_WAKEUP',
    'LOGMGR_QUEUE', 'ONDEMAND_TASK_QUEUE',
    'REQUEST_FOR_DEADLOCK_SEARCH', 'XE_TIMER_EVENT', 'BAD_PAGE_PROCESS',
    'DBMIRROR_EVENTS_QUEUE', 'BROKER_RECEIVE_WAITFOR',
    'PREEMPTIVE_OS_GETPROCADDRESS', 'PREEMPTIVE_OS_AUTHENTICATIONOPS',
    'WAITFOR', 'DISPATCHER_QUEUE_SEMAPHORE', 'XE_DISPATCHER_JOIN',
    'RESOURCE_QUEUE' )
    ORDER BY wait_time_ms DESC
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • BPC 5.1 SP11 with SQL SERVER 2005 SP3

    Hi all,
    i have a BPC 5.1 SP11 single-server installation.
    I know the DB Server prerequisite is Microsoft SQL Server 2005 SP2 and cumulative update package 8.
    SQL Server 2005 SP3 is supported?
    is there any document about compatibility?
    have i install SP3 before or after BPC Installation?
    thanks

    HI Paolo,
    SQL Server 2005 SP3 is supported with SAP BPC 5.1 SP3 or any other later version.
    We already installed for few customers SP3 and this patch fix bugs into SSAS and also improve some performances regarding SSAS.
    So the recommendation will be to apply this patch in your environment because it will bring just benefits.
    If you have multiserver installation remmeber that you have to apply the patch in all servers not just into Database server.
    Regards
    Sorin Radulescu

  • Please wait your request is being processed in MSS general overview

    Hello All,
    I have a requirement MSS. When the employees tries to open u2018General Overviewu2019 or u2018Compensation Informationu2019, is it possible to show the wait spinning clock or Please wait your request is being processed, indicating the page is opening?
    Currently u2018General Overviewu2019 or u2018Compensation Informationu2019 is getting open in new window with menu bar and tool bar.
    One more thing i want to add that First time when you click on general iview a new window open and it will not show you that spinning wheel.but if you refresh that by clicking left most top corner it will show you that wheel.
    Regards
    Bhargava
    Edited by: Bhargava Kumar on Aug 30, 2010 1:00 PM

    HI,
    Insert a new view in the same window, in which your concerned view is there. Make this new view as the entry view of your application. Use TimedTrigger UI element in this view and you can also provide a Label like "Please wait your request is being processed" in this view only. After the processing is over, you can call the next view using navigation.
    RV

  • Waiting error with BPC for Excel on Citrix

    Good day,
    We are currently running SAP BPC 5.1 SP 7 (release 5.0.508.03)
    On Production and Staging , users running BPC client on our Citrix environment are experiencing a "WAITING" message when submitting on input schedules on BPC Excel after working or leaving the input schedule idle for more than +/- 10 minutes.
    We currently only experience the problem on BPC clients running on Citrix. The BPC clients running via the LAN is not experiencing this problem and we cannot replicate the problem on the LAN
    We asked our Network team to investigate they found that there was a network reset connection (RST, ACK) from the BPC Client on Citrix to the Application Server after 1 minute and 5 seconds of refreshing the input schedule.             
    Steps for Reconstruction          
    1.User running BPC for excel client on our Citrix environment.
    2.logs onto BPC for Excel.
    3.Opens and refresh's an input schedule in BPC for Excel.
    4.Works on or leaves the input schedule idle for 10-15 minutes.
    5.Submits on the input schedule after 10-15 minutes
    6.Receives a "WAITING" message in the top left hand corner for the excel for BPC screen.
    7."WAITING" message runs indefinitely.
    Notes:
    1.We can reproduce this on our Citrix Staging environment and currently experience this problem on our Citrix Staging and Production environment. The problem cannot be reproduced when a BPC client connects  via the LAN for Staging and Production.
    2.Citrix session remains active and connected during the above steps.
    3.The only way the "WAITING" message is stopped is if the users selects refresh or submit on the input schedule after a few minutes, the refresh then runs successfully, but the Submit does not go through successfully.
    4. We have asked or Citrix team to investigate and they cannot find anything that could be causing the problem.
    Any ideas?
    Thanks,
    Peter Bellis

    ok.
    In this case it seems you have a problem with antivirus or forewall into Citrix server which is blocking the communication with application server.
    I expect to be more like antivirus which is blocking actually the activity of add ins from excel whoich measn the BPC client.
    So actually your problem has nothing to do with Cittrix is just a pure problem with installation of client into that machine (in your case citrix server).
    So I suggest to disable any antivirus or firewall into that citrix server for test purpose and afte that you have to make sure that you don't have any restrictions on port 80 if this is used by BPC.
    Regards
    Sorin Radulescu

  • DeadLocks on e_waitPipeNewRow Wait type

    Hi Experts,
    We are receiving hundread deadlocks daily with WaitType = "e_waitPipeNewRow". I am not sure why these deadlock occuring on prod server. I suspect this is reated to something to SSIS packages that are running on machine plus some latest
    updates are missing on servers. Can you guys please throw some light on this and provide the solution to get rid of this.
    Shivraj Patil.

    Hi experts,
    Which kind of this deadlock is normal or Intra para query dead lock , beacuse i see Page Lock keyword in Graph.
    <deadlock>
    <victim-list>
    <victimProcess id="process2b41ce08" />
    </victim-list>
    <process-list>
    <process id="process2b41ce08" taskpriority="0" logused="360" waitresource="PAGE: 10:5:451520" waittime="3255" ownerId="13432730290" transactionname="UPDATE" lasttranstarted="2014-11-25T19:26:25.777" XDES="0xe8b07d970" lockMode="IU" schedulerid="23" kpid="250372" status="suspended" spid="281" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2014-11-25T19:26:25.327" lastbatchcompleted="2014-11-25T19:26:25.327" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" loginname="INTRANET\sysCWBASPNET" isolationlevel="read committed (2)" xactid="13432730290" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="259" stmtstart="27128" stmtend="29648" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf>
    Proc [Database Id = 10 Object Id = 1822850502] </inputbuf>
    </process>
    <process id="process3243bb88" taskpriority="0" logused="10000" waittime="3156" schedulerid="36" kpid="281440" status="suspended" spid="277" sbid="0" ecid="2" priority="0" trancount="0" lastbatchstarted="2014-11-25T19:26:25.287" lastbatchcompleted="2014-11-25T19:26:25.287" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" isolationlevel="read committed (2)" xactid="13432730596" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="279" stmtstart="29650" stmtend="30242" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf />
    </process>
    <process id="process32458bc8" taskpriority="0" logused="10000" waittime="3181" schedulerid="39" kpid="277808" status="suspended" spid="277" sbid="0" ecid="3" priority="0" trancount="0" lastbatchstarted="2014-11-25T19:26:25.287" lastbatchcompleted="2014-11-25T19:26:25.287" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" isolationlevel="read committed (2)" xactid="13432730596" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="279" stmtstart="29650" stmtend="30242" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf />
    </process>
    <process id="process32431b88" taskpriority="0" logused="10000" waittime="3166" schedulerid="35" kpid="253808" status="suspended" spid="277" sbid="0" ecid="4" priority="0" trancount="0" lastbatchstarted="2014-11-25T19:26:25.287" lastbatchcompleted="2014-11-25T19:26:25.287" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" isolationlevel="read committed (2)" xactid="13432730596" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="279" stmtstart="29650" stmtend="30242" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf />
    </process>
    <process id="process32445708" taskpriority="0" logused="10000" waittime="3203" schedulerid="37" kpid="277024" status="suspended" spid="277" sbid="0" ecid="1" priority="0" trancount="0" lastbatchstarted="2014-11-25T19:26:25.287" lastbatchcompleted="2014-11-25T19:26:25.287" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" isolationlevel="read committed (2)" xactid="13432730596" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="279" stmtstart="29650" stmtend="30242" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf />
    </process>
    <process id="process5c4ee08" taskpriority="0" logused="10000" waittime="3136" schedulerid="18" kpid="261740" status="suspended" spid="277" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2014-11-25T19:26:25.287" lastbatchcompleted="2014-11-25T19:26:25.287" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" loginname="INTRANET\sysCWBASPNET" isolationlevel="read committed (2)" xactid="13432730596" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="279" stmtstart="29650" stmtend="30242" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf>
    Proc [Database Id = 10 Object Id = 1822850502] </inputbuf>
    </process>
    <process id="process32444988" taskpriority="0" logused="1138880" waitresource="PAGE: 10:12:435718" waittime="3258" ownerId="13432730596" transactionname="UPDATE" lasttranstarted="2014-11-25T19:26:25.800" XDES="0x18cb1136e0" lockMode="U" schedulerid="37" kpid="261676" status="suspended" spid="277" sbid="0" ecid="8" priority="0" trancount="0" lastbatchstarted="2014-11-25T19:26:25.287" lastbatchcompleted="2014-11-25T19:26:25.287" clientapp=".Net SqlClient Data Provider" hostname="LDNPSM032220" hostpid="2240" isolationlevel="read committed (2)" xactid="13432730596" currentdb="10" lockTimeout="4294967295" clientoption1="538970208" clientoption2="128056">
    <executionStack>
    <frame procname="" line="279" stmtstart="29650" stmtend="30242" sqlhandle="0x03000a00c67da66c2575ac0051a300000100000000000000" />
    </executionStack>
    <inputbuf />
    </process>
    </process-list>
    <resource-list>
    <pagelock fileid="5" pageid="451520" dbid="10" objectname="" id="lock178f827f80" mode="UIX" associatedObjectId="72057604489740288">
    <owner-list>
    <owner id="process5c4ee08" mode="IX" />
    <owner id="process5c4ee08" mode="U" />
    </owner-list>
    <waiter-list>
    <waiter id="process2b41ce08" mode="IU" requestType="wait" />
    </waiter-list>
    </pagelock>
    <exchangeEvent id="Pipe149719eb00" WaitType="e_waitPipeGetRow" nodeId="8">
    <owner-list>
    <owner id="process32444988" />
    </owner-list>
    <waiter-list>
    <waiter id="process3243bb88" />
    </waiter-list>
    </exchangeEvent>
    <exchangeEvent id="Pipe149719eb80" WaitType="e_waitPipeGetRow" nodeId="8">
    <owner-list>
    <owner id="process32444988" />
    </owner-list>
    <waiter-list>
    <waiter id="process32458bc8" />
    </waiter-list>
    </exchangeEvent>
    <exchangeEvent id="Pipe149719ec00" WaitType="e_waitPipeGetRow" nodeId="8">
    <owner-list>
    <owner id="process32444988" />
    </owner-list>
    <waiter-list>
    <waiter id="process32431b88" />
    </waiter-list>
    </exchangeEvent>
    <exchangeEvent id="Pipe149719ea80" WaitType="e_waitPipeGetRow" nodeId="8">
    <owner-list>
    <owner id="process32444988" />
    </owner-list>
    <waiter-list>
    <waiter id="process32445708" />
    </waiter-list>
    </exchangeEvent>
    <exchangeEvent id="Pipe149719e300" WaitType="e_waitPipeGetRow" nodeId="3">
    <owner-list>
    <owner id="process32445708" />
    <owner id="process3243bb88" />
    <owner id="process32458bc8" />
    <owner id="process32431b88" />
    </owner-list>
    <waiter-list>
    <waiter id="process5c4ee08" />
    </waiter-list>
    </exchangeEvent>
    <pagelock fileid="12" pageid="435718" dbid="10" objectname="" id="lockdfda7ef80" mode="IX" associatedObjectId="72057604489740288">
    <owner-list>
    <owner id="process2b41ce08" mode="IX" />
    </owner-list>
    <waiter-list>
    <waiter id="process32444988" mode="U" requestType="wait" />
    </waiter-list>
    </pagelock>
    </resource-list>
    </deadlock>
    Shivraj Patil.

  • How to resolve RESOURCE_SEMAPHORE and RESOURCE_SEMAPHORE_QUERY_COMPILE wait types

    We are trying to figure out root cause of slow running sql server queries hitting/fetching data from one of the database , size 300 GB, hosted on server with below configuration:
    Windows server 2003 R2, SP2, Enterprise Edition, 16 GB RAM , 12 CPU'S 32 Bit
    SQL server 2005, SP4, Enterprise Edition, 32 Bit.
    We have already informed business on the upgrade to 64 bit which would take over a month.
    But for the current issue, we are trying to gather the data if we can resolve the memory pressure or finally come to a conclusion to increase RAM.
    Action Completed: Re-indexing and update stats are proper for this DB.
    As shown below, we have been noticing the semaphore waittype for past 5 days, ran during the load hours:
    Few info after below queries: size of buffer= 137272
    SELECT SUM(virtual_memory_committed_kb)
    FROM sys.dm_os_memory_clerks
    WHERE type='MEMORYCLERK_SQLBUFFERPOOL'
    and semaphore memory= 644024 per below query
    SELECT SUM(total_memory_kb)
    FROM sys.dm_exec_query_resource_semaphores
    Below is some more info gathered from dm_exec_query_resource_semaphores and sys.dm_exec_query_memory_grants dmv's
    So from above info gathered and per SP_Blitz data Resource semaphore seems to be the problem.
    Is memory 'target_memory_kb' assigned for resource semaphore id's too low, as compared to 16 GB RAM available.
    Note* per analysis on 8 hours run 'target_memory_kb' is always under 1 GB, compared to 16 GB available?
    what could be the issue here and how to resolve, please suggest
    Thanks

    I've performed index tuning for those queries, like missing index , rebuilds and stats update.
    So is it going to be more worst, after that change of MAXDOP ?
    Index and query tuning goes hand-in-hand.  Proper indexes with updated stats alone won't improve performance if queries contain non-sargable expressions or are coded in a suboptimal way.  You need to examine the problem queries and execution
    plans in detail to see if performance opportunities exist.  Be aware that SQL Server may throw parallelism to address an issue like a non-sargable query predicate.  The query may run faster as a result but at the cost of more CPU utilization
    for the duration of the query that may impact other users.  I suggest changing MAXDOP after query tuning.  You may need to experiment for the most optimal value for your workload.
    However, concern would be this one query, which as per developer is just a part of filter in ssrs reports, i.e. small query for the larger query has multiple sessions open for almost a day now.
    By smaller query, are you referring to the number of rows returned?  Perhaps the reason is the number of rows actually touched.  Post the query, DDL and execution plan.
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • Question about wait type NETWORK_IO

    From the articles below, we know the NETWORK_IO composed by network transmission + Client application dealing with the rows.
    That's suppose the NETWORK_IO  is 100 seconds, so my question is how many seconds spent for network transmission , and how many seconds spent for  Client application ?
    As If I don't know the time spent for the two components respectively, I wouldn't  know if it is a network issue Or Client application issue.
    http://blogs.msdn.com/b/joesack/archive/2009/01/09/troubleshooting-async-network-io-networkio.aspx
    http://mssqlwiki.com/sqlwiki/sql-performance/async_network_io-or-network_io/
    Please click the Mark as Answer button if a post solves your problem!

    As If I don't know the time spent for the two components respectively, I wouldn't  know if it is a network issue Or Client application issue.
    Hi,
    Wait stats are cumulative and the 100 ms would include total waiting time it wont be possible to segregate the time. Its cumulative of time when result set was sent to client and when client gave acknowledgement  that result set is consumed
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Wiki Article
    MVP

  • Troubleshooting BACKUPTHREAD wait type

    SELECT r.wait_type command,
    s.text,
    start_time,
    percent_complete,
    CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
    + CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
    + CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
    CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
    + CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
    + CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
    dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
    FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) s
    WHERE r.command in ('RESTORE DATABASE')command start_time percent_complete running_time est_time_to_go est_completion_time
    BACKUPTHREAD 2014-05-29 17:16:45.943 6.264207 0 hour(s), 31min, 6 sec 7 hour(s), 44min, 35 sec 2014-05-30 01:32:26.807
    Hey ,
      I am restoring the database from network share to my development server. Its been extremely slow.The estimated completion time is about 8 hours and it used to take lot less in the past.
    The SQL Server is running under the account which has all the privileges  to do instant file initialization. I verified that.
    I copied some files from network share and it looks fine. Network speed doesn't look too bad. My memory ( 12 GIG ) and Processor ,etc look OK. I verified those through Resource Monitor.
    Is there a query or any other Diagnostic Tool I can use to figure out where the bottleneck for such a slow database restore?
    select @@VERSION
    Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) 
    Apr  2 2010 15:48:46 
    Copyright (c) Microsoft Corporation
    Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
    Thanks in advance.
    I90Runner

    First please upgrade SQL Server 2008 R2 to Sp2. Now is it necessary to run restore from network share IMO restoring from network share is mostly slow as compared to local disk. There can be many reason for slow restore from network share most prominen is
    Your network share is not able to cope with read request or is slow
    The drive where you are restoring is facing I/O crunch or is slow
    There is some network issue with your storage
    Result you posted is not of much use it just tells you amount of time your restore operation would take to complete.
    Below is list of whitepaers MS published in below link look for 'A Technical Case Study: Fast and Reliable Backup and Restore of Multi-Terabytes Database over the Network '
    http://blogs.msdn.com/b/sqlcat/archive/2013/09/05/sqlcat-com-consolidated-index-of-whitepapers.aspx
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Custom DTS package migration from BPC 4.2 ,SQL 2000 to BPC 7.0 M , SQL 2005

    Is there any changes required in the custom dts package when migration from BPC 4.2 , sql 2000 Environment to bpc 7.0 , SQL 2005/2008  Environment.
    or
    Please suggest process for migrating  custom dts package from BPC 4.2 ,SQL 2000 Envirnment to BPC 7.0 ,SQL 2005/2008 Environment

    When you say "custom dts package" that can mean many different things. What type of customization has been done?
    There are a few BPC-related features which changed from 4.2, which must be manually adjusted, if you're using those features.
    But SQL itself also changed dramatically in moving from SQL 2000 to 2005. So if your customer's packages are heavily customized around SQL 2000, this may require substantial re-work.
    The only migration process for custom DTS packages -- that I'm aware of -- is to use the SQL 2005 migration tool in SSIS, see how much it messed up, and then fix everything else that's still broken.
    But there also may be opportunities to improve the package overall. SQL 2005 has a lot of great new features in SSIS, over what was there in SQL 2000.
    I haven't started working with SQL 2008 yet, so I can't say what complexity there is in upgrading DTS packages from 2005 to 2008. From what I read in the BPC 7 release notes, it sounds like it's a very minor upgrade, compared to the jump from 2000 to 2005.

  • Error in NetWeaver CE 7.1 Installation: Step importJavaDump with MSS 2005

    After a dozen unsuccessful tries to install SAP NetWeaver CE 7.1 onto a Windows platform using the Microsoft SQL Server as the backed I could use help regarding this particular error.
    I receive the following error when I try to install the software with MSS as the backend:
    ERROR      2008-09-29 10:40:02.319 [sixxcstepexecute.cpp:944]
    FCO-00011  The step importJavaDump with step key |CE_DevSystem_App|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|2|0|NW_CreateDBandLoad|ind|ind|ind|ind|10|0|NW_Jload|ind|ind|ind|ind|11|0|importJavaDump was executed with status ERROR .
    The error occurs only with MSS. I have both my Windows and MSS updates up to date. When I use MaxDB as the backend everything goes nice and smooth (even the java info dump, or whatever that command does). When I use Microsoft SQL Server as the backend this error is printed. I have tried with Microsoft SQL Server 2005 Developer Edition on both Windows 2003 Server and Windows XP Professional SP3.
    The following gets printed to jload.log:
    29.09.08 10:39:49 com.sap.inst.jload.Jload main
    INFO: Jload R 7.10 V 0 A 0
    29.09.08 10:39:49 com.sap.inst.jload.Jload main
    INFO: Jload -sec CE2,jdbc/pool/CE2,C:/usr/sap/CE2/SYS/global/security/data/SecStore.properties,C:/usr/sap/CE2/SYS/global/security/data/SecStore.key -dataDir C:/Work/Temp/51033845_NW_CE_7.1_Workplace_32-bit\DATA_UNITS\CE71_05_JAVA_JDMP -job C:\Program Files\sapinst_instdir\CE71_DEV_MSS\INSTALL\IMPORT.XML -log jload.log
    29.09.08 10:40:02 com.sap.inst.jload.Jload main
    SEVERE: couldn't connect to DB
    29.09.08 10:40:02 com.sap.inst.jload.Jload logStackTrace
    SEVERE: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the named instance  has failed. Error: java.net.SocketTimeoutException: Receive timed out.
         at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
         at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(Unknown Source)
         at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
         at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
         at com.sap.sql.connect.factory.DriverPooledConnectionFactory.createVendorConnection(DriverPooledConnectionFactory.java:50)
         at com.sap.sql.connect.factory.DriverPooledConnectionFactory.getPooledConnection(DriverPooledConnectionFactory.java:37)
         at com.sap.sql.connect.datasource.DBDataSourceImpl.createPooledConnection(DBDataSourceImpl.java:677)
         at com.sap.sql.connect.datasource.DBDataSourceImpl.newPooledConnection(DBDataSourceImpl.java:626)
         at com.sap.sql.connect.datasource.DBDataSourceImpl.getConnection(DBDataSourceImpl.java:105)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.getConnection(OpenSQLDataSourceImpl.java:202)
         at com.sap.inst.jload.db.DBConnection.connectViaSecureStore(DBConnection.java:109)
         at com.sap.inst.jload.db.DBConnection.connect(DBConnection.java:153)
         at com.sap.inst.jload.Jload.main(Jload.java:702)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sap.engine.offline.OfflineToolStart.main(OfflineToolStart.java:161)
    29.09.08 10:40:02 com.sap.inst.jload.Jload printErrorInformation
    SEVERE: An error occured during execution. Please consult SAP note 942766 for first steps on troubleshooting the problem.
    For one thing, there is no SAP note 942766 when you search for one at SAP Notes. Another thing that is particularly interesting is that the SQL JDBC driver does not get the SQL instance name, or at least does not print that to the exception message but instead leaves there two whitespaces (The connection to the named instance >>Instance name should be here<< has failed).
    Any suggestions on how to get pass this error? All help would be appreciated!
    Best regards,
    Sven

    hello,
    please check and ensure that:                                                                               
    - your database server is started.                                                                               
    - your database instance is running and you can connect  to  it through the network interface                                                                               
    - the entries in secure store contain the correct options for 
    connecting to the database. (These can be checked via     configtool and this only applies to the case when JLoad is run  using secure store parameters)                                   
    hope this helps
    kr,
    andreas

  • SAP BPC 7 APPSet Restore SQL 2005

    Hi Everyone,
    I have SAP BPC 7 setup in a multi-server environment, and it's working well. I created a dev environment, installed SAP in the same fashion, and now when I try to restore an app set through server manager in dev, it keeps putting the SQL DB on C instead of where it should go on I:\ .
    The original app set was using this same drive configuration, and that backup/restore works fine -
    I've gotten this to work before, but I can't seem to get the restore to go somewhere else this time...
    Any thoughts appreciated -
    Edward

    Hi,
    More testing today so let's share
    There is 3 registry key in SQL Server 2005 :
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\DefaultData
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\DefaultLog
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\Setup\SQLDataRoot
    Key #1 and key #2 are the one you configure in SQL server Manager and they correspond to the *.MDF directory and *.LDF directory.
    Key #3 is the one you configure during SQL Server installation.
    SAP Server manager will use key #3 when you restore an appset and also during the installation process of the ApShell.
    Key #1 and Key #2 are used by BPC setup to create the AppServer database.
    So to conclude : Even if you change Key #3 value in order to change the directory where you want to create your DB files, you will not be able to put *.MDF files on a different folder (directory) thant *.LDF files. Which means that after each AppSet restoration you will have to manually move at least the *.LDF or *.MDF file. I think this can be scripted with a T-SQL command... But you will have to do it.
    On a side note, i tried to delete Key #3 (was hoping that it will use key #1 and #2) => This is not working. The AppSet restore will fail (in fact this is SQL Server who will throw an error).
    Will ask my customer to open a case on SAP support, maybe it could be "fixed" one day.

  • Significance of Account Type EXP,LEQ,INC,AST in BPC- Need some valid reason

    Hi,
    I have a question why we need account type in BPC. Is there really any Business significance for maintaining Account Type ?
    Account type LEQ, INC it behaves differently while load data/display data as sign change happens in SAP Back end. Major issue comes when you try to create a re-concillation report using BEX tool for LEQ, INC accounts in BPC and BI cube as you need to reverse the sign in BEX side for any calculation or any data match for INC and LEQ accounts.
    My implication is : Is there anything wrong if we take all accounts as EXP account type because what data comes from other source/Input schedule remain as such for all accounts. There will be no Discrepancy/confusion of sign while in reporting in BI side or BPC side. You can follow normal calculation process if you have calculated any item in the report and does not bother about the account type and behaves same as the BI cube data.
    Any idea or any issue if the above implication is implemented. I need some concrete reasons for the above issue as it create a extra headache/confusion in BPC impementation project.
    Thanks
    Debasisha

    Hi Debasish,
    Lets take a simple example. Lets say you have revenue as INC, sales as EXP and Profit as INC. You enter values from input schedule as below
    Acct    Type    Value entered in IS      Value in DB
    Revenue   INC   400                   -400
    Sales   EXP     100                  100
    Lets say Profit is the parent, then the values will be
    Profit   INC   -300
    In the report, you will see the data as 300 (since profit is of type INC).
    However, if you keep all as EXP, then
    Acct    Type    Value entered in IS      Value in DB
    Revenue   EXP   400                   400
    Sales   EXP     100                  100
    Profit    EXP                             500
    The above data, as you can see, is incorrect. Now, for making it correct, you need to put a formula for Profit as Revenue - Sales. This looks easy, however, will become cumbersome with more number of members.
    Hope you got the idea now.

  • CXPACKET Wait events

    Hi,
    I am facing wait event CXPACKET in top wait events. we are using SQL Server 2012. the DOP is set to 1. 
    Please suggest how to resolve this
    REgards

    Hi,
    I am facing wait event CXPACKET in top wait events. we are using SQL Server 2012. the DOP is set to 1. 
    Any reaosn why DOP is set to 1.Have you tested this scenario.Instaed of first moving for resolving CXPACKET wait which is not a acctual reason it is just a symptom .It happens when various parallel threads are waiting to synchronize after doing the
    task.What is other major wait stats you can see.Can you paste output of below query here
    --By Jnathan Kehayias
    SELECT TOP 10
    wait_type ,
    max_wait_time_ms wait_time_ms ,
    signal_wait_time_ms ,
    wait_time_ms - signal_wait_time_ms AS resource_wait_time_ms ,
    100.0 * wait_time_ms / SUM(wait_time_ms) OVER ( )
    AS percent_total_waits ,
    100.0 * signal_wait_time_ms / SUM(signal_wait_time_ms) OVER ( )
    AS percent_total_signal_waits ,
    100.0 * ( wait_time_ms - signal_wait_time_ms )
    / SUM(wait_time_ms) OVER ( ) AS percent_total_resource_waits
    FROM sys.dm_os_wait_stats
    WHERE wait_time_ms > 0 -- remove zero wait_time
    AND wait_type NOT IN -- filter out additional irrelevant waits
    ( 'SLEEP_TASK', 'BROKER_TASK_STOP', 'BROKER_TO_FLUSH',
    'SQLTRACE_BUFFER_FLUSH','CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT',
    'LAZYWRITER_SLEEP', 'SLEEP_SYSTEMTASK', 'SLEEP_BPOOL_FLUSH',
    'BROKER_EVENTHANDLER', 'XE_DISPATCHER_WAIT', 'FT_IFTSHC_MUTEX',
    'CHECKPOINT_QUEUE', 'FT_IFTS_SCHEDULER_IDLE_WAIT',
    'BROKER_TRANSMITTER', 'FT_IFTSHC_MUTEX', 'KSOURCE_WAKEUP',
    'LOGMGR_QUEUE', 'ONDEMAND_TASK_QUEUE',
    'REQUEST_FOR_DEADLOCK_SEARCH', 'XE_TIMER_EVENT', 'BAD_PAGE_PROCESS',
    'DBMIRROR_EVENTS_QUEUE', 'BROKER_RECEIVE_WAITFOR',
    'PREEMPTIVE_OS_GETPROCADDRESS', 'PREEMPTIVE_OS_AUTHENTICATIONOPS',
    'WAITFOR', 'DISPATCHER_QUEUE_SEMAPHORE', 'XE_DISPATCHER_JOIN',
    'RESOURCE_QUEUE' )
    ORDER BY wait_time_ms DESC
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

Maybe you are looking for