Sunday, January 27, 2008

SQL Server 2008 delayed until Q3 2008

While not a surprise to many people, it's now semi-official. SQL Server 2008 will be delayed until at least the 3rd quarter of 2008.

While I don't have any inside scoop on exactly why SQL Server 2008 is being delayed, I have been playing with recent Community Technology Previews (CTPs) and have noticed some significant compatibility issues between Visual Studio 2008 and SQL Server 2008. I suspect this at least part of the problem with SQL Server 2008, but there may be more issues.

What’s this mean? Well, among other things, don’t expect MCITP certifications on SQL Server 2008 until 2009. If you’re considering getting a MCITP certification on SQL Server, SQL Server 2005 is the product you should be pursuing.

And once you master the differences between SQL Server 2005 and SQL Server 2000, you'll find that SQL Server 2008 has only incremental differences.

Microsoft currently has three MCITP certifications for SQL Server 2005. They are:

And with Microsoft's Second Shot offer, it's much easier to get certified.

If you've been thinking about getting certified, now's the time to get a book, spend some study time, and take those exams.

Thursday, January 24, 2008

MCITP and stored procedure permissions

If you‘re getting ready to take an MCITP exam on SQL Server 2005 (such as 70-441, 70-442, 70-444), you’ll do better if you have a solid understanding of stored procedure permissions.

For example, what’s the answer to this question?

Q. You’ve just developed a stored procedure that can be used to update data in the Widgets table or add new Widgets to the Widgets table if they don’t exist. What permissions are required for someone to use the stored procedure? (Choose all that apply).

A. SELECT permission on the Widgets table.

B. UPDATE permission on the Widgets table.

C. INSERT permission on the Widgets table.

D. EXEC permission on the stored procedure.

Answer: D only.

One of the great benefits of a stored procedure is that permissions are chained to the underlying table. In other words, if someone has EXEC permissions on the stored procedure, they don’t need any permission on the underlying table.

If the stored procedure wasn’t doing the work, users would need INSERT permission on the Widgets table to add a new widget, and UPDATE permission on the Widgets table to modify data on an existing widget. However, if the user is using the stored procedure, only EXEC permission is needed.

This can be one way to help ensure data integrity on the base tables. You don’t grant any permission to the base tables, but instead only grant permissions to the stored procedure. Now you’re assured that the only way the tables are modified is through the stored procedure.

If the stored procedure is solid, your data has a much better chance of staying solid too.

You’ll find exercises in both of the following books demonstrating concepts related to stored procedures permissions in hands-on exercises:

MCITP: Database Administration (70-431, 70-433, and 70-444)

MCITP: Database Developer (70-431, 70-441, 70-442)


Second Shot extended to June 30 2008

Yes. It's official. Microsoft has extended the free “second shot” through June 30. If you register for an exam using a second shot voucher, and you don’t pass the test, you can take it again for free.

Think of it as a free look at an exam. What I’ve found is many students are actually ready for an exam before they take it. Test anxiety slows a lot of people down, but with the free second shot, there’s no need to be anxious on the first take.

The key is you must register for the test using a second shot voucher. If you take a test without registering with a second shot voucher, you lose the benefit.

If you do register and fail the test, you can use the second shot voucher number to register for the same test for free. The only hitch is you have to wait at least one day after the failed exam.

Go here and click the Sign Up Now link. It’s just a few clicks away.

Of course this works for any of the MCITP: Database Administration (70-431, 70-433, and 70-444) and MCITP: Database Developer (70-431, 70-441, 70-442) exams, but it can also work for most other Microsoft exams

Good luck.


Wednesday, January 23, 2008

Hell Raiser for Hire

I've developed several Web sites over the years and I still get cc emails from some of them that I maintain for businesses. It helps me to troubleshoot and repair problems when they occur.

Today, I was cc'ed on an email that someone sent to the company that said "I'm moving to your area and wanted to know if you are hiring."

That was straightforward enough. But then I noticed the email address it came from:

Sure. That's what the company needs. Another hell raiser...

