Yesterday was April 12, 2011, and as far as I know mainstream support for SQL Server 2005 ended. See Aaron Bertrand’s A Quick Note About SQL Server 2005 Mainstream Support.
And if you care, this also means that the Microsoft Certifications that are tied to that product also expire. At least that’s what I gather from this Microsoft FAQ which says:
Q. How long will my certification be valid?
A. Today, most of our Microsoft Certified Technology Specialist (MCTS), Microsoft Certified IT Professional (MCITP), and Microsoft Certified Professional Developer (MCPD) exams retire when Microsoft discontinues mainstream support for the related technology…
But that’s just the exam, I’m not too sure about the certification. In any case it really doesn’t matter at all. I mean, the skills a person has with SQL Server does not diminish or become obsolete with the expiration of SQL Server 2005. SQL Server 2008 and other versions are still alive and kicking.
Bad News: So my MCTS (Microsoft Certified Technology Specialist) certification for SQL Server 2005 expired yesterday (don’t worry I’ll get over it).
Good News: My MCTS certification for SQL Server 2008 takes effect last Friday when I passed the 70-433 exam (yaay!!) It’s my first step towards a new certification for myself, the MCITP (IT Professional).
It was a decent exam, I thought it was fair. There were a couple of things I would have changed:
- I found at least four typos in the questions and at least once I had to answer the question they meant to ask not the question they actually asked.
- Two thirds of the way through the exam, there was a power outage. No one could have foreseen it, but I was glad to discover that my questions weren’t lost and the time without electricity was not on-the-clock.
Section 5, My Nemesis
I did well in every section except one, Working With Additional SQL Server Components. In that section I got two questions correct out of six. I guess I should have given more focus to it while studying. To be honest, I didn’t actually work the plan I wrote out for myself for that section. I had heard scary things about some of the other sections and focused on them. But even so, two out of six is pretty rotten for a multiple choice test. Random guesses might have even fared better. A lucky monkey has a good chance (46%) of doing at least as well or better than I did simply by throwing darts randomly as a strategy for choosing answers.
My 70-433 Study Plan
Of course I can’t give details about the content of the exam for obvious reasons, but I do want to share the study plan I followed when studying for this exam. I wrote the plan based on Skills Measured as described by Microsoft. Everything I write here can be found online:
Tables and Views
- What does with CHECK OPTION mean when creating views
- What does with ENCRYPTION mean when creating views
- what’s the syntax for fill factor?
- write (without checking syntax) a nci with fill factor
- rebuild an index (without checking syntax) with a fillfactor
- create statistics without checking syntax
- add a pk (without checking syntax)
- add a fk with cascading deletes
- disable/enable pk
- disable/enable check
- disable/enable fk
- disable/enable unique
- Create table with column that has filestream
- create a spatial column (without checking)
- What’s a structured vs semi-structured column?
- name collation varieties (case sensitive etc…)
- Create partitioned table (without checking syntax)
- Split merged table into two, merge back together
- Create empty table and switch into partition
- Without checking syntax, pass in a tvp
- without checking syntax, write sprocs with all varieties of “Execute as”
- Without checking syntax, create sproc that specifies RECOMPILE
- Without checking syntax, create sproc that specifies WITH ENCRYPTION
- What permissions are there on sprocs? 2 flavors of security here: GRANT, DENY, REVOKE versus EXECUTE AS
- Build Function without checking syntax
- What permissions are there on udfs? flavors of security here: GRANT, DENY, REVOKE versus EXECUTE AS
- What is schemabinding on udf?
- what are the three (four?) kinds of functions
- Explore flavours of triggers.
- Create trigger that uses INSERTED/DELETED
- Explore security on triggers, (EXECUTE AS)
- Create DDL trigger.
- Create DDL trigger that returns data.
- Create CLR assembly.
- Explore clr: SAFE/UNSAFE/EXTERNAL_ACCESS
- Explore CLR: set trustworthy
- Implement TRY CATCH RAISERROR
- error handling, look at Rusanu’s service broker scripts, he’s an awesome error handler.
- Explore different DELETE syntax (i.e. DELETE A FROM A…)
- Without checking syntax, use the OUTPUT clause
- Without checking syntax, use the MERGE statement
- Write a query that uses grouping sets.
- What’s the difference between LEN and DATALENGTH
- without checking syntax, use patindex and charindex
Additional Query techniques
- write a subqueries (correlated)
- write a subqueries (simple)
- write a subqueries (scalar)
- write a subqueries (list)
- write a subqueries (table valued)
- Without checking syntax, Use rank
- Without checking syntax, Use dense rank
- Without checking syntax, Use row_number
- Without checking syntax, Use ntile
- Without checking syntax, Use row_number, and partition by
- look through table hints to understand any unused ones
- look through query hints to understand any unused ones
- manage collations? how can they be managed.
- what’s the diff between column/db/server collations
- (international) define custom errors
Other SQL Components
- Set up db mail
- implement full text search
- full text: Use CONTAINS
- full text: Use CONTAINSTABLE
- full text: Use FREETEXT
- full text: Use FREETEXTTABLE
- full text: Use STOPLIST
- Use powershell and smo to create .net cmdlet demonstrates smo
- Take service broker tutorial, compare sample syntax to rusanu’s syntax
- Implement change tracking
- Create db audit spec
- Use CHANGETABLE
- use each FOR XML type
- without checking syntax, use OPENXML, and sp_XML_docs
- without checking syntax, shred xml.
- review xpath syntax
- what’s the difference between xquery and xpath?
- Read through books online topic on xml
Gathering Perf Info
- Use SHOWPLAN to (showplanxml?) to look through query
- look at how paul (@sql_kiwi) displays query plan
- Run through DTA, Prepare a workload <– remember options in DTA here!!!
- Review catalog views. (Is this INFORMATION_SCHEMA?)