brett bennett senior premier field engineer microsoft corporation

Post on 27-Mar-2015

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SQL Server For System Center 2012Santos MartinezPremier Field EngineerMicrosoft CorporationUD-B324

Brett BennettSenior Premier Field EngineerMicrosoft Corporation

Thinking About SQL for System Center?

SQL?

The System Center 2012 products have one thing in common…

...they all use Microsoft SQL Server!

Proper installation and configuration of Microsoft SQL Server is critical for System Center products.

Misconfiguration of SQL Server can cause issues:• High CPU• Memory shortages• Inbox/file backlogs• Workflow delays• Stale or inaccurate data in reports

Carefully consider and plan for the volume of data that System Center products generate and the load this will place on SQL server

Agenda1. SQL 20122. SQL Memory Settings3. Detecting SQL Memory Pressure4. Useful SQL-related Performance Monitor counters5. SQL AutoGrow Settings6. SQL Database Options7. SQL Clustering guidance8. Best Practices for System Center products

SQL 2012

• Increased performance and scalability• Powerview – SQL Reporting Services Add-in for

Sharepoint• Powerpivot - Excel Add-in• Powershell support to enable automation• AlwaysOn

SQL 2012: What’s new?

What is AlwaysOn?• Provides high availability and disaster recovery for SQL

server• Availability Groups for databases• Failover Cluster Instance for SQL server instances• Uses Windows Server Failover Clustering• Supported in several System Center 2012 products• Requires SQL 2012 Enterprise edition

SQL 2012 AlwaysOn

SQL Server 2012 AlwaysOn supported on:• App Controller• Operations Manager• Orchestrator• Service Manager• Virtual Machine Manager

SQL Server 2012 AlwaysOn not currently supported on:• Data Protection Manager• Configuration Manager

http://technet.microsoft.com/en-us/library/jj628198.aspx

SQL 2012 AlwaysOn & System Center 2012

SQL Memory

SQL MemoryBuffer Pool• Consists of 8kb pages• Data cache stored here• Execution plans that is less that

8kbSQL Engine• SQL components• Execution plan that is more than

8kb• SQL CLR (Common Language

Runtime) • Also called MemToLeave

13

Maximum Server Memory

Consider limiting SQL to 50%-80% of total memory if SQL will co-exist on server with another System Center product

example: one server running ConfigMgr primary site server & SQL database

Consider limiting SQL to 80%-90% if SQL server is dedicated

example: dedicated SQL server that only hosts databases or a SQL cluster

NOTE: Setting the Maximum and/or Minimum Server memory settings only controls the Buffer Pool Memory

SQL: Memory Settings

Minimum Server Memory• SQL does not allocate Minimum Server Memory at

start up • Grows until reaches Maximum• Once Buffer Pool hits Minimum Server Memory,

SQL will not release the memory

NOTE: Setting the Maximum and/or Minimum Server memory settings only controls the Buffer Pool Memory

SQL: Memory Settings

15

DEMOMemory SettingsSantos Martinez

• SQL Buffer Pool Memory Pressure happens when SQL does not have enough memory to hold data in memory

• Can result in excessive I/O• Check the following perfmon counters:

SQL: Buffer Manager -> Lazy writes/ Sec goes upSQL: Buffer Manager -> Page Life Expectancy goes downSQL: Buffer Manager -> Free Pages goes down

Detecting SQL Memory Pressure

• SQLServer:Buffer Manager ->Buffer cache hit ratio(>90-95%)->Free pages(>640)->Lazy writes/sec (<20)->Page life expectancy (>300)->Page reads/sec (<90)->Page writes/sec (<90)

• SQLServer:Memory Manager-> Target Server Memory (KB) (Target >= Total)-> Total Server Memory (KB) (Target >= Total)

SQL: Useful SQL Perfmon Counters

The SQLServer: Memory Manager: Target Server Memory (KB) perf counter tells how much memory SQL Server would like to use to operate efficiently

SQLServer: Memory Manager: Total Server Memory (KB) tells how much memory SQL Server is using

If Total Server Memory >= Target Server Memory, may indicate SQL Server is under memory pressure

Monitor SQL Performance

• CPU • Processor: %Processor Time – If 80-90% for a

sustained period, identify the process with Process: %Processor Time and determine if faster/more processors are needed

• Processor: % Privileged Time – If counter is consistently high and in-line with Physical Disk counters, disk sub-system is bottleneck

• Memory• SQLServer: Buffer Manager: Buffer Cache Hit

Ratio – less than 90% indicates memory pressure

• Memory: Pages/ sec – a high rate for this counter indicates excessive paging

