Convert Delimited Values to a table with Ordinal Column

This is a script to conver a delimited/separated values given a delimiter into a table, via a User Defined Function.[more]

This has saved me a lot of work already including just now so I gfigured this is a good share

My apologies as I could not determine where I based this script from but definitely I got it from someone else rather than created my own. Had a few revisions along the way.

CREATE FUNCTION [dbo].[Split]
(
  @String VARCHAR(200),
  @Delimiter VARCHAR(5)
)
RETURNS @SplittedValues TABLE
(
  Ordinal SMALLINT IDENTITY(1,1) PRIMARY KEY,
  SplitValue VARCHAR(MAX)
)
AS
BEGIN
  DECLARE @SplitLength INT
  WHILE LEN(@String) > 0
  BEGIN
    SELECT @SplitLength =
      (CASE CHARINDEX(@Delimiter,@String)
        WHEN 0 THEN LEN(@String)
        ELSE CHARINDEX(@Delimiter,@String) -1
      END)
    
    INSERT INTO @SplittedValues
      SELECT SUBSTRING(@String,1,@SplitLength)
      SELECT @String =
        (CASE (LEN(@String) – @SplitLength)
          WHEN 0 THEN ''
          ELSE RIGHT(@String, LEN(@String) – @SplitLength – 1)
        END)
  END
  RETURN
END
GO

MCPD ASP.NET 3.5 beta exam

You are invited to take beta exam 71-564: Pro: Designing and Developing ASP.NET Applications Using the Microsoft® .NET Framework 3.5. [more] If you pass the beta exam, the exam credit will be added to your transcript and you will not need to take the exam in its released form. The results will not appear on your transcript until several weeks after the final form of the exam is released. The 71-xxx identifier is used for registering for beta versions of MCP exams, when the exam is released in its final form the 70-xxx identifier is used for registration.

 

71-564: Pro: Designing and Developing ASP.NET Applications Using the Microsoft® .NET Framework 3.5 counts as credit towards the following certification(s).

·          Microsoft Certified Professional Developer: ASP.NET Developer 3.5. In order to earn this certification you must also hold the Microsoft Certified Technology Specialist: .NET Framework 3.5, ASP.NET Applications.


Availability

Registration begins: November 5, 2008

Beta exam period runs: November 6, 2008– December 1, 2008

Receiving this invitation does not guarantee you a seat in the beta; we recommend that you register immediately. Beta exams have limited availability and are operated under a first-come-first-served basis. Once all beta slots are filled, no additional seats will be offered.

Testing is held at Prometric testing centers worldwide, although this exam may not be available in all countries (see Regional Restrictions).  All testing centers will have the capability to offer this exam in its live version.

Regional Restrictions: India, Pakistan, China


Registration Information

Please use the following promotional code when registering for the exam: RSC43
You must register at least 24 hours prior to taking the exam.

 

To register in North America, please call:

·          Prometric: (800) 755-EXAM (800-755-3926)

Outside the U.S./Canada, please contact:

·          Prometric: http://www.register.prometric.com/ClientInformation.asp


Test Information and Support

You are invited to take this beta exam at no charge.
You will be given four hours to complete the beta exam. Please plan accordingly.

Find exam preparation information:
http://www.microsoft.com/learning/exams/70-564.mspx

MCITP SQL 2008 Business Intelligence Developer exam 71-452 results out

Just a quick note for those who have taken the MCITP SQL 2008 Business Intelligence Developer exam 71-452 that the results are out [more] (at least for mine)

You should check in your prometric profile if you haven't got an email yet.

And this my first MCITP certification. Yay for me!

A little unexpected since admittedly I only have experience with SSIS and SSRS and not the kind of work I do on a regular basis. Nevertheless I always had a fascination on Business Intelligence

Hopefully will come in handy somehow and I will be building up more on this areas and hopefully be able to share a thing or two soon.

MCPD Windows Applications .NET 3.5 beta exam

You are invited to take beta exam 71-563: Pro: Designing and
Developing Windows Applications Using the Microsoft .NET Framework 3.5
. [more]
If you pass the beta exam, the exam credit will be added to your
transcript and you will not need to take the exam in its released form.
The results will not appear on your transcript until several
weeks after the final form of the exam is released. The 71-xxx
identifier is used for registering for beta versions of MCP exams, when
the exam is released in its final form the 70-xxx identifier is used
for registration.

71-563: Pro: Designing and Developing Windows
Applications Using the Microsoft .NET Framework 3.5 counts as credit
towards the following certification(s).

· Microsoft Certified Professional Developer: Windows Developer 3.5.

