Download presentation
Presentation is loading. Please wait.
1
Microsoft SQL Server Administration for SAP Performance Monitoring and Tuning
2
2 Overview
3
3 Database Performance Analysis
4
4
5
5
6
6 Cache and CPU Tuning Poor SQL statements? Cache hit ratio > 95%? 2 * CPU idle > CPU busy? OS paging? All CPUs available for SQL Server? Tune poor statements Increase server main memory Add CPU(s) to server Increase CPUs for SQL Server + Yes No ? Yes No
7
7 Database Configuration affinity mask awe enabled cost threshold for parallelism max degree of parallelism fillfactor index create memory lightweight pooling Locks / open objects / connections Max/Min server memory
8
8 Database Configuration max worker threads min memory per query network packet size / protocol priority boost query governor cost limit query wait recovery interval set working set size
9
9 Server Parameters
10
10 I/O System Tuning Slow RAID identified? Avg. disk queue length > 2 * phys. Disks in RAID RAID 5 and mostly write queue? Check all logical disks with NT perfmon Switch to RAID 0+1 Decrease max async I/O Yes No ? Yes Peak I/O on I/O bus < 133 MB/sec Add / speed up I/O bus Peak I/O on RAID < 40 MB/sec No Yes Add RAID + move disks Yes Check disk + controller No
11
11 Server Configuration DisklayoutDisklayout ParametersettingsParametersettings HardwareconfigurationHardwareconfiguration Main memory CPUCPU DisksDisks Poor database configuration configuration Poor configuration Cache hit ratio SQL Server CPU utilization DB error log High I/O times Operating system paging CPU utilization Disk response times >95% 2 * idle > busy (SQL Server) Select 1 row via prim. key > 10 ms 2 * idle > busy (total) Wait queue and low transfer rate Page in > 100 MB / h
12
12 Isolation level Scan type (Range, Table, Probe) # of rows in scan # of rows/page Locking strategy (Table, Page, Row) Operation type (scan, update) Dynamic Locking
13
13 To lock a fine granule must place intent locks at higher granules T1: IX T1: X T2: IS T2: S Table PagePagePage RowRowRow Multi-Granular Locking
14
14 ModeDescription SShare - used for reading XExclusive - typically used for writing UUpdate - used to evaluate prior to writing ISIntent Share - share locking at finer level IXIntent Exclusive - X locking at finer level SIXShare Intent Exclusive Lock Modes Standard multi-granular lock modes
15
15 Resource Type Resource Specific Data Database ID HOW does SQL lock ? How do you identify a lock? Lock “resource” Table “Authors” Page 23 Row with Key = “23812” Lock manager knows nothing about resource format; it simply does a “memcmp()” Lock resource format:
16
16 Example resource formats: Table: Page: RowID: Key: 3256585 Object ID 2:3286 File#: Page# 2:328:119 File# : Page# : Slot on Page 325658:2:23411867 Object ID : IndexId : 6byte Hash 5 5 5 5 Resource type Database ID Lock Resource Format
17
17 New Lock Hints Granularity Hints ROWLOCK, PAGLOCK,TABLOCK ISOLEVEL Hints HOLDLOCK, NOLOCK READCOMMITTED, REPEATABLEREAD, SERIALIZABLE, READUNCOMMITTED [All New]
18
18 New Lock Hints READPAST Useful for implementing work queues UPDLOCK Select for update Deadlock due to select for update Starving lock waits LOCK_TIMEOUT(not a hint) Application response time
19
19 Concurrency issue analysis sp_who, sysprocesses sp_locks SQL Profiler sp_indexoption Deadlock DBCC inputbuffer Kill Lock waits Latches
20
20 Time 1. Work process 2. Work process 3. Work process 4. Work process Acquires MARA Lock A long period of processing Commit Update MARA Working... WAITING! Update MARA Requests MARA Lock Acquires MARA Lock Commit Working... WAITING! Update MARA Requests MARA Lock Acquires MARA Lock WAITING... Update MARA Requests MARA Lock MARA Locked by: WP 1WP 2WP 3 Lockwait Situations
21
21 Monitoring Lockwaits R/3 Lock Monitor
22
22 Process info from SQL Enterprise Manager
23
23 Locks from SQL Enterprise Manager
24
24 Locks from SQL Enterprise Manager
25
25 ST04 Detailed Analysis
26
26 Top Largest Tables
27
27 Top Largest Updated Tables
28
28 ST05
29
29 Table Analysis
30
30 Table Statistics
31
31 Selectivity
32
32 Density
33
33 DBCC Showcontig
34
34 Performance History
35
35 System Tables
36
36 System Procedures
37
37 Name Cache Stats
38
38 Stats on SPs
39
39 Stats on SPs
40
40 Stats on SPs
41
41 Stats on SPs
42
42 Stats on SPs
43
43 Query issues Unnecessary results Select with no where clause Select * instead of selecting few columns Queries not qualified properly Poorly written queries Missing index Old statistics Incorrect optimization Index Tuning Wizard
44
44 Choosing index Space utilized by index Index maintenance overhead To cluster or not Bookmark lookup Range scan(OLTP Vs OLAP) Index columns Short & with high selectivity Often used in many statements Covered Multi index query
45
45 Monitoring Query execution Analyze query execution plan Analyze the right plan - connection settings spid, blocked, waittype, cpu physical_io, memusage, open_tran from sysprocesses Execution plan, read, write, duration in SQL Profiler
46
46 Monitoring Query execution Stats I/o Stats time Write your own trace Expected time / threshold Worktable Scan Vs Seek
47
47 Query execution Query Hints Join, Index, Lock, Processing Distributed query execution TOP / SET ROWCOUNT FASTFIRSTROW IN / OR and subquery Selecting with alias
48
48 Using stored procedures Cached execution plan Recompiled when stats changes Warning: Wrong Parameter to stored proc Binding parameter by position Set nocount sp_executesql Auto-parameterization in SQL7 sp_recompile
49
49 Table statistics Auto update stats Rowmodctr and StatVersion Fullscan and sampling Auto column stats Explicit update stats Explicit column stats sp_autostats Queue / log table sp_recompile
50
50 Tuning Expensive SQL Statements Poor statement DDIC info SQL Explain Where used list Is there a suitable index? Good Optimizer decision? Inefficient coding? Update statistics Re-code Yes No Index statistics up to date? No Re-code or change index Yes Statistics page Autoupdate stats on? Switch on auto updstats Yes No
51
51 Lab Improve the slow running report Use ST05 Stats on SPs(ST04) And other methods
52
52 Summary Write module summary
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.