Exam Profile: Developing Microsoft SQL Server 2012 Databases (70-464)
Date: Oct 31, 2012
The 70-464 exam is meant to be taken by database professionals who build and implement databases across the organization, while ensuring high levels of data availability. You should be about the perform tasks including creating database files, create data types, tables, plan create and optimize indexes, Implement data integrity, Implement views, stored procedures and functions, manage transactions and locks. Microsoft states that the exam is meant to be taken by those whose primary responsibilities may include:
- Optimize and tune queries.
- Create and alter stored procedures.
- Create and alter indexes.
- Maintain database integrity.
- Optimize indexing strategies.
- Create and alter tables.
- Maintain indexes.
- Create and modify constraints.
- Create and alter views.
- Create and alter user-defined functions (UDFs).
- Control execution plans.
- Work with XML Data
- Implement full-text search.
- Troubleshoot security.
- Write automation scripts.
- Troubleshoot performance issues.
After passing the Developing Microsoft SQL Server 2012 Databases (70-464) exam, you complete the requirements for the MCSE: Data Platform certification.
Exam Details
- Number of Questions: Approximately 45-55 questions (Since Microsoft does not publish this information, the number of exam questions may change without notice.)
- Type of Questions: This test format is multiple choice and multiple choice multiple answer. You may also see several scenario questions.
- Passing Score: 700
- Time Limit: 120 minutes
This passing score does not mean that you must answer 70 percent of the items correctly in order to pass the exam. The actual percentage varies from exam to exam and may be more or less than 70 percent. There is no penalty for guessing. No points are deducted for incorrect answers. If a question specifies that you must choose multiple correct answers, you must choose the exact number of correct answers specified in the question in order to earn a point for that item. Some of the questions on the exam may not count toward the calculation of your score. Microsoft will often throw a question in that is meant to gather data that will help them improve the exam.
Trouble Spots
As with any exam, it will vary from person to person as to what is deemed to be difficult. Be sure you are familiar with each of the topics in the exam objectives listed below.
Some common reasons for query time-outs are:
- The application starts using a query not optimal for the index
- Hardware changes/configuration changes
- Increased load
It is advisable to review which product features you actually need and install only those features. If you need to add functionality later, then you should install the additional features.
You can use Microsoft Security Compliance Manager to manage security in general on machines running SQL Server. You can also use this to provide centralized security baseline management.
For the most secure configuration, password-protect keys and remove master key encryption.
Manage database object security by using ownership and permissions at the schema level.
It is a best practice to use only Windows logins whenever possible because SQL login passwords are passed across the network for authentication. This makes SQL logins less secure than Windows logins.
Preparation Hints
Review the Exam Objectives below and make sure that you are familiar with them. The Developing Microsoft SQL Server 2012 Databases exam is designed for those who have experience in this environment. Always check the Microsoft site for the specific exam you are going to take. In this instance, the site is http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-464
There are many web sites and blogs that can help you to research topics, but be careful to fully research the information you read. It is not advisable to try to find sites that list questions and answers for several reasons. First, you don’t know if you will be asked a specific question and second, the answers given in a blog may be inaccurate and third, you need to understand the information to adequately prepare.
When taking the exam, read each question carefully. Microsoft is notorious for adding a lot of unneeded information in their questions. Make sure that when you click on a choice, that it is really marked. Be careful clicking anywhere on the screen. I found that by inadvertently clicking near the scroll bar on the right of the screen, I actually changed an answer. You get a single piece of paper and a marker for writing. You can use a small amount of time before you even start the exam to make notes once you enter the test area. Sometimes there is even a questionnaire at the beginning of the test that does not count against your test time. You can even use this time to write down notes, facts, tables or other information by taking your time between answers.
Recommended Study Resources
Introducing Windows Server 2012 by Mitch Tulloch (Jun 8, 2012)
Learning Plans and Classroom Training10776A: Developing Microsoft SQL Server 2012 Databases (5 Days)
Exam Objectives
The exam objectives are broken up into four different categories. The 70-464 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.
The objectives for Exam 70-464 as stated by Microsoft are as follows:
Implement Database Objects (31%)
- Create and alter tables (complex statements).
- Design, implement, and troubleshoot security.
- Design the locking granularity level.
- Maintain indexes.
- Implement data types.
- Create and modify constraints (complex statements).
- Work with XML Data.
This objective may include but is not limited to: develop an optimal strategy for using temporary objects (table variables and temporary tables); how not to rely on triggers solely as a means to manage a table; data version control and management; create tables without using the built in tools; understand the difference between @Table and #table
This objective may include but is not limited to: grant, deny, revoke; unable to connect; execute as; certificates; loginless user; database roles and permissions; contained users; change permission chains
This objective may include but is not limited to: choose the right lock mechanism for a given task, handling and/or avoiding deadlocks; fix locking and blocking issues caused by previous development or third-party apps; analyze a deadlock scenario to alleviate the issue; impact of isolation level and ado defaults; impact of locks and lock escalation; reduce locking scenarios; how isolation levels affect blocking and locking; identify bottlenecks in the data design and improve
This objective may include but is not limited to: inspect physical characteristics of indexes and perform index maintenance; identify fragmented indexes; identify unused indexes; implement indexes; defrag/rebuild indexes; set up a maintenance strategy for indexes and statistics; optimize indexes (full, filter index); statistics (full, filter) force or fix queue; when to rebuild versus reorg and index; create a tuning and maintenance strategy for proactive operations
This objective may include but is not limited to: use appropriate data types; develop a CLR data type; understand the difference between @Table and #table; impact of GUID (newid, newsequentialid) on database performance, indexing and privacy; use spatial data; LOB data types; understand when and how to use column store and sparse columns; implicit and explicit conversions, integer math
This objective may include but is not limited to: create constraints on tables; define constraints; performance implications
This objective may include but is not limited to: implement XML; use XML (Query, Input, Output); transform XML data into relational data; retrieve relational data as XML; FOR XML; design a strategy to transform XML into relational data; design a strategy to query and modify XML data; understand xml data types and their schemas and interoperability, limitations, and restrictions; implement XML schemas and handling of XML data; how to handle it in SQL Server and when and when not to use it, including XML namespaces; import and export XML
Implement Programming Objects (21%)
- Write automation scripts.
- Design and implement stored procedures.
- Design T-SQL table-valued and scalar functions.
- Create, use, and alter user-defined functions (UDFs).
- Create and alter views (complex statements).
This objective may include but is not limited to: automate backup testing; shrink file; check index fragmentation; archive data; run an SQL Server Integration Services (SSIS) job; check disk space; automate backups
This objective may include but is not limited to: create stored procedures and other programmatic objects; techniques for developing stored procedures; different types of stored procedure results; create stored procedure for data access layer; analyze and rewrite procedures and processes; program stored procedures, with T-SQL and CLR#; use table valued parameters; encryption
This objective may include but is not limited to: ensure code non regression by keeping consistent signature for procedure, views and function (interfaces); turn scripts that use cursors and loops into a SET based operation
This objective may include but is not limited to: understand deterministic, non-deterministic functions; using cross apply with UDFs; Common Language Runtime (CLR)
This objective may include but is not limited to: set up and configure partitioned tables and partitioned views; design a best practice for using views and stored procedures and remove the direct usage of tables
Design Database Objects (24%)
- Design tables.
- Design for concurrency.
- Create and alter indexes.
- Design data integrity.
- Design for implicit and explicit transactions.
This objective may include but is not limited to: data design patterns; develop normalized and de-normalized SQL tables; understand the difference between physical tables, temp tables, temp table variables and common table expressions; design transactions; design views; describe advantages / disadvantages of using a GUID as a clustered index; understand performance implications of # versus @ temp tables and how to decide which to use, when and why; use of set based rather than row based logic; encryption (other than TDE); table partitioning; filestream and filetable
This objective may include but is not limited to: develop a strategy to minimize concurrency; handle concurrency to minimize locking and eliminate as much blocking as possible, and to avoid deadlocks; manage the transactions to limit the time to hold lock and have fast transactions (maximize concurrency); define locking and concurrency strategy; impact of read committed snapshot/snapshot isolation; understand what it solves and what it costs
This objective may include but is not limited to: create indexes and data structures; create filtered indexes; create an indexing strategy; design and optimize indexes; design indexes and statistics; assess which indexes on a table are likely to be used given different search arguments (SARG); column store indexes; semantic indexes
This objective may include but is not limited to: design table data integrity policy (checks, private key/foreign key, uniqueness, XML schema); select a primary key; data usage patterns
This objective may include but is not limited to: manage transactions; use transactions in code; ensure data integrity by using transactions; use transactions inside the database using T-SQL and from the "outside" via C#/VB; distributed transaction escalation
Optimize and Troubleshoot Queries (24%)
- Optimize and tune queries.
- Troubleshoot and resolve performance problems.
- Optimize indexing strategies.
- Capture and analyze execution plans.
- Collect performance and system information.
This objective may include but is not limited to: tune a badly performing query; identify long running queries; review and optimize code; analyze execution plans to optimize queries; tune a query that is poorly written; tune queries using execution plans and database tuning advisor (DTA); design advanced queries: pivots, utilizing common table expressions (CTE), design the database layout and optimize queries (for speed and/or data size); understand different data types; basic knowledge of query hints; tune query workloads, using realistic data sets not being production data sets ; demonstrate use of recursive CTE; full text search; control execution plans
This objective may include but is not limited to: interpret performance monitor data; impact of recovery modal on database size, and recovery. How to clean up if .MDF and .LDF files get to large; identify and fix transactional replication problems; detect and resolve server hung, failure; identify and troubleshoot data access problems
This objective may include but is not limited to: develop optimal strategy for clustered indexes; analyze index usage; know the difference between the type of indexes and when to choose one over the other; optimize indexing for data warehousing vs. optimize Indexing for Online Transaction Processing (OLTP); generate appropriate indexes and statistics with include columns; apply effective and efficient indexes, including the use of INCLUDE lists; full-text indexing
This objective may include but is not limited to: collect and read execution plan; review an execution plan to spot potential performance issues; read an execution plan; create an index based on an execution plan; row-based logic versus. set-based logic, batching, splitting implicit transactions
This objective may include but is not limited to: use Data Management Views to determine performance issues; from system metadata; gather trace information by using the SQL Server Profiler; develop monitoring strategy for production database; run a profiler trace and analyze the results; run profiler for troubleshooting application; collect output from the Database Engine Tuning Advisor; extended events
Where to Go from Here
After you pass the Developing Microsoft SQL Server 2012 Databases exam, you may want to take the following exams:
- Querying Microsoft SQL Server 2012 (70-461)
- Administering Microsoft SQL Server 2012 (70-462)
- Implementing a Data Warehouse with Microsoft SQL Server 2012 (70-463)
- Designing Database Solutions for Microsoft SQL Server 2012 (70-465)
- Implementing Data Models and Reports with Microsoft SQL Server 2012 (70-466)
- Designing Business Intelligence Solutions with Microsoft SQL Server 2012 (70-467)