SQL Server Readiness Document Prepared by: SQL Server - Premier Field Engineers Date: March 2013 SQL Server Readiness Document The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. The descriptions of other companies’ products in this document, if any, are provided only as a convenience to you. Any such references should not be considered an endorsement or support by Microsoft. Microsoft cannot guarantee their accuracy, and the products may change over time. Also, the descriptions are intended as brief highlights to aid understanding, rather than as thorough coverage. For authoritative descriptions of these products, please consult their respective manufacturers. © 2013 Microsoft Corporation. All rights reserved. Any use or distribution of these materials without express authorization of Microsoft Corp. is strictly prohibited. Microsoft and Windows are either registered trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. Microsoft Proprietary and Confidential Information Page ii SQL Server Readiness Document Executive Summary The purpose of this document is to provide a single reference point for those wishing to gain a better understanding of SQL Server. This document will be updated over time, but please ensure that you personally check for the latest updates to the material covered. By this we mean, suggestions can change over time and from one service pack to another. Ensure you learn the latest recommendations to be up to date and best placed to assist customers. The key aims of this guide are to: 1. Provide a single source of information that can help you learn the key concepts of SQL Server. 2. Provide an overview of key SQL Server components 3. Highlight dependencies and other information that an SQL Server engineer would need to know 3|Page SQL Server Readiness Document Table of Contents Executive Summary ............................................................................................................................................................ 3 1 Installing and Configuring SQL Server ................................................................................................................. 5 2 Maintaining SQL Server Instances ......................................................................................................................... 6 2.1 SQL Server backup and restore ..................................................................................................................................... 6 2.2 SQL Server Security ............................................................................................................................................................. 6 2.3 SQL Server Maintenance Plans: ..................................................................................................................................... 8 3 Performing Data Management Tasks .................................................................................................................. 10 3.1 Data import/export options in SQL Server : .......................................................................................................... 10 Data compression on SQL Server ....................................................................................................................................... 10 3.2 Managing Indexes: ........................................................................................................................................................... 10 Collations best practice: ......................................................................................................................................................... 11 4 Monitoring and Troubleshooting SQL Server ................................................................................................... 12 4.1 SQL Server monitoring: .................................................................................................................................................. 12 5 Optimizing SQL Server Performance ................................................................................................................... 13 5.1 Resource Governor: ......................................................................................................................................................... 13 5.2 Extended Events in SQL Server: .................................................................................................................................. 13 6 SQL Server High Availability .................................................................................................................................. 15 6.1 SQL Server Clustering: .................................................................................................................................................... 15 6.2 SQL Server Database mirroring: ................................................................................................................................. 15 6.3 SQL Server Replication: .................................................................................................................................................. 17 6.4 Storage and Capacity Planning for SQL Server: ................................................................................................... 19 4|Page SQL Server Readiness Document 1 Installing and Configuring SQL Server SQL Server setup and the different components while considering installation. http://msdn.microsoft.com/en-us/library/bb500395. This document lists out the instructions on how to View and Read SQL Server Setup Log Files. http://technet.microsoft.com/en-us/library/ms143702.aspx How to Install SQL Server 2012 from the Command Prompt and how it can be used for the http://msdn.microsoft.com/en-us/library/ms144259.aspx Considerations for Installing SQL Server Using SysPrep. The sysprep is used in most of the environments where we have multiple server installation required. http://msdn.microsoft.com/en-us/library/ee210754.aspx SQL Server Consolidation Guidance when we need to plan for the number of instances required to support the environment. http://technet.microsoft.com/en-us/library/ee819082(SQL.100).aspx Security Considerations for a SQL Server Installation http://msdn.microsoft.com/en-us/library/ms144228.aspx Known issues with SQL Setup discussed here, http://blogs.msdn.com/b/sqlserverfaq/archive/tags/setup/ Internals of SQL Server setup discussed at this blog by one of the program managers in SQL Server setup development team. http://blogs.msdn.com/b/petersad/ 5|Page SQL Server Readiness Document 2 Maintaining SQL Server Instances 2.1 SQL Server backup and restore The SQL Server backup and restore component provides an essential safeguard for protecting critical data stored in your SQL Server databases. To minimize the risk of catastrophic data loss, you need to back up your databases to preserve modifications to your data on a regular basis. A well-planned backup and restore strategy helps protect databases against data loss caused by a variety of failures. Basics of backup and restore of databases, http://msdn.microsoft.com/en-us/library/ms187048.aspx How backup and recovery works in SQL Server, http://msdn.microsoft.com/en-us/library/ms187048.aspx SQL Server: Recovering from Disasters Using Backups http://technet.microsoft.com/en-us/magazine/ee677581.aspx Best practice recommendations in database backup in SQL Server, http://support.microsoft.com/kb/2027537 Internals: How does SQL Server Backup and Restore select transfer sizes http://blogs.msdn.com/b/psssql/archive/2008/02/06/how-it-works-how-does-sql-serverbackup-and-restore-select-transfer-sizes.aspx Clearing some myths on backup and restore, http://sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-(3030)-backupmyths.aspx Tuning the Performance of Backup Compression in SQL Server 2008 http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/04/21/tuning-the-performance-ofbackup-compression-in-sql-server-2008.aspx Some known issues in backup/restore discussed, http://blogs.msdn.com/b/sqlserverfaq/archive/tags/backup/ 2.2 SQL Server Security This session is about discussing the SQL Server 2008 Security best practices from Operational and administration point of view http://channel9.msdn.com/Events/TechEd/NorthAmerica/2008/techtalk_61 This whitepaper brings together the recommended best practices for security in SQL Server 2005 environment, SQL Server 2005 Security Best Practices: Operational and Administrative Tasks 6|Page SQL Server Readiness Document The details of SQL Server security for administrators explained in this whitepaper. This is very useful for the DBA when we need to work in the secured environments. Security Overview for Administrators Some common and general SQL Server security issues and solutions discussed in this article. Common SQL Server Security Issues and Solutions A very interesting presentation on SQL Server forensics on the approach to drill down into the root cause analysis of security issues in SQL Server. SQL Server Database Forensics presentation The blog by SQL Server security dev team which covers the more frequently faced issues and features, SQL Server Security blog How to create and manage auditing with TSQL in SQL Server 2008 R2, http://msdn.microsoft.com/en-us/library/cc280665(v=sql.105).aspx How to view and modify the security settings when replication is implemented, http://msdn.microsoft.com/en-us/library/ms147827(v=sql.105).aspx Security & Encryption in SQL Server: Encryption is the process of obfuscating data by the use of a key or password. This can make the data useless without the corresponding decryption key or password. Encryption does not solve access control problems. However, it enhances security by limiting data loss even if access controls are bypassed. For example, if the database host computer is misconfigured and a hacker obtains sensitive data, that stolen information might be useless if it is encrypted. You can use encryption in SQL Server for connections, data, and stored procedures. Encryption in SQL Server: http://msdn.microsoft.com/en-us/library/bb510663.aspx With the introduction of transparent data encryption (TDE) in SQL Server 2008, users now have the choice between cell-level encryption as in SQL Server 2005, full database-level encryption by using TDE, or the file-level encryption options provided by Windows. TDE is the optimal choice for bulk encryption to meet regulatory compliance or corporate data security standards. TDE works at the file level, which is similar to two Windows® features: the Encrypting File System (EFS) and BitLocker™ Drive Encryption, the new volume-level encryption introduced in Windows Vista®,both of which also encrypt data on the hard drive. TDE does not replace cell-level encryption, EFS, or BitLocker. This white paper compares TDE with these other encryption methods for application developers and database administrators. While this is not a technical, in-depth review of TDE, technical implementations are explored and a familiarity with concepts such as virtual log files and the buffer pool are assumed. The user is assumed to be familiar with cell-level encryption and cryptography in general. Implementing database encryption is covered, but not the rationale for encrypting a database. Transparent data encryption (TDE) discussed here: http://msdn.microsoft.com/en-us/library/cc278098(v=sql.100).aspx 7|Page SQL Server Readiness Document How to replicate the data in encrypted column, http://msdn.microsoft.com/en-us/library/bb326115.aspx How to ensure the threat and vulnerability mitigation in case of replication, http://msdn.microsoft.com/en-us/library/bb510673(SQL.100).aspx 2.3 SQL Server Maintenance Plans: Maintenance plans create a workflow of the tasks required to make sure that your database is optimized, is backed up on a regular basis, and is free of inconsistencies. Maintenance plans create an Integration Services package that is run by a SQL Server Agent job. These maintenance tasks can be run manually or automatically at scheduled intervals. You can use the Maintenance Plan Wizard to create core maintenance plans, but creating plans manually gives you more flexibility. 8|Page SQL Server Readiness Document The basics of sql server maintenance plan explained in this article, http://blogs.technet.com/b/accidental_dba/archive/2011/06/29/sql-server-maintenanceplans.aspx Best tips for maintaining the database which includes the maintenance plan guidance as well as the tasks that should be included in the mostly used maintenance plans. http://technet.microsoft.com/en-us/magazine/2008.08.database.aspx This article explains how to use the maintenance plan wizard to create effective maintenance plans for the environment. http://blogs.msdn.com/b/john_daskalakis/archive/2010/01/07/9945147.aspx The maintenance plan runs as a separate process on the server as it uses the SSIS to save the package and then use the package during the execution. So we are using dtexec.exe in the background when using the maintenance plans that are packages. This article explains some options and issues while we run the maintenance plan. http://blogs.msdn.com/b/jorgepc/archive/2010/02/04/running-a-maintenance-plan-usingdtexec-exe-command-prompt-utitlyt-does-not-execute-any-action.aspx 9|Page SQL Server Readiness Document 3 Performing Data Management Tasks 3.1 Data import/export options in SQL Server : Import and Export Bulk Data by Using the bcp Utility http://msdn.microsoft.com/en-us/library/aa337544.aspx Partitioned Tables and Indexes in SQL Server 2008 http://msdn.microsoft.com/en-us/library/dd578580(SQL.100).aspx How to Implement an Automatic Sliding Window in a Partitioned Table on SQL Server 2005 http://msdn.microsoft.com/en-us/library/aa964122(SQL.90).aspx Partitioning switch considerations http://blogs.msdn.com/b/sqlprogrammability/archive/2009/04/10/sql-server-2005-2008-tablepartitioning-important-things-to-consider-when-switching-out-partitions.aspx Partition level locking and performance, http://blogs.msdn.com/b/sqlcat/archive/2010/03/04/enabling-partition-level-locking-in-sqlserver-2008.aspx Data compression on SQL Server: Types of data compression in SQL Server 2008 http://blogs.msdn.com/b/sqlserverstorageengine/archive/2007/11/12/types-of-datacompression-in-sql-server-2008.aspx?Redirected=true Data Compression: Strategy, Capacity Planning and Best Practices http://msdn.microsoft.com/en-us/library/dd894051(v=sql.100).aspx Data compression, why do we need it? http://blogs.msdn.com/b/sqlserverstorageengine/archive/2007/09/30/data-compression-whydo-we-need-it.aspx Data compression techniques and trade offs http://blogs.msdn.com/b/sqlserverstorageengine/archive/2007/09/30/data-compressiontechniques-and-trade-offs.aspx 3.2 Managing Indexes: Best practices white paper on the indexing and the advantage/disadvantage of using clustered index and non-clustered indexes. http://msdn.microsoft.com/en-us/library/cc917672.aspx Partitioned table and index strategies in SQL Server 2008 http://download.microsoft.com/download/D/B/D/DBDE7972-1EB9-470A-BA1858849DB3EB3B/PartTableAndIndexStrat.docx 10 | P a g e SQL Server Readiness Document Reorganize and rebuild indexes, http://msdn.microsoft.com/en-us/library/ms189858.aspx Microsoft SQL Server 2000 Index defragmentation best practices, http://msdn.microsoft.com/en-us/library/cc966523.aspx A lot of articles about the database maintenance best practices & recommendations in this blog by Kimberly Tripp: http://www.sqlskills.com/BLOGS/KIMBERLY/post/Database-Maintenance-Best-Practices-Part-Ie28093-clarifying-ambiguous-recommendations-for-Sharepoint.aspx Collations best practice: Various properties affect the sort order and equality semantics of textual data, including case sensitivity, accent sensitivity, and the base language being used. These qualities are expressed to SQL Server through the choice of collation for the data. This article describes the collation and Unicode support in SQL Server, http://msdn.microsoft.com/en-us/library/ms143726.aspx How to change a existing database collation http://support.microsoft.com/kb/325335 This whitepaper discusses about the best practice for collation changes. This is mostly seen in scenarios where we have companies spread across different geographic locations and maintaining different collations as per the location and languages. http://go.microsoft.com/fwlink/?LinkId=113891 This whitepaper talks about the best practices in using the different collations and Unicode data types. http://go.microsoft.com/fwlink/?LinkId=113890 Collation specific concerns in contained databases explained. http://msdn.microsoft.com/en-us/library/ff929080.aspx 11 | P a g e SQL Server Readiness Document 4 Monitoring and Troubleshooting SQL Server 4.1 SQL Server monitoring: There are a variety of tools and techniques that can be used to monitor Microsoft SQL Server. Understanding how to monitor SQL Server can help you. There are 3rd party tools to monitor the SQL Server but we will provide only the ones that are available in SQL server itself and not the outside tools. Perf monitoring how to topics listed, http://msdn.microsoft.com/en-us/library/ms187830(v=sql.105).aspx How to use activity monitor to check the sql server details, http://msdn.microsoft.com/en-us/library/hh212951 How to use the system monitor to monitor the resource usage on Windows server, including the SQL Server components, http://msdn.microsoft.com/en-us/library/ms191246.aspx Monitor SQL Server log shipping, http://msdn.microsoft.com/en-us/library/ms190224.aspx Guidance on how to monitor the SQL Server performance, http://msdn.microsoft.com/en-us/library/ee377023(v=bts.10).aspx 12 | P a g e SQL Server Readiness Document 5 Optimizing SQL Server Performance 5.1 Resource Governor: Resource Governor enables you to manage SQL Server workloads and resources by specifying limits on resource consumption by incoming requests. In the Resource Governor context, workload is a set of similarly sized queries or requests that can, and should be, treated as a single entity. This is not a requirement, but the more uniform the resource usage pattern of a workload is, the more benefit you are likely to derive from Resource Governor. Resource limits can be reconfigured in real time with minimal impact on workloads that are executing. The how and what concepts of resource governor explained here, http://technet.microsoft.com/en-us/library/bb933866.aspx This whitepaper discusses about the methods on how to use the SQL server resource governor, http://msdn.microsoft.com/en-us/library/ee151608(v=sql.100).aspx Some good questions about the resource governor answered here by the support team, http://blogs.msdn.com/b/psssql/archive/2008/01/10/sql-server-2008-resource-governorquestions.aspx 5.2 Extended Events in SQL Server: Extended Events (Extended Events) is a general event-handling system for server systems. The Extended Events infrastructure supports the correlation of data from SQL Server, and under certain conditions, the correlation of data from the operating system and database applications. In the latter case, Extended Events output must be directed to Event Tracing for Windows (ETW) to correlate the event data with operating system or application event data. Extended Events is a highly scalable and highly configurable architecture that allows users to collect as much or as little information as is necessary to troubleshoot or identify a performance problem. SQL Server Extended Events (Extended Events) builds on existing concepts, such as an event or an event consumer, uses concepts from Event Tracing for Windows, and introduces new concepts. Extended events basics and concepts explained, http://technet.microsoft.com/en-us/library/bb630282.aspx Jonathan kehayias has done a series of blogs for the extended events which is a great learning series for the beginners, http://sqlblog.com/blogs/jonathan_kehayias/archive/2010/12/01/a-xevent-a-day-31-days-ofextended-events.aspx Extended events object model is explained in detail by the program manager for xevents in SQL Server team, http://blogs.msdn.com/b/extended_events/archive/2011/01/20/introducing-the-extendedevents-object-model.aspx 13 | P a g e SQL Server Readiness Document How to use the new Extended events user interface in SQL Server 2012, http://blogs.msdn.com/b/extended_events/archive/2011/07/13/introducing-the-extendedevents-user-interface.aspx From SQL Server 2012 onwards, extended events replaces SQL profiler trace for the data collection activities. SQL profiler is already a handy tool for the DBA during the troubleshooting. So refer to this article which talks about how to ease the pain of migrating to extended events from profiler traces. http://blogs.msdn.com/b/extended_events/archive/2010/12/10/migrating-from-sql-trace-toextended-events.aspx 14 | P a g e SQL Server Readiness Document 6 SQL Server High Availability 6.1 SQL Server Clustering: SQL Server clustering basics covered in this paper, Introduction to SQL Server 2005 Clustering Basics SQL Server 2008 Failover cluster explained in detail in this whitepaper, http://download.microsoft.com/download/6/9/D/69D1FEA7-5B42-437A-B3BAA4AD13E34EF6/SQLServer2008FailoverCluster.docx Steps to create a SQL Server cluster, http://blogs.msdn.com/b/clustering/archive/2008/01/18/7151154.aspx?Redirected=true Understanding Backup and Recovery Basics for a Failover Cluster http://technet.microsoft.com/en-us/library/cc771973.aspx Some good tips regarding the myths in SQL Server clustering provided by SQLPASS, Busting 6 SQL Server Failover Clustering Myths Whitepapers regarding the multisite clustering in windows server 2008, http://www.microsoft.com/en-us/download/details.aspx?id=13153 6.2 SQL Server Database mirroring: Database mirroring maintains two copies of a single database that must reside on different server instances of SQL Server Database Engine. Typically, these server instances reside on computers in different locations. Starting database mirroring on a database, initiates a relationship, known as a database mirroring session, between these server instances 15 | P a g e SQL Server Readiness Document A basic database mirroring configuration mentioned above with principal, witness and mirror being separate instances. Database mirroring technology overview, http://technet.microsoft.com/en-us/library/cc917680.aspx Database Mirroring Best Practices and Performance Considerations http://technet.microsoft.com/en-us/library/cc917681.aspx Database mirroring and log shipping details and comparisons explained, http://msdn.microsoft.com/en-us/library/ms187016.aspx Troubleshooting guide for setting up database mirroring, http://msdn.microsoft.com/en-us/library/ms189127.aspx Database Mirroring and Log Shipping Working Together http://technet.microsoft.com/en-us/sqlserver/bb671430.aspx Implementing Application Failover with Database Mirroring: http://technet.microsoft.com/en-us/sqlserver/bb671430.aspx Database Mirroring Best Practices and Performance Considerations http://technet.microsoft.com/en-us/sqlserver/bb671430.aspx Database Mirroring FAQ: http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirfaq.mspx Performance Boost for Database Mirroring: http://www.sqlskills.com/blogs/paul/post/SQL-Server-2008-Performance-boost-for-DatabaseMirroring.aspx (Some of these were written for SQL 2005 but still apply to SQL 2008 and later) 16 | P a g e SQL Server Readiness Document 6.3 SQL Server Replication: Where to start understanding replication, http://technet.microsoft.com/en-us/library/ms151198.aspx The different types of replication available in SQL Server, http://msdn.microsoft.com/en-us/library/ms152531.aspx How merge replication works, http://msdn.microsoft.com/en-us/library/ms151329(v=sql.105).aspx How Transactional replication works, http://msdn.microsoft.com/en-us/library/ms151176.aspx 17 | P a g e SQL Server Readiness Document Getting started with transactional replication, http://blogs.msdn.com/b/repltalk/archive/2010/03/03/links-for-getting-started-withtransactional-replication.aspx High level transactional replication workflow explained, http://blogs.msdn.com/b/repltalk/archive/2010/02/03/high-level-transactionalreplication-process-flow.aspx Security options in replication, http://technet.microsoft.com/en-us/library/ms151187.aspx SQL Server security best practices for replication, http://msdn.microsoft.com/en-us/library/ms151227.aspx Geo replication and advantages in SQL Server 2008 on Windows server 2008, http://msdn.microsoft.com/en-us/library/dd263442(v=sql.100).aspx Whitepaper discussing co-existence of SQL server replication and database mirroring, http://download.microsoft.com/download/0/6/F/06F6E21B-F8BA-41FF-924EC1903911AADB/SQL%20Server%202008%20Replication%20and%20Database%20Mirro ring%20White%20Paper.DOCx Useful guides for troubleshooting replication and known issues, http://blogs.msdn.com/b/repltalk/archive/2010/02/04/first-steps-in-troubleshootingreplication.aspx Merge replication capacity planning, http://blogs.msdn.com/b/repltalk/archive/2010/06/28/merge-replication-capacityplanning.aspx Helpful References and Links on Setting up Merge Web Synchronization http://blogs.msdn.com/b/repltalk/archive/2010/04/21/helpful-references-and-links-onsetting-up-merge-web-synchronization.aspx Useful info regarding SQL Server replication from the SQL Server support team in Microsoft, http://blogs.msdn.com/b/sqlserverfaq/archive/tags/replication/ Blog by the SQL Server replication expert team in MS Support, http://blogs.msdn.com/b/repltalk/ 18 | P a g e SQL Server Readiness Document 6.4 Storage and Capacity Planning for SQL Server: Storage Top 10 Best Practices http://technet.microsoft.com/en-us/library/cc966534.aspx Top SQL Server 2005 Performance Issues for OLTP Applications http://technet.microsoft.com/en-us/library/cc966401.aspx SQL Server 2000 I/O Basics Learn the I/O requirements for Microsoft SQL Server database file operations. This will help you increase system performance and avoid I/O environment errors. http://technet.microsoft.com/en-us/library/cc966500.aspx Physical Database Storage Design This article provides a guide for physical storage design and gives recommendations and trade-offs for physical hardware design and file architecture. http://technet.microsoft.com/en-us/library/cc966414.aspx For details on tasks to perform and technical items to understand *before* deploying your application and SQL Server: Pre-deployment I/O Best Practices: SQL Server Best Practices Article The I/O system is important to the performance of SQL Server. When configuring a new server for SQL Server or when adding or modifying the disk configuration of an existing system, it is good practice to determine the capacity of the I/O subsystem prior to deploying SQL Server. This white paper discusses validating and determining the capacity of an I/O subsystem. A number of tools are available for performing this type of testing. This white paper focuses on the SQLIO.exe tool, but also compares all available tools. It also covers basic I/O configuration best practices for SQL Server 2005. http://technet.microsoft.com/en-us/library/cc966412.aspx Understanding how to analyze I/O and size a storage system: Understanding how to analyze the characteristics of I/O patterns in the Microsoft® SQL Server® data management software and how they relate to a physical storage configuration is useful in determining deployment requirements for any given workload. A well-performing I/O subsystem is a critical component of any SQL Server application. I/O subsystems should be sized in the same manner as other hardware components such as memory and CPU. As workloads increase it is common to increase the number of CPUs and increase the amount of memory. Increasing disk resources is often necessary to achieve the right performance, even if there is already enough capacity to hold the data. Analyzing I/O Characteristics and Sizing Storage Systems for SQL Server Database Applications http://download.microsoft.com/download/B/E/1/BE1AABB3-6ED8-4C3C-AF91448AB733B1AF/Analyzing%20Characterizing%20and%20IO%20Size%20Considerations. docx 19 | P a g e SQL Server Readiness Document Capacity planning and best practices specific to Data Compression: The data compression feature in SQL Server 2008 helps compress the data inside a database, and it can help reduce the size of the database. Apart from the space savings, data compression provides another benefit: Because compressed data is stored in fewer pages, queries need to read fewer pages from the disk, thereby improving the performance of I/O intensive workloads. However, extra CPU resources are required on the database server to compress and decompress the data, while data is exchanged with the application. Therefore, it is important to understand the workload characteristics when deciding which tables to compress. Data Compression: Strategy, Capacity Planning and Best Practices http://msdn.microsoft.com/en-us/library/dd894051(SQL.100).aspx Analyzing performance of the disks in Windows: Disk Subsystem Performance Analysis for Windows http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-928192cdfeae4b45/subsys_perf.doc Disk partition alignment best practices: Disk partition alignment is a powerful tool for improving SQL Server performance. Configuring optimal disk performance is often viewed as much art as science. A best practice that is essential yet often overlooked is disk partition alignment. Windows Server 2008 attempts to align new partitions out-of-the-box, yet disk partition alignment remains a relevant technology for partitions created on prior versions of Windows. Disk Partition Alignment Best Practices for SQL Server http://msdn.microsoft.com/en-us/library/dd758814(SQL.100).aspx Loading Data into SQL Server: This document described techniques for bulk loading large data sets into SQL Server. It covers both the available techniques as well as methodologies to performance tune and optimize the bulk loading process. The Data Loading Performance Guide http://msdn.microsoft.com/en-us/library/dd425070(SQL.100).aspx Recommendation when deploying SQL Server 2005 on a SAN: Deploying SQL Server 2005 with SAN #1 http://blogs.msdn.com/b/sqlcat/archive/2005/10/11/479887.aspx?wa=wsignin1.0 SQL Server 2005 Configuration Blog #2 http://blogs.msdn.com/b/sqlcat/archive/2005/11/21/495440.aspx Deploying SQL Server 2005 with SAN #3 http://blogs.msdn.com/b/sqlcat/archive/2005/11/17/493944.aspx 20 | P a g e SQL Server Readiness Document Proper configuration of SQL Server TEMPDB: Concurrency enhancements for TEMDB http://support.microsoft.com/kb/328551 Capacity Planning for TEMPDB http://msdn.microsoft.com/en-us/library/ms345368(SQL.90).aspx TEMPDB Capacity Planning and Concurrency Considerations for Index Create and Rebuild http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/tempdb_capacity_pla nning_index.mspx For maximum capacities in SQL Server: Maximum Capacity Specifications for SQL Server http://msdn.microsoft.com/en-us/library/ms143432.aspx To download SQLIO and SQLIOSim: SQLIO Disk Subsystem Benchmark Tool (SQLIO is a tool provided by Microsoft which can also be used to determine the I/O capacity of a given configuration.) http://www.microsoft.com/downloads/details.aspx?familyid=9A8B005B-84E4-4F248D65-CB53442D9E19&displaylang=en 21 | P a g e