SQL Server 2005 Administration, Scalability and Reliability Dr Greg Low Readify
Prerequisite Knowledge Basic T-SQL Syntax (SELECT, UPDATE) Experience executing stored procedures Knowledge of how SQL Server uses transaction logs and the SQL Server recovery process Knowledge of SQL Server 2000 concurrency controls Level 200
Who Am I? SQL Server &.NET Consultant with Readify Director of White Bear Consulting Microsoft MVP for.NET INETA User Group Relations Chair for Asia-Pacific President of Qld MSDN User Group President of Qld SQL Server User Group
Agenda Barriers to availability Database server failure or disaster User or application error Data access concurrency limitations Database Partitioning
Barriers to Availability Overview Business requirements –Time and location –Processes –Expectations Technology –Hardware –DBMS software –Application software
Barriers to Availability Primary Server or DBMS Barriers Database failure or disaster –Hardware failure –Human-made disaster –Natural disaster
Barriers to Availability Primary Server or DBMS Barriers User or application error –Accidental data modifications –Malicious data modifications Data access concurrency limitations –Multiple transactions accessing same data –Persistent data structure changes
Agenda Barriers to availability Database server failure or disaster User or application error Data access concurrency limitations Database Partitioning
Database Server Failure or Disaster Overview Failover clustering Database mirroring Now many alternatives available –Peer to peer replication (new) –Standard replication topologies –Log shipping –Backup and restore –Detach, copy, attach
Database Server Failure or Disaster Failover Clustering Provides a hot standby Built on Microsoft Cluster Services (MSCS) –Multiple nodes (Now 8) –Automatic failover of instance (~20 seconds) –Certified hardware required Zero committed work loss Single copy of instance databases Standby not available for any other use Supports more SQL services MS-2087 Implementing Microsoft Windows 2000 Clustering
Database Server Failure or Disaster Failover Clustering Provides a hot standby Built on Microsoft Cluster Services (MSCS) –Multiple nodes (now 8) –Automatic failover of instance (~20 seconds) –Certified hardware required Zero committed work loss Single copy of instance databases Standby not available for any other use Supports more SQL services MS-2087 Implementing Microsoft Windows 2000 Clustering
Database Server Failure or Disaster Failover Clustering Shared Disk Array 2 nd Private ‘Heartbeat’ network Clustered Servers Clients Virtual Server Primary Network
Database Server Failure or Disaster Database Mirroring Provides a hot standby (instant) Database failover –Very fast automatic failover (less than 3 seconds) –Transparent client redirect Zero committed work loss Some performance impact Maximum one mirror for each database Standby not directly available for any other use MS-2733 Updating Your Database Administration Skills to Microsoft SQL Server 2005
Database Server Failure or Disaster Database Mirroring Provides a hot standby (instant) Database failover –Very fast automatic failover (less than 3 seconds) –Transparent client redirect Zero committed work loss Some performance impact Maximum one mirror for each database Standby not directly available for any other use MS-2733 Updating Your Database Administration Skills to Microsoft SQL Server 2005
Database Server Failure or Disaster Database Mirroring Hardware No special hardware required –Requires a second server –Servers do not need duplicate hardware Virtually no distance limitations –No shared disk arrays –Transaction latency requirements determine acceptable network latency MS-2733 Updating Your Database Administration Skills to Microsoft SQL Server 2005
Database Server Failure or Disaster Database Mirroring With Automatic Failover Separate Disk Arrays Principal Server Mirror Server Clients Witness Server
Database Server Failure or Disaster Database Mirroring With Automatic Failover
Configuring and Using a Database Mirror Configuring and Using a Database Mirror demonstration demonstration
User or Application Error Comparison of High Availability Options Feature Hot StandbyWarm StandbyCold Standby Database Mirroring Failover Clustering Peer-to- Peer Transactional Replication Log Shipping Backup / Restore Detach / Copy / Attach Data Loss No data loss option No data loss Some Data Loss possible Some data loss possible Some data loss likely Automatic Failover Yes OptionalNo Transparent to Client Yes, Auto- Redirect Yes, Reconnect to same IP OptionalNo, NLB helps No Downtime < 3 Seconds 20 Sec + DB Recovery NoneSeconds Seconds + DB Recovery Detect, Restore, Manual failover Detect, Attach, Manual failover Standby Read Access Continuously accessible Snapshot No Continuously accessible Intermittently accessible No
User or Application Error Comparison of High Availability Options Feature Hot StandbyWarm StandbyCold Standby Database Mirroring Failover Clustering Peer-to-Peer Replication Transactional Replication Log Shipping Backup/ Restore Detach/ Copy/ Attach Data Granularity Database Only All System and User Databases Table or View Database Only Masks Disk Failure Yes No, Shared Disk Yes Special Hardware Needed No, Dup. system needed Specialized Hardware from Cluster HCL No, Dup. system needed Complexity SomeMore Some
Agenda Barriers to availability Database server failure or disaster User or application error Data access concurrency limitations Database Partitioning
User or Application Error Database Snapshots Read-only Static view of database Transaction consistent at point of time Does not store all data pages Reads only original data pages –Reads data from snapshot if data has changed –Reads data from database if data has not changed Increases disk I/O of source database MS-2733 Updating Your Database Administration Skills to Microsoft SQL Server 2005
User or Application Error How Database Snapshots Work
User or Application Error Database Snapshot Scenarios Enabling mirroring database for reporting Historical point-in-time reporting Recovering from administrative error Protecting against application or user error
Implementing and Using Database Snapshots demonstration demonstration
Agenda Barriers to availability Database server failure or disaster User or application error Data access concurrency limitations Database Partitioning
Data Access Concurrency Limitations Pessimistic Concurrency Controls Default Setting and Behavior Designed for Data Integrity SELECT Operations Require Shared Resource Locks Different Isolation Levels Control Behavior of Shared Locks MS-2072 Administering a Microsoft SQL Server 2000 Database
Data Access Concurrency Limitations Optimistic Concurrency Controls Optional setting and behavior Implemented using row versioning Designed for data integrity but allows reads of committed data SELECT operations do not require shared resource locks Different isolation levels control behavior of committed reads
Data Access Concurrency Limitations Row Versioning Several Uses –Triggers for Inserted and Deleted tables –Multiple Active Result Sets (MARS) sessions –ONLINE Index Operations –Optimistic concurrency controls (row snapshots) Versions built in tempdb for all modified rows Versions deleted when no remaining transaction or operation needs them
Data Access Concurrency Limitations Snapshot Isolation Level Reads committed data at time of transaction start ALLOW _SNAPSHOT_ISOLATION database option TRANSACTION ISOLATION LEVEL SNAPSHOT session option
Data Access Concurrency Limitations ONLINE Index Operations Table accessible for reads and modifications during ONLINE index operations Existing non-clustered indexes available to optimize during ONLINE clustered index operations Non-clustered index is not available during its index operation
Data Access Concurrency Limitations ONLINE Index Operation Commands CREATE INDEX ALTER INDEX DROP INDEX ALTER TABLE –ADD or DROP of UNIQUE index –ADD or DROP of PRIMARY KEY with CLUSTERED index option
Agenda Barriers to availability Database server failure or disaster User or application error Data access concurrency limitations Database Partitioning
Designed for: – VLDB with very large tables (ie 100’s GB) –Large systems with 8, 16, 32 or more “real” CPUs Replace partitioned views where partitions are in a single database
Database Partitioning Partition Function – each row of a table is assigned to a partition (ie 1, 2, 3…) Currently only a single column but workaround with persisted calculated columns Partition Scheme – each partition for a partition function is mapped to a filegroup
Implementing and Using Database Partitions demonstration demonstration
Session Summary Several new features available in SQL Server 2005 to protect against server failure Database snapshots can be used to protect against application, user, or administrative error Use the new optimistic concurrency controls and ONLINE index operations to reduce database contention issues
For More Information Visit TechNet at
Microsoft Learning Training Resources for IT Professionals To see the detailed syllabus or to locate a training provider please visit CourseTitleAvailable MS-2733Updating Your Database Administration Skills to Microsoft SQL Server 2005 Now MS-2734Updating your Development skills to Microsoft SQL Server 2005 Database Now MS-2087Implementing Microsoft Windows 2000 Clustering Now
SQL Server Day Workshops Microsoft SQL Server 2005 Database Infrastructure & Scalability, presented by Brent Challis, DDLS Microsoft SQL Server 2005 Business Intelligence, presented by Peter Myers. Tenix Connections Microsoft SQL Server 2005 Development, presented by Greg Low, White Bear Consulting
SQL Server 2005 Workshops Cost $650 and $575 for early birds. For Schedule, Registration and further information –Partners only –Customers and Partners: (This page will be available later this month)
SQL Server 2005 Workshops Register Now for Yukon Workshops Microsoft Partner can register for all 3 workshops at Microsoft Customers can register for all 3 workshops at com.au/YukonCusBI com.au/YukonCusDev com.au/YukonCusAdmin Workshops run nationally and are scheduled between 7 March and 30 June 2005, places are limited so be quick.
User Community SQLServer.org.au (Australian SQL Server User Group) Sign up and attend your local user group! SQL Server 2005 Beta 2 Kit: – –3 CD/DVDs SQL Server 2005 Beta 2 SQL Server 2005 Resource Kit SQL Server 2005 Presentations (videos)
Code Camp Code Camp Oz is happening 23/24 th April at Charles Sturt University in Wagga Wagga Be there!
The SQL Server 2005 University Masters Fully accredited, masters level degree from Charles Sturt University SQL Server 2005 MCDBA certification included as an integral component Graduates eligible for full professional level membership of the Australian Computing Society Part time study delivered via Distance Education Qualifies for Government FEE-HELP program Places available for experienced applicants without previous qualifications First intake commences September 2005 Register your interest at
Where Can I Get Help? Free chats and webcasts List of newsgroups Microsoft community sites Community events Community columns
Session Credits Author: Steven R. Allen with mods by Greg Low Producer/Editor: Technical Specialists –[Reviewer 1] –[Reviewer 2] Microsoft Reviewers/Editors