2. Mike Hillwig
AKA The Cranky DBA
SQL Server DBA
Working with SQL Server since SQL 7
Senior DBA at hosting division of a financial
software company
Resume includes Acme Packet, Shawmut
Design and Construction, Weirton Steel,
Equitable Resources
5. Housekeeping
Slides and scripts at sqlsaturday.com
Blog post at
crankydba.com/go/defaults
Don’t let me talk too fast
Please complete your evaluations
6. Beware of the Blogs
There is some Test everything in
amazing advice out your own test
there. But… environment first.
Anybody can put bad I don’t trust people
advice on the internet who say “ALWAYS” or
Trust people you “NEVER”
know
Assume I’m an idiot
16. Before You Touch the Install Media
Look at your drive
configurations
Have a place to put
different types of files
Data
Tlogs
Pagefile
TempDB
Backups
10/6/2012
16 | SQL Saturday #171 Pittsburgh
|
17. Enabling Instant File Initialization
Not exactly a SQL
setting
Changing a default
policy object
Allowing your service
account to Perform
Volume Maintenance
Tasks allows you to
use IFI
18. What are we installing?
Resist the urge to
Select All
Only install what you
need
More options need
more resources
Bigger surface area
means more surfaces
to attack
19. Where are we installing it?
I don’t like installing
anything on C.
Have a drive
dedicated to holding
binaries/applications
20. Understand the Instance Root
This is where most of
your files will live,
including logs and
system files
Avoid putting these in
the same place as
your binaries
21. Our First Chance to get Security Right
Do you need mixed
authentication?
Who will be an
administrator on this
instance?
Use AD groups where
possible.
Add your service
account here.
22. What Goes Where?
Splitting things up can
be a boost to
performance
Keep your paths
consistent
I strongly encourage
you to put data and
backups on different
physical disks/LUNs
23. Creating a New Database
Who owns the
database? That
account is the default
for dbo.
Look at your initial file
sizes and growth
increments.
If it’s going to grow,
start big out of the
gate
24. Let it Grow!
This is one is
important to me.
This gets changed in
every instance I
manage
Avoid disk
fragmentation
Can you come up
with a better default
setting?
25. Instance RAM
MIN = 0 allows you to
get ballooned
MAX = 2 TB allows
you to page
Do you have any
servers with 2 TB of
RAM?
Subtract 4-8 GB from
physical RAM as a
starting point for MAX
26. SQL Agent Job Ownership
This is a deadly default.
I’ve seen this one kill
servers
If the owner is disabled,
the job stops running.
In my environments,
this is always a system
or service account.
30. Auto Shrink
Autoshrink is evil
Don’t enable it. Ever.
Why? Because Paul says so.
crankydba.com/go/autoshrink
31. MAX DOP
There is some bad information out there
about setting your Max Degrees of
Parallelism.
Typically only needs to be changed in fringe
cases. You’re probably not a fringe case.
If changing this setting helps, you’re probably
just masking a bigger problem with your
code.
32. “Bottom Three” Server Security Settings
Do you understand
these settings?
I’ve seen C2 kill
servers with
excessive logging
I advise touching
these settings only
when you know
specifically you need
them.
Editor's Notes
Good advice out there, but…Lots of outdated information. Do DB servers really need 2x RAM for PF?