Monitor SQL Performance

• Deploy the System Center Management Pack for SQL Server• Monitors SQL Server 2005, 2008, 2008 R2 and SQL Server

2012• Monitors the database instances, the databases themselves

and the SQL server agents• Provides a wealth of data around performance, availability

and configuration.

http://www.microsoft.com/en-us/download/details.aspx?id=10631

Monitoring via Operations Manager

Database AutoGrow

If Autogrow setting is too small:• SQL spends significant processing time autogrowing the database• Each file grow in log file creates a Virtual Log File (VLF)• Excessive VLF may cause performance issues:• When VLF>250, performance will be impacted• When VLF >10000, SQL will take longer to bring up database

Additional information on VLFs available at http://support.microsoft.com/kb/2455009

SQL: AutoGrow

If Autogrow setting is too large:• During autogrow, SQL will write zeroes in the space that is grown.• During autogrow, queries involving updates, inserts, deletes may be

blocked.• Can enable Instant File Initialization for the DB but possible security

risk as deleted data may still be viewable• Instant File Initialization does not work for log files

Additional information available at http://msdn.microsoft.com/en-us/library/ms175935(v=sql.105).aspx

SQL: AutoGrow

DEMOAuto GrowBrett Bennett

• TempDB database typically heavily used• Consider pre-sizing the data file, don’t rely on autogrow. • If you need to autogrow, use fixed amount to avoid frequent

growth intervals, which affects performance (10% of tempdb size good starting point)

• Divide TempDB into multiple files, one data file per CPU, and each file should be set to the same size

• Additional information here http://msdn.microsoft.com/en-us/library/ms175527.aspx

TempDB

• Isolate transaction log files from database files at disk level• Recommended to have at least 20% free disk space on all

disk drives. Important for performance and to prevent running out of space

Storage

Common customer question: Should I use physical or virtual servers for my SQL Server and/or System Center 2012 servers?

• SQL Server and System Center 2012 supported on physical and virtual servers

• More and more customers using virtual servers for their SQL and System Center infrastructure. Benefits include:• Reduced server hardware costs• Reduced data center costs• Easier to move virtual servers from one host to another • Easy to add/remove memory, CPU, etc. to/from guest OS • Snapshot technology allows rollback in case of issues, upgrade failure, etc.

Physical or Virtual Servers?

If you use virtual servers:• Verify host server can handle the additional load • Slow disks, low memory and high CPU utilization can have major

impact on SQL Server and System Center products• Avoid using dynamic virtual drives (VHDs) as they can decrease

performance• Allocate at least two virtual CPUs for the instance of SQL Server• Do not allocate more virtual CPUs than the number of available

logical CPUs

Ensure that recommended memory/CPU/disk requirements are at least met, if not exceeded – don’t reduce resources because it’s a VM

Physical or Virtual Servers?

Common customer question: For System Center 2012 product X, should I use local or remote SQL server?

The answer: It depends!

SQL: Local or Remote

Look at product specific planning guidance. Some links below:

• Configuration Manager: http://technet.microsoft.com/en-us/library/hh846235.aspx

• Service Manager: SM Sizing Helper Tool, part of SM job aids http://www.microsoft.com/en-us/download/details.aspx?id=13605

• Operations Manager: OM 2012 Sizing Helper Tool http://blogs.technet.com/b/momteam/archive/2012/04/02/operations-manager-2012-sizing-helper-tool.aspx

SQL Server Collation

• SQL Server Collation defines how SQL handles data in the database (indexing, sorting, storing, etc)

• Selecting the correct collation type for the System Center products is important

• Choosing wrong collation type could cause various issues around manipulating data, searching data, etc

Collation

• There are two types of collation – SQL Server collations and Windows collations