Find exam preparation information: http://www.microsoft.com/learning/exams/70-563.mspx


Availability

Registration begins: October 11, 2008

Beta exam period runs: October 13, 2008– October 30, 2008

Receiving
this invitation does not guarantee you a seat in the beta; we recommend
that you register immediately. Beta exams have limited availability and
are operated under a first-come-first-served basis. Once all beta slots
are filled, no additional seats will be offered.

Testing is
held at Prometric testing centers worldwide, although this exam may not
be available in all countries (see Regional Restrictions).  All testing
centers will have the capability to offer this exam in its live version.

Regional Restrictions: India, Pakistan, China


Registration Information

Please use the following promotional code when registering for the exam: DW897
You must register at least 24 hours prior to taking the exam.

To register in North America, please call:

· Prometric: (800) 755-EXAM (800-755-3926)

Outside the U.S./Canada, please contact:

· Prometric: http://www.register.prometric.com/ClientInformation.asp


Test Information and Support

You are invited to take this beta exam at no charge.
You will be given four hours to complete the beta exam. Please plan accordingly.

 Good luck

** Also note that today is also the last day for the MCTS Database Developer SQL 2008 exams. Unfortunately as much as I would like to I won’t be able to take this exam. Would encourage everyone to take it though, you might be surprised you actually know more than you think you do (like my MCTS BI SQL 2008 exam :D)

Performance, Measure and ANTS Profiler

Might need to create a separate page for notes on performance since I've been doing a lot of C# and database tuning lately but having them on this post so far. Here are some of my notes on performance [more]

* Before you optimize, ensure that your results are accurate first before optimizing. I would suggest Test Driven Development or at least some unit testing but that's another story. Just make sure your results are correct first otherwise your optimization is useless.

* Before you optimize, always MEASURE MEASURE MEASURE

* If you can measure without introducing extra code, go with it. Aside from saving time, it will keep your code clean and introduce what could be unnecessary complexity. And for this very reason I just purchase ANTS Profiler 4 from RedGate software. Another alternative is dotNetTrace from JetBrains and although I love Resharper from the same company I prefer ANTS profiler. I said prefer because as I haven't explored dotNetTrace that much, i would say it is really preference, UI/usability and being able to view the timings embedded in a window which shows the source code. Also like the call graph, drill down on significant methods in terms of time spent on it. I got a quote for a no support/update version of the software when I emailed RedGate about their pricing which is admittedly very high for a personal purchase when you are earning from a 3rd world country. So will be receiving fixes but not major upgrades (so as they say but haven't dug deep – besides the version looks pretty good and turns out to be very useful for me already). It really sucks to try to optimize something only to find out that it is not the bottleneck

* If your application involves database access and you're slow then more often than not your database is not tuned. And SQL Profiler and Database Tuning Advisor is a very good start. You can apply the recommendations or you can just evaluate them and make your own adjustments. In my experience however the recommended changes does make a lot of performance improvement. You think you know enough about indexes and database design? You might be surprised how much performance you can gain from these tools.

Again measure, measure, measure but if you can only identify some specific parts then data access seems like a good start.

* Then look into you application logic. Even if your code is optimized but your algorithm/logic is wrong, it will still turn out bad

* Also know about database/table statistics, indexed views and partition. If you can take advantage of partitions and involving considerable data access the improvement is quite impressive.

* <string>.SubString(…) does some considerable lifting so if you want to check if the first two chars in a string is equal to some other string then you should consider using <string>.StartsWith instead or avoid the SubString if you can

* Hashtable is faster than SortedDictionary, SortedList or List. I know I should provide stats for this (have a URL somewhere and will update this soon)

* When using nullable types, use <variable>.HasValue as much as possible than comparing using != null. Or even "!<var>.HasValue" vs. "== null". But avoid negation if you have to

Finally this list will grow soon hopefully and if feel like you disagree please feel free to comment and have other benefit from your thoughts too 🙂

MCITP PRO Business Intelligence 71-452 beta exam notes

Took the MCITP PRO Business Intelligence Developer (71-452 or 70-452 when it becomes live) sometime ago and although there is a non disclosure agreement I hope a few comments would hel. [more]

First of all, let me warn you that I’m not a dedicated BI professional but rather an enthusiast or at least interested and learning to be one someday so I’m not really an expert on the subject.

Secondly, for exam review I would recommend as always no other than the Prep Guide for the exam itself (see following link : Prep Guide for 70-452). If you are not at all familiar then any review would likely do the same thing if you are a bit familiar. Pick up those items you don’t know or familiar of and your bestfriend will be MSDN or google (or any search engine of your choice).

