configuring sql server - sql saturday, athens oct 2014

Post on 05-Dec-2014

368 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Configuring sql server

TRANSCRIPT

Configuring SQL Server

I have been started with computers.

I started my professional carrier in computers industry.

I have been started to work with SQL Server version 6.0

I earned my first certification at Microsoft as Microsoft

Certified Solution Developer (3rd in Greece) and started

my carrier as Microsoft Certified Trainer (MCT) with more

than 20.000 hours of training until now!

I became for first time Microsoft MVP on SQL Server

I created the SQL School Greece (www.sqlschool.gr)

I became MCT Regional Lead by Microsoft Learning

Program.

I was certified as MCSE : Data Platform, MCSE: Business

Intelligence

Antonios ChatzipavlisSolution Architect • SQL Server Evangelist • Trainer • Speaker MCT, MCSE, MCITP, MCPD, MCSD, MCDBA, MCSA, MCTS, MCAD, MCP, OCA, ITIL-F

1982

1988

1996

1998

2010

2012

2013

SQL Server Configuration Checklist

Choosing Windows OS

Windows Server 2012 R2

Highly recommended especially for server

than need to be highly available.

Avoid Windows Server 2008 R2 and older

versions

Apply patches and hotfixes on WinOS

If you plan to use AlwaysOn AG it is

important to apply the following patches

Windows Server 2008 R2 SP1 – KB2545685

Windows Server 2012 – KB2784261

Windows Server 2012 R2 – KB2920151

Prerequisites, Restrictions, and

Recommendations for AlwaysOn Availability

Groups

Configure the Windows page file

SQL Server does not need a giant page file

If SQL Server is the major service on the box

a 2GB page file on system drive it’s enough

Beware removing the page file (KB254649)

Use Anti-Virus when…

The servers is public on the Internet.

The server have open ports to servers that are not behind a firewall.

The server read or execute files from other servers.

The server run HTTP servers

The server hosting file shares.

The server use Database Mail to handle incoming or outgoing email messages.

Setting Anti-Virus exclusions

Directories of SQL Server instance

SQL Server data files

SQL Server backup files

Full-Text catalog files

Trace files

SQL audit files

SQL query files

SQL Server service

Use RAID

Minimum RAID 1 for all drives

Including OS system drive

Even SSD or PCI-Express

RAID 10 for best performance

Use 128GB drive for OS system drive

Test the I/O performance SQLIO/SQLIOSIM

Disk Drive Format

OS System drive should be formatted with

the default (4K) cluster size.

All drives holding data & log files should be

formatted with 64K cluster size

Check your storage for partition alignment

Follow this rule even if it’s a VM on shared

storage

Power Option

Confirm that the Windows power plan is set

to high performance

Confirm that the processors are running at

full speed using CPU-Z

Use Multiple Physical Network Cards when

The connectivity with SQL Server is

important!

You have Failover clustering or Availability

Groups

It’s a good practice even for standalone

server

Teaming NICs

Use separate drive for

SQL Server application folders

SQL Server database data files

SQL Server database log file

including TempDB

TempDB data files

Backups

SQL Server services accounts

Use dedicated domain user account with nospecial rights on the domain.

You do not need or want this account to be a local admin on the machine where SQL Server will be installed.

Use a separate, dedicated domain user accountfor the SQL Server Agent service.

If you are going to be installing and using otherSQL Server related services, you will wantdedicated domain accounts for each service.

Policy Settings and Rights for the SQL

Server service account

Enable Instant File Initialization Perform Volume Maintenance Tasks

Grant Lock pages in memory Common on SQL Server 2005 / Windows 2003

Less common with newer versions(Still it is a good idea to enable LPIM on a new system)

Add the permissions to the Service Account in AD - KB319723 readServicePrincipalName

writeServicePrincipalName

SQL Server Installation

Install only the features you actually need This will reduce your attack surface

