SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. This event will be held Jun 13 2015 at Hochschule Bonn-Rhein-Sieg, Grantham-Allee 20, St. Augustin, Rheinland, 53757, Germany. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleagues know about the event.
###
Maintenance Plans for Beginners (but not only) | Each of experienced administrators used (to some extent) what is called Maintenance Plans - Plans of Conservation. During this session, I'd like to discuss what can be useful for us to provide functionality when we use them and what to look out for. Session at 200 times the forward-300, with the opening of the discussion.
8. about me
• independent consultant, security & licensing auditor
• Microsoft Certified Trainer
• SQL Server MVP (five years in a row)
• MVP Mentor Program Member
• SharePoint Subject Matter Expert at CQURE
• active blogger, influencer, technical writer
• last 9 years living in Data Processing Center Jungle
• last 15 years working arroung banking and ICT
• Polish Information Technology Society Board Member
9. agenda
PHASE ONE – slide talks
MP– what we are talking about?
MP – how, where, when?
MP - methods, tools, right (?) ways
what Maintenance Plans can do you You
PHASE TWO – show time
PHASE THREE – discussion time
12. maintenance plans:
what are you talking about?
Clean Environment
Silence
Knowledge about environment
Productivity / Performance
DEFINITION:
A database maintenance plan is a set of specific, proactive task
that need to be performed regularly on databases
to ensure their adequate performance and availability
13. maintenance plans:
permissions…
To create or manage maintenance plans:
you must be a member of the sysadmin fixed server role
Note that Object Explorer only displays maintenance plans if the user is a member of
the sysadmin fixed server role
The results generated by the maintenance tasks can be written as a report to a text
file, or written to the maintenance plan tables, sysmaintplan_log and
sysmaintplan_logdetail, in msdb.
15. maintenance plans:
how, where, when?
HOW:
Maintenance Plan Wizard
Maintenance Plan Designer
T-SQL Scripts
PowerShell Scripts
WHERE
SQL Server Management Studio from Standard and above
See you in… Express
WHEN:
BEFORE: problems / service windows
AFTER: maintaining / clients back to home
16. how:
maintenance plan wizard
Very simple (although advanced) wizard
Providing possibility for creation simple task in dozens of seconds
Enough in many cases, environments
Limited but include many options
Limitations:
number of databases
granularity
single tasks / no multitasking
no scripting for another instances
some known problems in previous version of SQL Server
SQL Server 2005 Service Pack 2 / SQL Server 2008
17. how:
maintenance plan designer
More flexible and advanced tool (not on this session)
Graphical user interface with SSIS
Most often used for „real DBA”
Increased features
Workflow for specified tasks with execution plan
Multitasking
Two additional Maintenance plans
Execute T-SQL Statement
Notify Operator
18. limitations:
maintenance plan wizard & designer
Limitations for both tools / those ideas are not possible
Identification and removing fragmentation for physical files
Identification abandoned, duplicated, forgotten indexes
Providing backup on demand
Werification good quality of backup
Werification succesful restore
Monitoring of performance
Monitoring of SQL OS
Monitoring of Windows OS
Monitoring available space
19. maintenance plan:
t-sql & powershell scripts
Functionality for „Real *Tru* DBA”
Necessary for working with multiple databases, instances, server farms
Feauters for scripting:
Access to OS
Posibility of moving
Scripts sharing
One of the best examples and tools for free:
HTTP://OLA.HALLENGREN.COM/
20. maintenance plan:
replacement
The SQL Server Maintenance Solution comprises scripts for running backups, integrity
checks, and index and statistics maintenance on all editions of Microsoft SQL Server
2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, and SQL Server 2014.
The solution is based on stored procedures, the sqlcmd utility, and SQL Server Agent
jobs. I designed the solution for the most mission-critical environments, and it is used
in many organizations around the world.
Numerous SQL Server community experts recommend the SQL Server Maintenance
Solution, which has been a Gold winner in the 2013, 2012, 2011, and 2010 SQL Server
Magazine Awards. The SQL Server Maintenance Solution is free.
“After you review this checklist run — do not walk — over to this website:
http://ola.hallengren.com. Download, read, understand and implement these scripts. My
friend Ola has done a better job on these scripts than I’ve seen anywhere else, hands
down.” - Buck Woody
22. maintenance plans:
available tasks
Check Database Integrity | DBCC CHECKDB
Shrink Database | NEVER, NEVER, NEVER
Reorganize Index | ALTER INDEX , and next Update Statistics
Rebuild Index | ALTER INDEX, Update Statistics are not necessary
Update Statistics | sp_updatestats
History Cleanup | using msdb, don’t do that too much frequently
Execute SQL Server Agent Job | providing scripts using wen you work with agent
Back Up Database (Full) | executing BACKUP DATABASE with FULL option >>Transaction Log
Back Up Database (Differential) | executing BACKUP DATABASE with DIFFERENTIAL option
Back Up Database (Transaction Log) | executing BACKUP LOG, frequency...
Maintenance Cleanup Task | most complicated feature ? BAK, TRN, TXT
23. Functionality:
verify integrity of database
using DBCC CHECKDB
Daily
Weekly
Monthly
DBCC CHECKDB (’database_name’) WITH NO_INFOMSGS
Suppresses all informational messages.
DBCC CHECKDB (’database_name’) WITH NO_INFOMSGS, ALL_ERRORMSGS
Displays all reported errors per object. All error messages are displayed by default.
Specifying or omitting this option has no effect. Error messages are sorted by
object ID, except for those messages generated from tempdb database.
In SQL Server Management Studio, the maximum number of error messages
returned is 1000.
DBCC CHECKDB (’database_name’) NOINDEX
Specifies that intensive checks of nonclustered indexes for user tables should not
be performed. This decreases the overall execution time. NOINDEX does not affect
system tables because integrity checks are always performed on system table
indexes
YOUSHOULDREMEMBER
24. possibilities:
shrink database
NEVER USE THIS OPTION IN MAINTENANCE PLANS
Automated Database Shrinking:
When the AUTO_SHRINK database option has been set to ON, the
Database Engine automatically shrinks databases that have free space.
This option is set using the ALTER DATABASE statement. By default, it is
set to OFF.
Manual Database Shrinking:
If a DBCC SHRINKDATABASE or DBCC SHRINKFILE statement cannot
reclaim all the specified space in a log file, the statement will issue an
informational message that indicates what action you must perform to
make more space eligible to be freed.
When using the DBCC SHRINKDATABASE statement, you cannot shrink
a whole database to be smaller than its original size.
Therefore, if a database was created with a size of 10 MB and grew to
100 MB, the smallest the database could be reduced to is 10 MB, even if
all the data in the database has been deleted.
YOUMUSTREMEMBER
25. possibilities:
shrink database
Two very good posts about shrinking databases and other links:
Shrinking a Database (TechNet):
http://technet.microsoft.com/en-
us/library/ms189080(v=SQL.105).aspx
Pinal Dave: SQL SERVER – Shrinking Database is Bad – Increases
Fragmentation – Reduces Performance
http://blog.sqlauthority.com/2011/01/19/sql-server-shrinking-
database-is-bad-increases-fragmentation-reduces-performance/
Brent Ozar: Stop Shrinking Your Database Files. Seriously. Now.
http://www.brentozar.com/archive/2009/08/stop-shrinking-your-
database-files-seriously-now/
YOUMUSTREMEMBER
26. possibilities:
maintain index & column statistics
Automation:
AUTO_CREATE_STATISTICS
AUTO_UPDATE_STATISTICS
Executing automatically after: INSERT, UPDATE, DELETE
UPDATE STATISTICS table_name WITH FULLSCAN
When:
Never…
Just after Index Reorganization
On the days when we’re not using Index Rebuild or Reorganize
Index
Important options (UPDATE STATISTICS):
• All existing statistics
• Column statistics only
• Index statistics only
YOUSHOULDREMEMBER
27. possibilities:
reorganize vs rebuild
Reorganize Index Task Rebuild Index Task
removing empty
space and logical
fragmentation
Performs a less thorough index
defragmentation than Rebuild Index. If an
index does not have any fragmentation, then
is not reoganized, saving resources.
Virtually all wasted free space and logical fragmentation is
removed. All indexes are rebuild from scratch, whether
they need it or not.
performance
impact
does not require long blocking locks. An
online task that allows users to access the
database duringthe task
requires potentially long blocking locks that prevent users
from accessing the indexes being rebuilt. A task that
should be performed offline, though with the Enterprise
Edition of SQL Server, you can use the online version of an
index
speed generally takes longer to run that the Rebuild
Index Task
Generally runs faster than Reorganize Index Task
space
requirements
Uses less disk space that the Rebuild Index
Task. Uses less space i the transaction log
than Rebuild Index Task
Use more disk space than Reorganize Index Task. More
space is required in the transaction log than the
Reorganize Index.
statistics
maintenance
Index and column statistics must be updated
separately. This adds to the administration
hassle.
Index and column statistic are automatically updated as
part of this step, using FULLSCANN option
28. possibilities:
history clean up (msdb)
Choosing the data (right data) for deleting:
Backup and restore history
SQL Server Agent job history
Maintenance Plan history
YOUMUSTREMEMBER
33. summary
We should remember about:
Task sequences
Task execution
Task priority
Documentation
Using: daily / weekly / occasionally
We get better expoloration of our environment
We can monitoring / (partially) of performance and space
Standard and above (sorry)
Maintenance Plan Wizard
for beginners and small installations
Maintenance Plan Designer
Adult , more complicated, wide environment
34.
35. links
Brad McGehee | Brad’ Sure Guide to SQL Server
Maintenance Plans
„My new eBook, Brad’ Sure Guide to SQL Server Maintenance Plans is now available as
a free, 269 page PDF eBook. The book is designed for part-time or novice DBAs who
want to learn how to properly create Maintenance Plans using the tools that come with
SQL Server Management Studio (SSMS) in SQL Server 2005/2008.
LINK: http://bit.ly/1ijdnah
Ola Hallengreen | Maintenance Plans Scripts PASS
slidedeck
„The SQL Server Maintenance Solution comprises scripts for running backups,
integrity checks, and index and statistics maintenance on all editions of Microsoft
SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012. The
solution is based on stored procedures, sqlcmd utility, and SQL Server Agent jobs”
LINK: http://bit.ly/1b220Ns
36. after session
CONTACT:
• MAIL: KoprowskiT@windowslive.com
• SOCIAL MEDIA: facebook, twitter, linkedin, xing
SLIDES FROM SESSION:
• SlideShare Profile: http://www.slideshare.net/Anorak
BLOGS:
• ITPRO Anorak’s Vision: http://itblogs.pl/notbeautifulanymore/ [PL/EN]
• Volume Licensing Specialites: http://koprowskit.eu/licensing/ [PL]
• My MVP Blog: http://koprowskit.eu/geek/ [EN/ES/PL]