Sunteți pe pagina 1din 57

Ing.

Jonathan Mejias Valenciano


Microsoft Certified IT Professional Virtualization Administrator
Microsoft Technology Specialist Windows Server 2008 R2 Desktop Virtualization
Microsoft Technology Specialist Windows Server Virtualization Configuration
Microsoft Technology Specialist System Center Configuration Manager 2007
Microsoft Certified Database Administrator
Microsoft Certified IT Professional SQL-Server 2005
Microsoft Technology Specialist SQL-Server 2005
Microsoft Technology Specialist SQL-Server 2008

Microsoft Speaker
Senior Consulting Services

jmejias@cgccr.com

Presentation

Name
Company
Position
Database experience
SQL Server Certifications
Expectations for the workshop

WorkShop Materials
70-432 and 70-450: Microsoft SQL
Server Database implementation and
maintenance

Facilities

Class hours
Parking
Restrooms
Meals
Phones
Smoking

Prerequisites
Experience as database administrator.
Experience with Windows services (starting and
stopping)
Experience creating service accounts and
permissions
Experience with Microsoft SQL Server
2005/2008

Setup
Microsoft Virtual Server 2005 R2 / Virtual PC 2007/Hyper-V
Microsoft Windows Server 2008 R2 Enterprise Edition
Active Directory, DNS, Mail Server.
Microsoft SQL Server 2008 R2 Enterprise Edition
Database Services, Management Studio.
Microsoft SQL Server 2008 R2 Enterprise Edition.
Server Name:
Login: Administrator
Password: P@ssw0rd

Microsoft SQL Server 2008,


Implementation and Maintenance

Temas

Installing and Configuring SQL Server 2008


Maintaining SQL Server Instances
Managing SQL Server Security
Maintaining a SQL Server Database
Performing Data Management Tasks
Monitoring and Troubleshooting SQL Server
Optimizing SQL Server Performance
Implementing High Availability

Installing and Configuring SQL Server 2008

Conceptos basicos
Prerequisitos
Instalacion
Configuracion instancias y servicios

Conceptos basicos cont.


Configuracion de RAID.
Contencion: varios discos de menor
volumen para evitar sobre carga en
pocos discos de mayor volumen.
SAN: arreglo de discos masivo para
diferentes ambientes. Eva, EMC.
Hot Spare: 1 disco dispobible para falla.
Hot Swap: cambios en cliente

Conceptos basicos cont.


Discos Dinamicos: solamente para
arreglos por software
Discos Basicos: Cluster.
Allocation Unit: unidad minima para
particionar, default 4k.

Designing a Database Server


Security Solution
Design instance authentication
Authentication type
Logon triggers

Design instance-level security


configurations

Windows Service Accounts


Credentials
Instance-level permissions
Endpoint security
TCP ports
Certificates

Designing a Database Server


Security Solution
Design database, schema, and object
security parameters
Users
Roles
Certificate and key management
http://msdn.microsoft.com/en-us/library/ms189586.aspx

Service Broker
http://msdn.microsoft.com/en-us/sqlserver/cc511479.aspx

Ownership chain
http://msdn.microsoft.com/en-us/library/ms188676.aspx

Troubleshooting Database and server


performance

Optimization guide
Application
ODBC is slow
If not .NET use OLEDB
IF .NET use .NET Data Provider

Optimization guide
Application
2 Layers->N Layers
Client instructions can generate
server cursors

Optimization guide
Database
Normalization
Indexes
Cursors
Text PK without fixed size
Poorly written queries

Optimization guide
SQL Server
AWE
/3GB, /PAE
Assigned processors
SQL Server edition vs. available
resources

Optimization guide
Hardware
Memory
CPU
I/O
Network

Designing a Monitoring
Strategy

Physical Server Performance

Memory Usage
Disk Usage
Processor
Network Usage
User Connections

Network Usage
Network Interface: Bytes
Received/sec
External Attack
Network Interface: Bytes Send/sec
Large Volume of information.
Network Interface: bytes/sec
DoS Attack

User Connections
SQL Server: General Statistics: User
Connections
This value shouldn't exeed 255
for continuous periods

Solving Resource Problems


Memory:
Buffer Cache Hit Ratio < 99 and
Pages/sec > 20.
Other applications running on the
server
SQL Server memory configuration
(dinamically and maximun settings)
Add more RAM

Solving Resource Problems


Disk I/O
Excesive I/O opertations
Memory bottleneck
Reduce server load

Solving Resource Problems


Physical Drives and Disk Controllers
Add drives to the array
Installing faster drives
Faster controller
Adding cache memory to the
controller card
Using diferent version of RAID
Offline defragmentation

Solving Resource Problems


CPU Utilization
Processor Queue length and
Processor time exceeded.
Add CPU
Faster CPU
Larger L2 cache

Solving Resource Problems


CPU Utilization
Processor Queue length exceeded
and Processor time not exeeded.
Reduce SQL Server Maximun
worker theats.