It will speed future maintenance of the instance becausethere are fewer components to patch

Install Services Packs or CUs

Enter a strong password for the sa account if youchoose Mixed Mode authentication

Set the Data Directories according to plan Do not use C: drive

Trace Flags to enable

1118

This trace flag switches allocations in tempdb

from single-page at a time for the first 8 pages, to

immediately allocate an extent (8 pages).

2371

that you can use to control when the query

optimizer generates autostats on a table

Server Properties

Enable compressed backups

Setting Default backup media retention

(days)

Setting Database default location for

Data files

Log files

Backups

Server Properties

Max Worker Threads

Priority Boost

Lightweight Pooling

Maximum number of concurrent connections

Network Packet Size

SQL Server Memory

Set Max Server Memory Important when LPIM is enabled

Use this formula to calculate SQL Server Memory Reserve 1GB for OS

Reserve 1GB for each 4GB after the first 4GB and until 16GB

Reserve 1GB for each 8GB after the first 16GB

Monitor the Memory:AvailableMB performance counter

Server Memory 64GB

1GB for OS

3GB for 4-16GB

6GB for 16-64GB

10GB in total

64-10 = 54 Max SQL

Server memory

Tweak Model database

Change the default size for data and log files

Change the file growth to fixed units

Configure TempDB

Move TempDB to its own drive

Grow the size of data file

Add additional data files as the number of

logical processors up to 8 logical CPUs

Each file must have the same size

Pre-allocate the space.

KB2154845

Configure MAXDOP

Set this to the number of physical cores in a single NUMA node socket on your hardware or less

Always use an even value

Use the value of 1 only of you have specific vendor requirements SharePoint

BizTalk

SAP

KB2806353

Cost Threshold of Parallelism

General default value of 5 is low for most

OLTP workloads and should be increased.

Base value of 20-25 used for most server

installs.

Optimize for Ad-hoc workloads

Control the amount of memory that is used bysingle-use, ad hoc query plans in the plan cache.

SQL Server store only a small stub of an ad hoc query plan in the plan cache the first time that the ad hoc plan is executed

Reduces the memory required for that plan in the plan cache.

It’s not a panacea for single-use ad hoc query plans

http://www.sqlschool.gr/blog/do-you-have-optimize-for-ad-hoc-workloads-on-sql-server-2008-r2-instances-380.aspx

SQL Server Network Connectivity

Enable TCP/IP

Firewall exceptions

TCP port of instance

UTP 1434 for SQL Browser

Configure Alerting and Monitoring

Configure Database Mail

Create Operators

Configure SQL Agent to use Database Mail

Create Alerts for Severity 16 to 25

Create Alerts for Errors 823, 824, 825

Adding Ola Hallengren’s MaintenanceSolution

Install Adam Machanic sp_WhoIsActive

Install and run Brent Ozar sp_Blitz

Create Database

Don’t use the default file size

Don’t use presentence as file growth

Pay attention on T-Log size and growth to produce equal VLFs

Use more than one filegroups

In PRIMARY leave system object

Put all user objects to another filegroup

Use more than one data files

Even this are in the same drive

Database Properties

Don’t set Auto Close

Don’t set Auto Shrink

Don’t unset Auto Create/Update Statistics

ANSI_NULLS

Determine comparison evaluations.

When set to ON all comparison to a null value evaluate to UNKNOWN

When set to OFF all comparison to a null value evaluate to TRUE if both values are NULL

The default value is OFF

This option is deprecated and will always be ON in a future version of SQL Server

ANSI_PADDING

When set to ON data stored in char, varchar, binary, varbinary data types retain any padded zeros To the left of variable binary

Left and Right of variable length characters

The default is OFF

This option is deprecated and will always be ON in a future version of SQL Server

INSTEAD OF Triggers

Instead Of triggers can be nested regardless

of the setting of Nested triggers option

help@sqlschool.gr

top related