evaluate daily checklist with pbm and cms
DESCRIPTION
This presentation gives an introduction to evaluating a daily checklist against 100+ instances of SQL Server while you get a cup of coffee. It will be given at SQLRally 2011TRANSCRIPT
![Page 1: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/1.jpg)
Evaluate your Daily Checklist against 100+ instances of SQL Server while you get a cup of coffeeJohn Sterrett (@JohnSterrett)
http://johnsterrett.com/go/PBM
5/12/2011
![Page 2: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/2.jpg)
Thank you Attendees & Sponsors
![Page 3: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/3.jpg)
• I am not an expert but I stayed at a Holiday Inn once….
• Founder of WVPASS (SQL UG)• I reside in Wheeling, WV (Pittsburgh, PA)• Work for Orrick Herrington & Sutcliffe LLP
– Responsible 100+ Instances of SQL Server– Responsible for PeopleSoft
About Me….
![Page 4: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/4.jpg)
My Story….
Urgency
Importance
BackupsCorruptionFailed mission critical SQL Jobs
Process improvementsContinuing educationProjectsIndex ManagementPerformance Tuning
Pittsburgh Pirates winning the world series
Everything else…
Failed JobsLow Disk Space
Comes from The 7 Habits of Highly Effective People by Stephen R. Covey
![Page 5: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/5.jpg)
• Do you have a daily checklist?• What is your daily checklist?
– Full backups– Transactional Log backups– Free space– SQL Agents are enabled– SQL Agent jobs succeeded
• How do you evaluate your daily checklist?– Central Management Server (CMS)– Policy Based Management (PBM)
Daily Checklist Questions
![Page 6: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/6.jpg)
Daily Checklist
46%
54%
Do you have a Daily Checklist?
YesNo
![Page 7: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/7.jpg)
Daily Checklist?
20%
19%
17%
19%
11%
8%5%
What do you check in your daily checklist?
Full Backups succeeded
Transactional log backups succeeded
SQL Services are running
SQL Agent jobs succeeded
Disks have free space
Data and Log files have free space
Other
![Page 8: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/8.jpg)
Daily Checklist?
6%
17%
13%
13%
40%
6%4%
How do you evaluate your daily checklist?Policy-Based Management and/or Central Manage-ment Server
3rd Party Tool
It's a manual process
We don't have a process to evaluate daily checklists
I don't know how to eval-uate a daily checklist
SQL Agent Notifications and/or Alerts
I built my own tool
![Page 9: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/9.jpg)
Job Notifications…..
![Page 10: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/10.jpg)
Trust but verify…..
• Is the SQL Agent enabled for all servers?• Does email operator exist for all jobs?• Is the operator the same across all servers?• Is Database Mail enabled for all servers?
![Page 11: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/11.jpg)
I prefer notifications and….
![Page 12: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/12.jpg)
• Similar to local server group except it’s a repository for your team.
• Group database servers– Environment– Version– Location
• Apply scripts against all servers in a group• Not all checklist items can be validated with
PBM• Can use SQL Server 2008 R2 Express
Central Management Server (CMS)
![Page 13: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/13.jpg)
Which version of SQL should I use?
![Page 14: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/14.jpg)
• MSDB is used to store servers and groups• Servers –
msdb.dbo.sysmanagement_shared_registered_servers_internal
• Groups – msdb.dbo.sysmanagement_shared_server_groups_internal
CMS Internals
![Page 15: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/15.jpg)
CMS Security
• Security –– ServerGroupAdministratorRole role can manage the central management
server. – ServerGroupReaderRole role is required to connect to a central management
server.– Windows Authentication of the individual servers is used to execute t-sql and
policies.
![Page 16: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/16.jpg)
First look at CMS
![Page 17: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/17.jpg)
• Create Configuration Management Server• Create Groups• Register Servers• Execute scripts against a group
– Find missing backups– Find failed SQL Agent Jobs– Check SQL Agent Service is enabled
DEMO
![Page 18: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/18.jpg)
• CMS itself cannot automate query execution.• CMS only supports windows authentication• Query results are ordered by server name• Cannot include host server (Unless you use
127.0.0.1 or add port number)• Query executes for all listed servers. (Includes
duplicates)
CMS Gotchas!
![Page 19: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/19.jpg)
Leverage PowerShell to automate CMS
• Aaron Nelson – SQL University PowerShell Week
![Page 20: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/20.jpg)
DEMO!
• Automate CMS with PowerShell
![Page 21: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/21.jpg)
• Policy-Based Management is a system for managing one or more instances of SQL Server 2008 (* BOL).
• Some facets allow you to enforce standards with “On-Change – Prevent”
• Can import and export policies• Apply changes when evaluation fails• Policies can run against SQL 2000 & 2005
Policy-Based Management (PBM)
![Page 22: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/22.jpg)
• Prevent things from happening Apply changes • Automate validation of checklists
– Checklists are prone to human error.– Server configurations can change over time.
• Daily checklist items we will validate– SQL Agent is enabled– SQL Agent Jobs– Full backups– Transactional Log backups– Free Space
I use CMS & PBM to do two things…
![Page 23: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/23.jpg)
• Targets • facets• conditions• policy• categories• server restrictions
PBM Concepts and Terms
![Page 24: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/24.jpg)
Page Verify Policy
Database Target
Database Performance Facet
@PageVerify = true Condition
SQL Server 2005 or newer Server Restriction
On Schedule Evaluation Mode
PBM Example – Page Verify
http://www.littlekendra.com/2011/01/25/pageverify/
![Page 25: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/25.jpg)
• On Demand– Executed by user or powershell scripts
• On Schedule– Uses SQL Agent
• On Change – Prevent– Uses DDL Triggers– * Nested Triggers should be enabled
• On Change – Log Only– uses event notification
• For More: http://msdn.microsoft.com/en-us/library/bb510667%28SQL.100%29.aspx
Evaluation Modes
![Page 26: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/26.jpg)
• Not all facets support On-change.– On Change – Log (17)– On Change – Prevent (12)
• Application Role • Asymmetric Key• Database Role• Endpoint• Login Options• Multipart Name
On-Change Evaluation….
• Resource Pool• Schema• Stored Procedure• Table Options• User Defined Function• User Options• View Options• Workload Group
![Page 27: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/27.jpg)
• Best Practices– SQL Server 2008 Feature Packs– C:\Program Files\Microsoft SQL Server\100\Tools\
Policies\DatabaseEngine\1033
• Interwebs– http://www.mssqltips.com/category.asp?catid=89– Blogs– Bing or Google
Where can I find policies?
![Page 28: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/28.jpg)
Message Number Evaluation Mode
34050 On change – prevent when policies are enabled for automatic evaluation.
34051 On change – prevent when the policy is on demand
30452 On Schedule
34053 On change – Log
Policy Alerts
* On demand cannot be enabled so there are no alerts.
![Page 29: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/29.jpg)
• Views in MSDB database and dbo schema– syspolicy_policies– syspolicy_conditions– syspolicy_system_health_state– syspolicy_categories– syspolicy_policy_category_subscriptions– syspolicy_policy_execution_history– syspolicy_policy_execution_history_details– syspolicy_object_sets– syspolicy_target_sets
For more: http://msdn.microsoft.com/en-us/library/bb510742.aspx
PBM Views
![Page 30: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/30.jpg)
PBM - ExecuteSQL
• The ExecuteSql() function can be used against any facet and it'll be executed once for each target in the target set.
• The proxy account is called ##MS_PolicyTsqlExecutionLogin## used for scheduled jobs
• http://blogs.msdn.com/b/sqlpbm/archive/2008/07/03/executesql.aspx
![Page 31: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/31.jpg)
• Cannot modify or create facets• Policies fail to read mount points as separate
locations• ExecuteSQL only supports @ObjectName and
@SchemaName • Reporting is very limited out of the box• On Change-Prevent is limited• Best Practice Policies may not be best practice
for your shop.
Gotchas!
![Page 32: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/32.jpg)
• Create a Category• Import Policies• Export Policies• Create Policy• Evaluate Policy
– On-Demand– Scheduled– On Change – Prevent– On Change – Log– Apply Policy
• Evaluate Policy on Multiple Servers using CMS
• View Policy History
PBM Demo!
![Page 33: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/33.jpg)
• http://epmframework.codeplex.com/• EPMF leverages
– Central Management Server– Policy-Based Management– PowerShell– XML– SQL Server Reporting Services
Reporting - EPM Framework
![Page 34: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/34.jpg)
![Page 35: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/35.jpg)
• Show EMPF…
DEMO!
![Page 36: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/36.jpg)
• All reference material can be found at http://johnsterrett.com/go/PBM
– Books On Line• Administering Servers by Using Policy-Based Management
– Book• Pro SQL Server 2008 Policy-Based Management
– White Papers• Enterprise Policy Management Framework with SQL Server 2008• SQL Server 2008 Policy-Based Management
– Web• www.mssqltips.com
Where you should go from here?
![Page 37: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/37.jpg)
Notes (hidden)
• Some speakers may use this slide for hidden notes
• Please delete if you prefer not to use• Please note you are also able to use notes
section for each slide
Session Title 38
![Page 38: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/38.jpg)
Please Complete the Evaluation Form
Pick up your evaluation form:•In each presentation room
Drop off your completed form•Near the exit of each presentation room•At the registration area
Session Title 39
Sponsored by Dell
![Page 39: Evaluate Daily Checklist with PBM and CMS](https://reader035.vdocument.in/reader035/viewer/2022081413/548d20c2b479593c118b470b/html5/thumbnails/39.jpg)
THANK YOU!
For attending this session and PASS SQLRally Orlando, Florida
Session Code | Session Title 40
Sponsored by Dell