• In past System Center products only supported SQL_Latin1_General_CP1_CI_AS collation (default when install SQL Server on English US Windows Server

• Trend in SQL is to use Windows collations, phase out SQL collations

• System Center products starting to make that change

Collation

SQL Clustering

What is needed?• 2 Nodes• Minimum of 16 GB of RAM for each Node• 2 Network Cards, Internal Network and Heartbeat Network• SAN Storage

• Is the building process Easy?

Cluster: Building the Cluster

Common customer question: Can I use my existing SQL cluster for System Center 2012 product X?

The answer: It depends!

SQL Clustering

• If SQL cluster already busy hosting other heavily utilized databases, adding the System Center databases could be bad idea

• If SQL cluster has adequate resources then may be an acceptable option

SQL Clustering

And then the follow-up question: Can I use one SQL Server/cluster for some/all of the System Center 2012 products?

The answer: Maybe! Depends on the System Center products being used

SQL: One for All?

Assuming you had a SQL Server/cluster with enough resources to handle the demand, one issue you may run into relates to the SQL requirements:• Some System Center 2012 products need dedicated SQL

Reporting Services instances (Operations Manager, Service Manager)

• Some products do not support clustering the database (DPM)• Some products do not support SQL 2012 AlwaysOn• Some products may have different collation requirements• Some products may have specific version or cumulative

update requirements

Review the specific SQL requirements for each System Center 2012 product you will use to determine if possible

SQL: One for All?

DEMOThe One for All ClusterSantos Martinez

SQL Server Resource Properties->Policy• Ensure the option “If restart is unsuccessful, fail over all resources in

this service or application” is enabled. • Ensure failover option is disabled for SQL Agent• By default, SQL Resource will try to restart before trying to failoverSQL Server Service Properties ->Failover• Ensure Maximum Failures in the specified period is set correctly• By default, the value is n-1 where n is the number of nodes• If set to one, SQL will never failover since the cluster will try to restart

at first failure and only failover at second failure

Cluster: Restart Settings

43

Some System Center 2012 Best Practices for Databases

Configuration Manager

• In Configuration Manager 2012 the Rebuild Indexes Site Maintenance task is disabled by default. Consider enabling to run once per week or use a SQL maintenance plan

• Enable the backup and schedule to run daily (or use SQL maintenance plan, or DPM)

• Default SQL Recovery model for the Configuration Manager database is Simple. Not supported or recommended to change to Full

• Avoid enabling Auto Shrink for the Configuration Manager database, may cause transactions to be blocked and may cause index fragmentation

Configuration Manager

DemoMaintenance PlanBrett Bennett

Operations Manager

• Operations Manager activity mostly consists of data writes, not reads

• Factors that can affect this activity are:• Number and frequency of performance collection rules• Number of events collected and alerts generated per day• Discovery frequency• Configuration changes (importing MP’s, tuning MP’s, etc.)

Operations Manager

• Operations Manager databases require high performance storage; consider RAID 1+0 (aka RAID 10)

• Separate data file and transaction logs onto separate physical volumes

• Use battery-backed write-caching disk controller for Operations Manager database servers; configure 100% write caching

Operations Manager

Service Manager

• Service Manager Data Warehouse stores data for reporting and analysis purposes

• The Service Manager Data Warehouse includes 3 databases:• DWStagingAndConfig• DWRepository• DWDataMart

• The Extract/Transform/Load (ETL) process handles data movement from Service Manager database (aka CMDB) thru the Data Warehouse databases

• DWDataMart optimized to deliver reporting data quickly and efficiently

• All report data is obtained from the DWDataMart database

Service Manager Databases

S&C REP

Host all 3 Data Warehouse databases on same SQL server

OR

Place DWStagingAndConfig and DWRepository databases on one SQL server and DWDataMart database on another SQL server. DWStagingAndconfig and DWRepository db’s must be on same SQL server.Configure DWStagingAndConfig and DWRepository server RAID hardware for 50% Read/50% Write I/O Configure DWDataMart server for 100% Read I/O

Service Manager Databases

S&C REP DM

DM

Orchestrator

• Orchestrator database used heavily by Orchestrator components• Runbook servers• Management servers • Web components

• Poor database performance can affect Runbook execution

• Orchestrator database has two types of data: Configuration Data and Log Data

• Configuration Data typically not a significant source of database growth, but Log Data can cause significant database growth

Orchestrator

• Runbooks have two optional logging features• Common Published Data• Activity-specific Publisted Data

• Activity-specific published data logging can affect performance and increase database growth

• Activity-specific published data logging typically only enabled for debugging purposes

Orchestrator Log Data

Summary• Remember to evaluate the Minimum and Maximum SQL

memory settings for your environment• Adjust Autogrow settings appropriately• Begin reviewing the additional high availability that the SQL

2012 AlwaysOn feature provides• Consider amount and frequency of System Center 2012

data flow as you locate your SQL databases• Use Operations Manager to monitor your SQL servers

Evaluation

Complete your session evaluations today and enter to win prizes daily. Provide your feedback at a CommNet kiosk or log on at www.2013mms.com.Upon submission you will receive instant notification if you have won a prize. Prize pickup is at the Information Desk located in Attendee Services in the Mandalay Bay Foyer. Entry details can be found on the MMS website.

We want to hear from you!

Resources

http://channel9.msdn.com/Events

Access MMS Online to view session recordings after the event.

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

top related