Solving Resource Problems


User Connections
SQL Server General Statistics:User
Connections > 255
Increase Maximun Worker
theads.
Note: Maximun Worker theads >
Maximun number of connections

Troubleshooting Tools
SQL Server Profiler
Database tunning advisor (DTA)
Dynamic Management views

Analizing Tempdb Database Issues


Tempdb Storage
SQL Server:Transactions:Free Space
Select SUM(unallcated_extent_page_count) AS [free
pages]
(SUM(unallocated_extent_page_count)*1.0/128) AS [free
space in MB]
From sys.dm_db_file_space_usage;

Sys.dm_db_file_space_usage-> User
objects, internal objects stores in
tempdb

Analizing Tempdb Database Issues


Temdb Contention
To monitor unusual increase in
temporary objects allocation:
SQL Server:Access Methods:Workfiles Created/Sec
SQL Server:Access Methods:Worktables Created/Sec
SQL Server:Access Methods:Mixed Page
Allocations/Sec
SQL Server:General Statistics:Temp Tables
Created/Sec
SQL Server:General Statistics:Temp Tables For
Destruction

Analizing Query Statement


Recompiles
Compilation a least once
Recompilation
Validity
Correctness
For details page 36

Monitoring Auto-Grow and AutoShrink


Profiler
Data File Auto Grow event
class
Data File Auto Shrink event
class
Log File Auto Grow event class
Log File Auto Shrink event
class

Updating Statistics
INSERT, DELETE or UPDATE cause
statistics to not reflect the true
data distribution
Sp_autostats
Sp_updatestats

Indexes
Cluster and Non cluster
Query optimizer
Defragmenting and rebuilding
indexes
Missing and Inappropiate indexes
(DTA)

Poorly written queries


Focus on longest and the most frequently
Review query code:
Excessive data retrieval
Excessive data movement
Unnecessary data sorting
Cursors
Long-running transactions
Syntax errors

Poorly written queries


Review the query execution plan:
Table scan
Cluster index scan
Bookmark lookups
Index scans
Data sorts
Improper data joins
Use DBCC DROPCLEANBUFFERS

Poorly written queries


Analyze resources: CPU, memory, disk I/O
Query environment:
Table design
Column design
Table indexes
Column statistics
Number of applications
Database and server configuration
Amount of data within the table

Poorly written queries


The graphical execution plan

Database growth
Filegroups
Improving database performance

Analyzing Queries

Indentifying poorly performing


queries
Query editor
Include client Statistics
Query options
Graphical execution plan
Estimated execution plan
Include actual execution plan

Indentifying poorly performing


queries

Using query designer


Analyze query in DTA
Profiler
DTA
DMV
Page 89.
Practice Page 93

Analyzing a query plan


Set statistics IO On
Example page 100
Graphical Execution plan
Table scans > 8M
Poorly designed query
Missing index
Excessive logical reads and writes
Example page 103.
Where

Tuning queries
Top(100): first 100 rows
Percent
Distinct: eliminate duplicate rows.
Carefully
Union: eliminate duplicate rows in the
result set.
Union ALL: more efficient.
Example page 105
Index in Foreign Keys

Tuning queries
set xact_abort on
set lock_timeout 3000
request mode x (exclusive)

Tuning queries
Where clause operators:
=
>,>=,<,<=
Like
<>
Lower and Upper
Practice Page 108, Obtaining
Query Plan Statistics

Designing a Backup and Recovery Solution


Design a backup strategy
Recovery model
Backup types
Scheduling
Backup media
File and Filegroups backup

Design a recovery strategy


Page, File, Filegroup and online restores
Orphan users
Transaction logs
Point in time

Designing a Database Solution


for High Availability

Designing a Strategy to
Maintain and Manage Databases

Designing a Strategy to
Maintain and Manage
Databases

Maintaining and optimizing


indexes
Fragmentation
Reorganize
Rebuild
Fill factor

Designing a Strategy to
Maintain and Manage
Databases

Maintaining and optimizing indexes


Cluster indexes
Covering Indexes
Includes all: select, joing and where
Alter existing index and not create
another one. Page 122 70-444.
Views and indexed views. Note:
Enterprise edition
Partitioning

Designing a Strategy to
Maintain and Manage
Databases
Database Maintenance
Daily
Check Database integrity
Backup Transaction Log
Checkpoint
Backup Database
Truncate Transaction Log
Update statistics

Designing a Strategy to
Maintain and Manage
Databases
Database Maintenance
Weekly or monthly
Check Database integrity
Backup Database
Shrink database
Rebuild or Reorganize index*
Update statistics
Clean up
* Use script

Designing a Strategy to
Maintain and Manage Databases

Alerts
SQL Agent
Resource Governor
Policy-Based Management
DDL Triggers

Designing a Strategy for Data


Distribution
Integration Service
Linked Servers
Replication

S-ar putea să vă placă și