Peter Shore SQL Saturday Cleveland 2016 DBA 102:NOW WHAT Peter Shore SQL Saturday Cleveland 2016
Agenda Chase People Away Introduction Soft Skills Recoverability Accessibility Reliability Best Practices Performance
Are you in the right session? Target Audience Accidental DBAs JR DBAs IT Professionals who want to know a little more Not Target Experienced DBAs SQL Developers
Who am I? Platform Database Consultant – BlueChip Consulting Group Intentionally Accidental DBA Over 20 years IT experience Server Engineer Desktop Engineer Network Infrastructure Desk side support President CBusPASS Member Multiple Virtual Chapters How to find me Twitter: @pshore73 E-mail: pshore73@outlook.com Blog: http://shoresql.wordpress.com
Soft Skills Tactical Relational Customer Interaction Requirements Analysis Presentation skills Delivery of information at the office Drive learning Relational Customer Interaction Translate technology to common terms Professional Networking User Group SQL Saturday PASS On-line
Recoverability Restore from backup Recovery strategy > backup strategy Successful backup A backup is not successful until you know you can restore Restore to test instance Integrity check
Restoration Plan Recovery Time Objective (RTO) Time service can be down after a failure or disaster Determined by the application owner not IT Lower time = higher cost Recovery Point Objective (RPO) Amount of data which can be lost as the result of a failure or disaster Determined by the application owner not IT Minimum backup frequency
Recovery Models https://msdn.microsoft.com/en-us/library/ms189275.aspx Description Work loss exposure Recover to point in time? Simple No log backups. Automatically reclaims log space to keep space requirements small, essentially eliminating the need to manage the transaction log space. For information about database backups under the simple recovery model, see Full Database Backups (SQL Server). Operations that require transaction log backups are not supported by the simple recovery model. The following features cannot be used in simple recovery mode: Log shipping AlwaysOn or Database mirroring Media recovery without data loss Point-in-time restores Changes since the most recent backup are unprotected. In the event of a disaster, those changes must be redone. Can recover only to the end of a backup. For more information, see Complete Database Restores (Simple Recovery Model). Full Requires log backups. No work is lost due to a lost or damaged data file. Can recover to an arbitrary point in time (for example, prior to application or user error). For information about database backups under the full recovery model, see Full Database Backups (SQL Server) and Complete Database Restores (Full Recovery Model). Normally none. If the tail of the log is damaged, changes since the most recent log backup must be redone. Can recover to a specific point in time, assuming that your backups are complete up to that point in time. For information about using log backups to restore to the point of failure, see Restore a SQL Server Database to a Point in Time (Full Recovery Model). Bulk logged An adjunct of the full recovery model that permits high-performance bulk copy operations. Reduces log space usage by using minimal logging for most bulk operations. For information about operations that can be minimally logged, see The Transaction Log (SQL Server). For information about database backups under the bulk-logged recovery model, see Full Database Backups (SQL Server) and Complete Database Restores (Full Recovery Model). If the log is damaged or bulk-logged operations occurred since the most recent log backup, changes since that last backup must be redone. Otherwise, no work is lost. Can recover to the end of any backup. Point-in-time recovery is not supported. https://msdn.microsoft.com/en-us/library/ms189275.aspx
Backup Types Full Backup Log Backup Differential Backup Backup of everything in the database Necessary for log restoration, differential restoration Necessary for many HA solutions Log Backup Backup the committed transactions Clears committed transactions from log Differential Backup Backup everything that changed since the last full backup
Recovery References MSSQL Tips SQL Server Backup Tutorial SQL Skills Accidental DBA Series – Understanding RTO & RPO – Paul Randal http://tinyurl.com/gmno2dh SQL Skills Accidental DBA Series – Backup Types – Paul Randal http://tinyurl.com/jesd92w MSSQL Tips SQL Server Backup Tutorial http://tinyurl.com/zqw9hno
Accessibility High Availability Disaster Recovery Security
Accessibility Business Continuity SQL 2012 & Later “AlwaysON” High Availability (HA) Disaster Recovery (DR) Business Continuity SQL 2012 & Later “AlwaysON” Availability Groups Failover Cluster Instance SQL 2008R2 & later Log Shipping Mirroring Catastrophic event “AlwaysON”, Log Shipping & Mirroring are a part Physical Considerations Different building Different power & communication grid Cloud
Accessibility Security Least privilege Use Active Directory Groups Server Roles Instance level Service Account has SysAdmin Database Roles Database level
Accessibility Reference HA/DR Blogs/Training – Allan Hirt http://sqlha.com/blog/ High Availability Planning Worksheet – Brent Ozar http://tinyurl.com/hn2mu4j Security Securing SQL Server – MSDN http://tinyurl.com/hkxbcyo MSSQLTips.com SQL Server Security Tips https://http://tinyurl.com/hb9g9wn/
Reliability Data Security Data Integrity DBCC CHECKDB Minimize corruption risk Run at least weekly
Configuration Best Practices Best Practice = Best Starting Point SQL Server defaults work but are not all that good Need to be changed to a better starting point Not just in SQL Server Storage Windows Server Not just SQL parameters Monitor & adjust
Best Practices Storage Follow vendor best practices Follow software vendor recommendations Think latency not bandwidth File layout
Best Practices Windows Set Perform Volume Maintenance Gives Instant File Initialization Lock Pages in Memory TCP Chimney offload disabled Block Size & Offset of disk
Best Practices SQL Memory Optimize for Ad Hoc Workloads MAXDOP MAX – must be adjusted Minimum – rarely touched Optimize for Ad Hoc Workloads MAXDOP Cost Threshold for Parallelism Minimum file size for database & logs Growth Percentage for database & logs TempDB
Best Practices SQL Database mail & Alerting Maintenance Backups Index maintenance Integrity Check Log files
Best Practices Reference SQL Skills Memory Calculator – Jonathan Kehayis http://tinyurl.com/j6z8x4u What is CXPacket Wait & How do you reduce it? – Brent Ozar http://tinyurl.com/jbuoh88 Parallelism Settings & Options – Adam Machanic http://tinyurl.com/zh32d7p SQL Skills Plan Cache & Ad Hoc Workload – Kimberly Tripp http://tinyurl.com/zbahglo
Performance Baseline Instance level settings External factors Waits Perfmon Disk usage Instance level settings External factors Windows Virtualization Storage Network Statistics Query Plan Find high costs Index usage Missing indexes Bad plan
Performance References SQL Server Query Plan Analysis – Adam Machanic http://tinyurl.com/jzbapbn SQL Server Performance Tuning Tips – MSSQLTips http://tinyurl.com/zx2wzrk How to Make Slow SQL Servers Go Faster – Brent Ozar http://tinyurl.com/guftpnb
Questions?
Evaluations Session Evaluation Event Evaluation http://www.sqlsaturday.com/473/sessi ons/sessionevaluation.aspx Event Evaluation http://www.sqlsaturday.com/473/even teval.aspx