+ All Categories
Home > Technology > KoprowskiT_SQLSat409_MaintenancePlansForBeginners

KoprowskiT_SQLSat409_MaintenancePlansForBeginners

Date post: 29-Jul-2015
Category:
Upload: tobiasz-janusz-koprowski
View: 146 times
Download: 3 times
Share this document with a friend
39
Maintenance Plans ad hoc SQL Saturday #409
Transcript

Maintenance Plans

ad hoc

SQL Saturday #409

Organizer

Bronze Sponsor

Silver Sponsor

Gold Sponsor

You rock!

Maintenance Plans

for beginners

SQL Saturday #409

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

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

PHASE ONE – SLIDE TALKS

Maintenance Plans – what we are talking about?

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

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.

Maintenance Plans – how, where, when?

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

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

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

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

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/

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

(Everything I do) I do it for you

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

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

Y O

U S

H O

U L

D R

E M

E M

B E

R

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.

Y O

U M

U S

T R

E M

E M

B E

R

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/

Y O

U M

U S

T R

E M

E M

B E

R

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

Y O

U S

H O

U L

D R

E M

E M

B E

R

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

possibilities:

history clean up (msdb)

Choosing the data (right data) for deleting:

Backup and restore history

SQL Server Agent job history

Maintenance Plan history

Y O

U M

U S

T R

E M

E M

B E

R

PHASE TWO – SHOWTIME

results:

no maintenance plans (no tr backup)

results:

no maintenance plans (no tr backup)

PHASE THREE - DISCUSSION

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

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

after session

CONTACT:

• MAIL: [email protected]

• 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]

Save the date!

nächsten Sitzungen nach Kaffeepause -

wahrscheinlich alle auf Deutsch :)

Vielen Dank!