Moving on. Although I know not much it seems that the PRO exams are not too different with the TS exam for BI developer. A good number of technical know how rather than design. Though they may be related for someone not adept on BI I was able to intelligently guess some of the questions.

It is also worth noting that the number of SSRS questions seems to noticeable vs SSIS, SSAS questions.

Nothing that will follow is likely to be not found in the prep guide but will mention a few anyways. Also, unfortunately it has been sometime since I took the exam so I could not recall perfectly whether a certain item was from the TS or PRO exam. But will review the prep guide again soon and update this post accordingly.

Be sure you know when to use data mining algorithms, perform predictions and the basics.

Also review hierarchies and relationships and Change Data Capture (CDC)

MCTS SQL 2008, Database Development Beta Exam 71-433

You are invited to take beta exam 71-433: TS: Microsoft SQL Server 2008, Database Development.
[more]

If you pass the beta exam, the exam credit will be added to your
transcript and you will not need to take the exam in its released form.
The results will not appear on your transcript until
several weeks after the final form of the exam is released. The 71-xxx
identifier is used for registering for beta versions of MCP exams, when
the exam is released in its final form the 70-xxx identifier is used
for registration.

 

71-433: TS: Microsoft SQL Server 2008, Database Development counts as credit towards the following certification(s).

·          Microsoft Certified Technology Specialist: SQL Server 2008, Database Development (earned when passing 70-433)

·          Microsoft
Certified IT Professional: Database Developer 2008. In order to earn
this certification you must also pass exam 70-451: PRO: Microsoft SQL Server 2008, Designing and Optimizing Database Solutions.

 

Find exam preparation information: http://www.microsoft.com/learning/exams/70-433.mspx


Availability

Registration begins: September 19, 2008

Beta exam period runs: September 22, 2008– October 10, 2008

 

Receiving
this invitation does not guarantee you a seat in the beta; we recommend
that you register immediately. Beta exams have limited availability and
are operated under a first-come-first-served basis. Once all beta slots
are filled, no additional seats will be offered.

 

Testing
is held at Prometric testing centers worldwide, although this exam may
not be available in all countries (see Regional Restrictions).  All testing centers will have the capability to offer this exam in its live version.

 

Regional Restrictions: India, Pakistan, China


Registration Information

Please use the following promotional code when registering for the exam: F589G
You must register at least 24 hours prior to taking the exam.

 

To register in North America, please call:

·          Prometric: (800) 755-EXAM (800-755-3926)

 

Outside the U.S./Canada, please contact:

·          Prometric: http://www.register.prometric.com/ClientInformation.asp


Test Information and Support

You are invited to take this beta exam at no charge.
You will be given four hours to complete the beta exam. Please plan accordingly.

MCITP SQL 2008 Database Developer beta exam 71-451

You are invited to take beta exam 71-451: PRO: Microsoft SQL Server 2008, Designing and Optimizing Database Solutions.
[more] (will be 70-451 when live) If you pass the beta exam, the exam credit will be added to your
transcript and you will not need to take the exam in its released form.
The results will not appear on your transcript until
several weeks after the final form of the exam is released. The 71-xxx
identifier is used for registering for beta versions of MCP exams, when
the exam is released in its final form the 70-xxx identifier is used
for registration.

 

71-451: PRO: Microsoft SQL Server 2008, Designing and Optimizing Database Solutions counts as credit towards the following certification(s).

·          Microsoft
Certified IT Professional: Database Developer 2008. In order to earn
this certification you must also pass exam 70-433: TS: Microsoft SQL
Server 2008, Database Development.

 

Find exam preparation information: http://www.microsoft.com/learning/exams/70-451.mspx


Availability

Registration begins: August 29, 2008

Beta exam period runs: September 2, 2008– September 30, 2008

 

Receiving
this invitation does not guarantee you a seat in the beta; we recommend
that you register immediately. Beta exams have limited availability and
are operated under a first-come-first-served basis. Once all beta slots
are filled, no additional seats will be offered.

 

Testing
is held at Prometric testing centers worldwide, although this exam may
not be available in all countries (see Regional Restrictions).  All testing centers will have the capability to offer this exam in its live version.

 

Regional Restrictions: India, Pakistan, China


Registration Information

Please use the following promotional code when registering for the exam: 14F65
You must register at least 24 hours prior to taking the exam.

 

To register in North America, please call:

·          Prometric: (800) 755-EXAM (800-755-3926)

 

Outside the U.S./Canada, please contact:

·          Prometric: http://www.register.prometric.com/ClientInformation.asp


Test Information and Support

You are invited to take this beta exam at no charge.
You will be given four hours to complete the beta exam. Please plan accordingly.