In the SSIS SCD Wizard, you will get this screen in choosing how to mark records that are in transition. I use the wizard to set my bit flag and will later show you how I use the derived columns to set the dates:
Fig. 1
Here's a quick screen grab of the entire Data Flow Task, our first step is to modify the item highlighted:
Fig. 2
Which we will set thusly; note the second entry for RecordStartDate, which is my manual input. The wizard handled adding the derived column information for the IsCurrent column:
Fig. 3
And for the final step, we edit the OLE DB Destination object (called "Insert Destination" in transform):
Fig. 4
Next, we'll edit the secondary branch in the SCD transform -- the branch that deals with changed records. From the overall transform map in Fig. 2, this is the branch on the right side of the picture. The Derived Column object details will look the same as Fig. 3 except that you will name the column RecordEndDate. After editing the Derived Column object, you will next modify the OLE DB Command object, which in Fig. 2 is very blandly called OLE DB Command. There are two places that you will edit this, the first being on the Component Properties table, under the SQLCommand property. You will then set the SQL as in Fig. 5:
After editing the SQL, go to the Column Mappings tab. Here is what it will look like before you edit:
And here is the after picture:
The parameter mappings are done in order of appearance in the SQLCommand property, thus CustomerID moves to the last parameter and RecordEndDate takes over the second spot.
And that's it! You have not set your Slowly Changing Dimension transform to use three columns to indicate the state of a Type II record. I find that using the bit flag for indicating a record's active state works great for performance when querying the system to always get current attributes for a record set. The dates allow for flexibility in looking at point in time states for attribute records around your fact tables -- particularly good for processes you are reporting on that require auditing. Feel free to post any questions/comments.