Looking for an IT job? You might want to create your own email address as something like:

Not only can you get noticed, but you might get that interview. With free email addresses so easy to get, there’s no reason why you can’t be a little creative.

It sure beats

Darril Gibson

Friday, January 18, 2008

70-444 and Triggers

When preparing for the 70-444 exam, you should have a solid understanding of triggers (especially DDL triggers).

As a reminder, DML triggers respond to Data Manipulation Language (DML) statements such as INSERT, UPDATE, and DELETE. DDL triggers respond to Data Definition Language (DDL) statements such as CREATE, ALTER, and DROP.

DDL triggers are new in SQL Server 2005 so you can expect Microsoft to include exam questions related to them whenever they are mentioned on the exam objectives. DDL triggers are directly mentioned on the 70-431 and 70-433 exam objectives and indirectly on the 70-444 exam objectives.

The 70-444 exam alludes to DDL triggers in the context of optimizing a database control strategy. Within organizations, procedures aren’t always followed so you may want to ensure that changes to database objects are recorded and key personnel are notified. This can be done by implementing an auditing strategy with DDL triggers.

For example, you may want to control the modification of any database objects (such as tables, views, stored procedures, and so on). By implementing an ALTER DDL trigger with a database scope, you can ensure that any ALTER statement executed against any database object in a specific database is captured.

Now, when someone alters a table within your database, you can execute a stored procedure that logs the event into an audit table and sends an email to a key group of database administrators.

You can get a lot deeper into the triggers, but when preparing for the MCITP: Database Administrator exams, you can go a long way just knowing the differences between DML triggers and DDL triggers.

For example, you should ace this question:
You are a database developer for the Hogwart’s University. Due to unauthorized changes to a database table in the Students database, several views have been broken. You are tasked with creating a method of identifying exactly when, and by who, any changes to database tables are made. What should you do?
A. Create stored procedure to make changes to database tables.
B. Remove all permissions to the database tables.
C. Create a DML trigger.
D. Create a DDL trigger.

For a more detailed understanding of triggers, check out Chapter 5 of the MCITP: SQL Server 2005 Database Administrator All-In-One book. This chapter also includes practice test questions for the 7-431, 70-443, and 70-444 exams related to triggers.

* The answer to the question is D. A DDL trigger could be created to capture all ALTER statements issued against the database. If a stored procedure was created, there’d be no guarantee it’d be used; in other words, someone could alter the table directly without using the stored procedure. A DML trigger could be used to capture data changes, but not object changes.

Wednesday, January 16, 2008

70-621 now part of MCITP Certifications

Good news from Trika (

The 70-621 exam is now considered an accepted desktop certification exam for the Windows Server 2008 MCITP: Server Enterprise certification. Before only 70-620 or 70-624 exams were considered acceptable for the Windows Server 2008 MCITP certifications.

As a reminder, the following certifications are on the horizon for Windows Server 2008:

MCITP: Server Administrator
1) 70-642: TS: Windows Server 2008 Network Infrastructure, Configuring
2) 70-640: TS: Windows Server 2008 Active Directory, Configuring
3) 70-646: Pro: Windows Server 2008 Administrator

MCITP: Enterprise Administrator
1) 70-620: TS: Configuring Microsoft Windows Vista Client
Or 70-624: TS: Deploying and Maintaining Windows Vista Client & Office
Or 70-621: PRO: Upgrading Your MCDST Certification to MCITP Enterprise Support
2) 70-643: TS: Windows Server 2008 Applications Platform, Configuring
3) 70-642: TS: Windows Server 2008 Network Infrastructure, Configuring
4) 70-640: TS: Windows Server 2008 Active Directory, Configuring
5) 70-647: Pro: Windows Server 2008 Enterprise Administrator

The MCITP certifications for SQL Server 2005 remain unchanged.

Check out http: for the full details on the SQL Server 2005 MCITP Certifications, or better yet (if you'll forgive the shameless plug) check out my MCITP: Database Administration or MCITP: Database Developer books.