• Published:
    November 26, 2008
  • Languages:
  • Audiences:
  • Technology:
    SQL Server 2008
  • Credit toward certification:

PRO: Designing Database Solutions and Data Access Using Microsoft SQL Server 2008

This exam has been retired

For currently available options, please see the Microsoft Certification exam list.

Skills measured

This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Design a database strategy (13%)
  • Identify which SQL Server components to use to support business requirements
    • SQL Server Agent, DB mail, Service Broker, Full-Text Search, Distributed Transaction Coordinator (DTC), linked servers
  • Design a database model
    • Normalization, entities, entity relationships
  • Design a data model by using the Entity Framework
    • Define and maintain mapping (query versus stored procedures), defining a data model, entity SQL
  • Design an application strategy to support security
    • Application roles, schema ownership, execution context, Windows versus SQL authentication, permissions and database roles
  • Design a solution by using Service Broker
    • Design services, contracts, activation, routes, message types, queues, remote service binding, priorities
  • Design a Full-Text Search strategy

Preparation resources

Design database tables (16%)
  • Identify the appropriate usage of new data types
    • Geography, geometry, hierarchyid, date, time, datetime2, datetimeoffset, varbinary (max) filestream
  • Design tables
    • Table width, sizing data types, IN_ROW_DATA (BLOBs), overflow data, sparse columns, computed columns, persisted computed columns
  • Design data integrity
    • Primary key, foreign key, check constraint, default constraint, NULL/NOT NULL, unique constraint, DML triggers

Preparation resources

Design programming objects (17%)
  • Design T-SQL stored procedures
    • Execution context (EXECUTE AS), table-valued parameters, determine appropriate way to return data, WITH RECOMPILE/OPTION (RECOMPILE), error handling, TRY/CATCH
  • Design views
    • Common table expressions, partitioned views, WITH CHECK OPTION, WITH SCHEMABINDING
  • Design T-SQL table-valued and scalar functions
    • Inline table-valued functions versus views, multi-statement table-valued functions, determinism
  • Design Common Language Runtime (CLR) table-valued and scalar functions
    • Assembly PERMISSION_SET, CLR versus T-SQL, ordered versus non-ordered
  • Design CLR stored procedures, aggregates, and types
    • Assembly PERMISSION_SET, CLR versus T-SQL, ordered versus non-ordered, execute static methods on user-defined types, multi-parameter aggregations
  • Evaluate special programming constructs
    • Dynamic versus prepared SQL (CREATE PROCEDURE… WITH EXECUTE AS) procedure, protect against SQL injection

Preparation resources

Design a transaction and concurrency strategy (14%)
  • Design the locking granularity level
    • Locking hints, memory consumption
  • Design for implicit and explicit transactions
    • Nested transactions, savepoints, TRY/CATCH
  • Design for concurrency
    • Hints, transaction isolation level, effect of database option READ_COMMITTED_SNAPSHOT, rowversion and timestamp datatypes

Preparation resources

Design an XML strategy (8%)
  • Design XML storage
    • Determine when to use XML for storage, untyped versus typed (XML schema collection)
  • Design a strategy to query and modify XML data
    • When to use appropriate XPath and XQuery expressions, .query versus .value, XML indexes for performance, typed versus untyped, .exist, .modify
  • Design a query strategy by using FOR XML
  • Design a strategy to transform XML into relational data
    • .nodes, .value, .query, XQuery, and XPath

Preparation resources

Design queries for performance (17%)
  • Optimize and tune queries
    • Optimizer hints, common table expressions (CTEs), search conditions, temporary storage, GROUP BY [GROUPING SETS|CUBE|ROLLUP]
  • Analyze execution plans
    • Execution order, logical and physical operators, join operators, minimize resource costs, compare query costs
  • Evaluate the use of row-based operations versus set-based operations
    • Row-based logic versus set-based logic, batching, splitting implicit transactions

Preparation resources

Design a database for optimal performance (15%)
  • Optimize indexing strategies
    • Table-valued function, views, filtered indexes, indexed views, clustered and non-clustered, unique
  • Design scalable database solutions
    • Scale up versus scale out, federated databases, distributed partitioned views, scalable shared databases, replication, offload read-only query (database mirroring)
  • Resolve performance problems by using plan guides
    • Object plan guides, SQL plan guides, templates plan guides, dynamic management views
  • Design a table and index compression strategy
    • Row versus page, update frequency, page compression implementation, compress individual partitions
  • Design a table and index partitioning strategy
    • Switch partitions, merging, splitting, staging, creating, schemes and functions

Preparation resources

Who should take this exam?

Candidates for this exam typically work in an enterprise environment that has more than 500 personal computers and more than 100 servers, and candidates mostly create solutions for all types of enterprise issues. They should have experience with writing transact SQL queries, programming the database, troubleshooting programming objects, database performance tuning and optimization, and designing databases at both the conceptual and logical levels. Candidates should also be familiar with implementing databases at the physical level, designing and troubleshooting the data access layer of the application, and gathering business requirements.

More information about exams

Preparing for an exam

We recommend that you review this exam preparation guide in its entirety and familiarize yourself with the resources on this website before you schedule your exam. See the Microsoft Certification exam overview for information about registration, videos of typical exam question formats, and other preparation resources. For information on exam policies and scoring, see the Microsoft Certification exam policies and FAQs.


This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format. To help you prepare for this exam, Microsoft recommends that you have hands-on experience with the product and that you use the specified training resources. These training resources do not necessarily cover all of the topics listed in the "Skills measured" section.