This is part 2 of a 3 part series of thoughts on certification and Microsoft technologies.
The idea of certifying someone as having a skill is almost as old as the idea of teaching someone a skill. I'm sure as soon as a person had the idea of teaching someone for compensation, others wanted some assurance that the person had learned the skill. That was probably the first time that a test was developed, graded, and scores passed out.
We all know that a certificate or a test score doesn't imply any level of competence at a skill. If I had to weld two pieces of metal together as a test, successfully completeing this wouldn't imply that I could weld any two other pieces of the same metal together (size, scale, etc. matter). It wouldn't even imply that I'd do as good a job welding the 99th and 100th pieces together in a week as I'd done during the test. The same would hold true in almost any endeavor, but we still have tests, grades, certifications, diplomas, and awards in many different fields.
Is IT that different? In one sense it is. The technology field seems to change so often, and the bars for entry (and thus hiring) are so low that it's difficult to set up standardized tests, often because it's not cost effective. Medicine and law change constantly, but their tests slowly evolve, and they certainly don't change at the rate of SQL Server versions and tests. It's also more cost effective to create new revisions of tests in these other fields when the candidates have made a large investment in their education and regulatory agencies require licenses to practice in these other fields.
However I might argue that technology doesn't change that much. The idea of backing up a SQL Server database, rebuilding a clustered index, adding a login, querying for duplicates, and more haven't changed much in the two decades I've worked with the product. The actual syntax might be different, but are we hiring people that remember syntax or accomplish tasks?
I think that's the point of certification. It should be a method that gives others confidence that an individual can accomplish a task, or has some basic skill. I'd argue the current set of tests, questions, and even structure of the MCSE/MCITPro/MCSA whatever doesn't remotely do that. It doesn't test skills, tests knowledge at the base level of memorization, and fails to provide a basic bar that we can be sure everyone has met.
Perhaps those aren't Microsoft's goals. Perhaps they value their profits higher than the certification that individuals hold skills, perhaps they view these designations as a part of their marketing effort to sell software. Perhaps they have other goals. All I know is that as long as employers ask for these certifications in job postings, as long as employers pay for tests and candidates take them, why should Microsoft change?
If we all believe the emperor has clothes, does it matter if he really wears any?
Writing, exploring, and editing SQL just became even more effortless with SQL Prompt 6. Download a free trial.
Want to work faster with SQL Server?
If you want to work faster try out the SQL Toolbelt. "The SQL Toolbelt provides tools that database developers as well as DBAs should not live without." William Van Orden. Download the SQL Toolbelt here.
It's less than a month until DevConnections in Las Vegas. With tracks that cover SQL Server, Windows, Exchange, SharePoint, Dev and more, this is a great place to learn about a variety of technologies. Register today More »
SQL is derided by modern developers as 'Scarcely Qualifies as a Language'. But just how efficient are the new wave of NoSQL languages touted by bleeding-edge skunk works? This tip is a defense of SQL and of the relational model, and argues for the efficiency and suitability of relational technology. Check out this tip to learn more. More »
Question of the Day
Today's Question (by Pavel Bakunovich):
What is the output of query in the end of the batch?
CREATE TABLE Tr(
CREATE TABLE TrLog(
CREATE TRIGGER tr_TrLoggin
INSERT INTO TrLog(ID, Name, CreatedOn)
SELECT ID, Name, GETDATE()
INSERT INTO Tr(ID, Name)
SELECT 1, 'First'
DISABLE TRIGGER tr_TrLoggin
INSERT INTO Tr(ID, Name)
SELECT 2, 'Second'
ALTER TRIGGER tr_TrLoggin
On Tr AFTER INSERT
INSERT INTO TrLog(ID, Name, CreatedOn, AcrionType)
SELECT ID, Name, GETDATE(), 'Insert'
INSERT INTO Tr(ID, Name)
SELECT 3, 'Third'
DROP TABLE Tr;
DROP TABLE TrLog;
Think you know the answer? Click here, and find out if you are right.
We keep track of your score to give you bragging rights against your peers.
This question is worth
1 point in this category: Triggers.
We'd love to give you credit for your own question and answer.
To submit a QOD, simply log in to the
SQL Server Hardware will provide the fundamental knowledge and resources you need to make intelligent decisions about choice, and optimal installation and configuration, of SQL Server hardware, operating system and the SQL Server RDBMS.
Pick up your copy of this great book from MVP Glenn Berry at Amazon today.
Yesterday's Question of the Day
Given the statements below, what is the output?
DECLARE @x CHAR(1)
SET @x = CASE
WHEN @x = 'x' THEN 1
PRINT '@X is now ' + CAST(ISNULL(@x, 'A NULL') AS VARCHAR(50)) + '<'
Answer: @X is now A<
Explanation: If an ELSE path is not provided in a CASE statement, the value it returns is NULL. In this case, the is not a matching value as @x is null (not initialized). As a result, a NULL is used in the ISNULL expression. However, since the size of the variable is char(1), it truncates the ISNULL value to 'A' only. The result is "@X is now A<".
We're upgrading our SQL Server soon and the new server does not have the same disk layout as the old one. There's over 80 db's to move, so figured a script that would get the last backup file taken of the db and grab the logical file names from the sysfiles table on each of the db's would make the task easier and print the full restore statement for each db would be quicker than individual restores. It's not perfect, but it did the trick for me.
sql server 2012
- hi folks,
this is Imran, and kind of new bee to sql server 2012, I wanted to know what are the...
- Hi i am getting the below error when i run this query.
Msg 241, Level 16, State 1, Line 2
Tempdb data file fills up very often
- Tempdb fills up very often.
tempdb configuration is
name fileid filename filegroup size maxsize growth usage
tempdev 1 N:\Data\tempdb.mdf PRIMARY 29428480 KB Unlimited 10% data only
templog 2 N:\Data\templog.ldf NULL 512 KB Unlimited 10% log only
I want to know why its happening very often...
Add a flag field if all rows match?
I have two tables, salesOrders and ProductList as per below:
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[salesOrders](
[SalesOrderID] [int] NOT NULL,
This newsletter was sent to you because you signed up at SQLServerCentral.com.
Feel free to forward this to any colleagues that you think might be interested.
If you have received this email from a colleague, you can register to receive it here.