Peter Shore SQL Saturday Pittsburgh 2017 DBA 102:NOW WHAT Peter Shore SQL Saturday Pittsburgh 2017
Agenda Chase People Away Introduction Soft Skills Recoverability Accessibility Reliability Best Practices Performance
Specialize in remote database administration, operating system, and enterprise application support services 24x7, 100% onshore support across all major database platforms including SQL Server, MySQL, PostgreSQL, Oracle, Oracle Applications, and DB2 Full suite of Microsoft Business Intelligence and Database Activity Monitoring services available Currently support hundreds of customers and thousands of databases daily www.rdx.com
Who am I? SQL Server DBA – Remote Database Experts (RDX) 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 Handling stressful situations Delivering bad news Presentation skills Delivery of information to: Co-workers Management Clients Drive learning Relational Customer Interaction Translate technology to common terms Professional Networking User Group SQL Saturday PASS On-line
Recoverability Single most important task Restore from backup Recovery strategy > backup strategy Minimal Successful backup A backup is not successful until you know you can restore Restore to test instance Integrity check User Acceptance Test
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 “Always ON” High Availability (HA) Disaster Recovery (DR) Business Continuity SQL 2012 & Later “Always ON” Availability Groups Failover Cluster Instance SQL 2008R2 & later Log Shipping Mirroring Replication Catastrophic event “Always ON”, 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 Akin to Active Directory groups
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 http://tinyurl.com/hb9g9wn/ Roles Server Level - http://tinyurl.com/gtgc2n3 Database Level - http://tinyurl.com/hudclug
Reliability Data Security Data Integrity Data accuracy Data theft Expected data vs. actual data 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 Hypervisor for virtual servers 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 MAX – must be adjusted Minimum – rarely touched Optimize for Ad Hoc Workloads Workloads from, GUI, command line or application Not stored procedures Maximum Degree Of Parallelism (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 Pure Storage Block Size – Argenis Fernandez http://tinyurl.com/gwj9lbv
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 SQL Skills Comprehensive Waits & Latches Library – Paul Randall http://tinyurl.com/jhrkdjo The Misunderstood and Abused UPDATE STATISTICS Command – Robert Davis http://tinyurl.com/j22jwwy
Additional Tools Tips Tricks PowerShell Learn to script Repeatable processes Reduce errors Free you to handle bigger challenges DBAtools.io Wheels to reinvent/wheels to acquire Learn who to trust Learn what to trust them about Get involved in the community Plan you career Career goals Life goals
Questions?