tag:blogger.com,1999:blog-62059539023832992532024-03-14T03:04:04.910+05:30RAVURI PRADEEPPRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.comBlogger87125tag:blogger.com,1999:blog-6205953902383299253.post-54114828542502459982016-02-29T19:46:00.002+05:302016-02-29T19:46:46.164+05:30jquery<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><i><span style="mso-bidi-font-weight: bold;">jQuery</span></i>
is a very powerful client-side JavaScript library for Web applications. It
provides an lightweight, elegant way to quickly access and manipulate the HTML
Document Object Model (DOM), to communicate with server-side web services, and
to create animations in the browser without the need for heavier client side
technologies. </span></div>
<br />
<div style="margin: 0in 0in 8pt;">
<i><span style="font-family: Calibri;">Overview of jQuery</span></i></div>
<br />
<ul style="direction: ltr; list-style-type: disc;"><ul style="list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l6 level2 lfo4; tab-stops: list 1.0in;">
Its
History and Features</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l6 level2 lfo4; tab-stops: list 1.0in;">
General
tips, gotchas, and best practices for ASP.NET Applications</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<i>How can you use jQuery?</i></div>
</li>
</ul>
</ul>
<br />
<ul style="direction: ltr; list-style-type: disc;"><ul style="list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l0 level2 lfo5; tab-stops: list 1.0in;">
To
provide better user experiences and to create custom controls</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l0 level2 lfo5; tab-stops: list 1.0in;">
To
ultimately write LESS code </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<i>Sample Controls and Demos</i></div>
</li>
</ul>
</ul>
<br />
<ul style="direction: ltr; list-style-type: disc;"><ul style="list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l1 level2 lfo6; tab-stops: list 1.0in;">
Custom
Navigation Control</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l1 level2 lfo6; tab-stops: list 1.0in;">
jQuery
DataTables</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l1 level2 lfo6; tab-stops: list 1.0in;">
jQueryValidation</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
JavaScript has not always been easy or very fun to work
with.</div>
</li>
</ul>
</ul>
<br />
<ul style="direction: ltr; list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l5 level1 lfo7; tab-stops: list .5in;">
A
large issue with that comes from the various DOM specifications that different
browsers used for HTML,<span style="mso-spacerun: yes;"> </span>but not the
JavaScript itself.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
For the most part, ASP.NET UI Controls help us to avoid
working<span style="mso-spacerun: yes;"> </span>extensively with the DOM and
JavaScript.</div>
</li>
</ul>
<br />
<ul style="direction: ltr; list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l3 level1 lfo8; tab-stops: list .5in;">
Example:
Server-side PostBack events raised from changes in the state of the page
controls.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<i><span style="mso-bidi-font-weight: bold;">jQuery </span></i></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Write less. Do more.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Quickly access, manipulate, and traverse HTML documents with
a lot LESS effort.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Microsoft is actively supporting it in MVC3 and the ASP.NET
4 jQuery Templating Engine.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Key Features of
jQuery</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">CCS3 Selectors </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Typically you will access <b style="mso-bidi-font-weight: normal;">elements based on a class or an id,</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-spacerun: yes;"> </span>but there are also
other psuedo-<b style="mso-bidi-font-weight: normal;">selectors available
(:visible, :first, :input</b>). Find all of them here:
http://api.jquery.com/category/selectors/ </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">DOM Manipulation</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
This is especially helpful if you need <b style="mso-bidi-font-weight: normal;">to hide and show elements</b> or when you receive a response from an
AJAX response payload.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Animation</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Utilize a set of built-in jQuery animations or roll your own
effects.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">AJAX Communication</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Simple <b style="mso-bidi-font-weight: normal;">HTTP
communication interface with JSON and XML based web services</b>. </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Plugins</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
There are NUMEROUS open source plugins available for
different needs. That being said, be careful what you use.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Cross Browser Compatibility</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
The jQuery codebase regardless of browser.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Prerequisites for
jQuery</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Get to know CSS and HTML</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
If you are trying to animate things or to create your own UI
controls, you should understand how CSS and HTML work.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
The biggest things you can learn are how to work with</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-spacerun: yes;"> </span>position, margin,
padding, float, and display properly in HTML.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Learn to love Firebug for Mozilla Firefox</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
It is one of the best web developer tools available you
don’t have to pay for.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Learn to think in
Sets and Events</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">A selector returns a
set of element</b> that your <b style="mso-bidi-font-weight: normal;">jQuery code</b>
will <b style="mso-bidi-font-weight: normal;">operate over</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
This will hide all of the H1 tags in your HTML page</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
$(“h1”).css(“display”,”none”);</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Beware operating over LARGE sets, this can cause your
browser to become unresponsive or you can even crash your browser.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
A <b style="mso-bidi-font-weight: normal;">elements</b> of the
<b style="mso-bidi-font-weight: normal;">DOM have events</b> which you can <b style="mso-bidi-font-weight: normal;">subscribe to with event handlers</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
$ (“a”).click(function(event){ </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>alert
(“You clicked a link!”); </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
});</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Best Practices</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Managing State with AJAX</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Selectors for ASP.NET Controls</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Debugging Tips</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Managing State with
AJAX</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Most tutorials and documentation will prescribe that you
initialize all of your <b style="mso-bidi-font-weight: normal;">jQuery code in an
event that handles to document.</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
function initControls(){</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>//your
init code here</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
}</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
$(document).ready(function(){</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;"> </span>initControls();</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
});</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
However, this becomes a problem when you are using AJAX
UpdatePanels, because the $(document).ready() will not fire after the call to
the server has been completed. </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Any changes that the initControls() function made to the DOM
within the UpdatePanel are erased. This includes any event handling you set up.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">So what is the
solution to this problem?</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Sys.WebForms.PageRequestManager to the Rescue!</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">This class manages
partial-page rendering in ASP.NET pages</b>. </div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
It comes with <b style="mso-bidi-font-weight: normal;">client-side
events that you can subscribe to</b>.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
var requestManager =
Sys.WebForms.PageRequestManager.getInstance();</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
function initControls(){</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>//your
init code here</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
}</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
function endRequestHandler(sender, args){<br />
<span style="mso-tab-count: 1;"> </span>initControls();</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
}</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
$(document).ready(function(){</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>requestManager.add_endRequest(endRequestHandler);</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>//still
need to do the initial init</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>initControls();</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
});</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Now we can deal with
the UpdatePanel partial-page rendering and still have our jQuery.</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Managing State with
AJAX</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"> </b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
The full list of PageRequestManager events with
descriptions:</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
</li>
</ul>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: auto auto auto -60.25pt; mso-padding-alt: 0in 0in 0in 0in; mso-yfti-tbllook: 1536; width: 784px;">
<tbody>
<tr style="height: 24pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="background: rgb(79, 129, 189); border-color: rgb(149, 179, 215) rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215); border-image: none; border-style: solid none solid solid; border-width: 1pt 0px 1pt 1pt; height: 24pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-left-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 177pt;" valign="bottom" width="236">
<div style="margin: 0in 0in 8pt;">
<b><span style="font-family: Calibri;">PageRequestManager Event</span></b></div>
</td>
<td style="background: rgb(79, 129, 189); border-color: rgb(149, 179, 215) rgb(149, 179, 215) rgb(149, 179, 215) rgb(0, 0, 0); border-image: none; border-style: solid solid solid none; border-width: 1pt 1pt 1pt 0px; height: 24pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-right-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 411pt;" valign="bottom" width="548">
<div style="margin: 0in 0in 8pt;">
<b><span style="font-family: Calibri;">Description</span></b></div>
</td>
</tr>
<tr style="height: 42.4pt; mso-yfti-irow: 1;">
<td style="background: rgb(220, 230, 241); border-color: rgb(0, 0, 0) rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215); border-style: none none solid solid; border-width: 0px 0px 1pt 1pt; height: 42.4pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-left-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 177pt;" width="236">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">initializeRequest</span></div>
</td>
<td style="background: rgb(220, 230, 241); border-color: rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 42.4pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-right-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 411pt;" valign="bottom" width="548">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Raised before processing of the asynchronous request
starts. You can use this event to cancel a postback.</span></div>
</td>
</tr>
<tr style="height: 43.35pt; mso-yfti-irow: 2;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215); border-style: none none solid solid; border-width: 0px 0px 1pt 1pt; height: 43.35pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-left-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 177pt;" width="236">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">beginRequest</span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 43.35pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-right-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 411pt;" valign="bottom" width="548">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Raised before processing of an asynchronous postback
starts and the postback is sent to the server. You can use this event to set
request headers or to begin an animation that indicates that the page is
processing.</span></div>
</td>
</tr>
<tr style="height: 43.9pt; mso-yfti-irow: 3;">
<td style="background: rgb(220, 230, 241); border-color: rgb(0, 0, 0) rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215); border-style: none none solid solid; border-width: 0px 0px 1pt 1pt; height: 43.9pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-left-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 177pt;" width="236">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">pageLoading</span></div>
</td>
<td style="background: rgb(220, 230, 241); border-color: rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 43.9pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-right-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 411pt;" valign="bottom" width="548">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Raised after the response from the server to an
asynchronous postback is received but before any content on the page is
updated. You can use this event to provide a custom transition effect for
updated content.</span></div>
</td>
</tr>
<tr style="height: 49.25pt; mso-yfti-irow: 4;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215); border-style: none none solid solid; border-width: 0px 0px 1pt 1pt; height: 49.25pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-left-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 177pt;" width="236">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">pageLoaded</span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 49.25pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-right-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 411pt;" valign="bottom" width="548">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Raised after all content on the page is refreshed, as a
result of either a synchronous or an asynchronous postback. You can use this
event to provide a custom transition effect for updated content.</span></div>
</td>
</tr>
<tr style="height: 52.8pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes;">
<td style="background: rgb(220, 230, 241); border-color: rgb(0, 0, 0) rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215); border-style: none none solid solid; border-width: 0px 0px 1pt 1pt; height: 52.8pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-left-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 177pt;" width="236">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">endRequest</span></div>
</td>
<td style="background: rgb(220, 230, 241); border-color: rgb(0, 0, 0) rgb(149, 179, 215) rgb(149, 179, 215) rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; height: 52.8pt; mso-border-bottom-alt: solid #95B3D7 .5pt; mso-border-right-alt: solid #95B3D7 .5pt; mso-border-top-alt: solid #95B3D7 .5pt; padding: 0.75pt 0.75pt 0in; width: 411pt;" valign="bottom" width="548">
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Raised after an asynchronous postback is finished and
control has been returned to the browser. You can use this event to provide a
notification to users or to log errors.</span></div>
</td>
</tr>
</tbody></table>
<br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"> </span></div>
<br />
<div style="margin: 0in 0in 8pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Selectors for ASP.NET
Controls</span></b></div>
<br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">If you need to grab an TextBox by its ID, you would
undoubtedly think that this will work just fine: </span></div>
<br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-tab-count: 1;"> </span>$(“#txtBox”)</span></div>
<br />
<ul style="direction: ltr; list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l7 level1 lfo1; tab-stops: list .5in;">
However,
it might not always. </div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l7 level1 lfo1; tab-stops: list .5in;">
The
Problem: In ASP.NET, the INamingContainer appends identifiers to the controls
so that it can uniquely reference a control.</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l7 level1 lfo1; tab-stops: list .5in;">
To
get around this, you can use the following:</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<span style="mso-tab-count: 1;"> </span>$("*[id$=‘txtBox']")
</div>
</li>
</ul>
<br />
<ul style="direction: ltr; list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l2 level1 lfo2; tab-stops: list .5in;">
This
will look for all elements (*) with txtBox at the end of it. </div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l2 level1 lfo2; tab-stops: list .5in;">
John
Sheehan also some other solutions here: <a href="http://john-sheehan.com/blog/custom-jquery-selector-for-aspnet-webforms/"><span style="color: #0563c1;">http://john-sheehan.com/blog/custom-jquery-selector-for-aspnet-webforms</span></a><a href="http://john-sheehan.com/blog/custom-jquery-selector-for-aspnet-webforms/"><span style="color: #0563c1;">/</span></a></div>
<div style="font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Keep in mind, that this is not a good solution for controls
in a Repeater, but you should be using a class to reference these controls
anyways, since they are not unique.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;">Debugging Tips</b></div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
jQuery errors aren’t always the easiest to spot. When a call
error occurs, any jQuery and JavaScript below it will not run so that might be
your best indicator.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
To debug your code, use Mozilla Firefox in combination with
Firebug.</div>
</li>
</ul>
<br />
<ul style="direction: ltr; list-style-type: disc;"><ul style="list-style-type: disc;">
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l4 level2 lfo3; tab-stops: list 1.0in;">
Check
to make sure all of the files are getting loaded properly.</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l4 level2 lfo3; tab-stops: list 1.0in;">
Make
sure that you’re not loading libraries twice and that all libraries are loaded
in the proper dependency order. jQuery should be your first JavaScript file.</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l4 level2 lfo3; tab-stops: list 1.0in;">
Make
sure all plugins are in-synch with your chosen jQuery library code.</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l4 level2 lfo3; tab-stops: list 1.0in;">
Step
through your code in Firebug and use the watch variables. Don’t step into your
jQuery code very deeply, because the problem is most likely in your own code.</div>
</li>
<li style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal;"><div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in; mso-list: l4 level2 lfo3; tab-stops: list 1.0in;">
Sometimes,
an alert statement is just what you need to glean a better understanding.</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
Custom Navigation Control</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b><i>jQuery</i></b> DataTables</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
<b><i>jQuery </i></b>Validation</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
<div style="color: black; font-family: "Calibri",sans-serif; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 8pt; margin-top: 0in;">
</div>
</li>
</ul>
</ul>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com1tag:blogger.com,1999:blog-6205953902383299253.post-72163002594024990142016-02-25T15:43:00.002+05:302016-02-25T15:43:28.037+05:30oops Interesting....<div dir="ltr" style="text-align: left;" trbidi="on">
<br /><br />
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-image: none; border: currentColor; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184; width: 639px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="background-color: transparent; border-image: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">Interface</span></div>
</td>
<td style="background-color: transparent; border-color: windowtext windowtext windowtext rgb(0, 0, 0); border-image: none; border-style: solid solid solid none; border-width: 1pt 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">Abstract class</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-image: none; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">we can not declare a static method in an interface, because
interfaces have no implementation.</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="color: red;"><span style="font-family: Calibri;">xxxxxx</span></span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">public interface Iproduct</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">{</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"> </span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">static void test();</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"> </span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">}</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="color: red;"><span style="font-family: Calibri;">xxxxx</span></span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">declare a method as <b style="mso-bidi-font-weight: normal;">static</b>
in an <b style="mso-bidi-font-weight: normal;">abstract</b> class,</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"> </span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>because abstract classes can
have <b style="mso-bidi-font-weight: normal;">implementations</b> of static
methods</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">ex: public static void test()</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-image: none; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">Thus by above point :interface cannot implement methods</span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">abstract class can implement methods</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-image: none; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">An interface <span style="color: red;">cannot </span>contain fields,
constructors, or destructors and it has only the <span style="background: lime; mso-highlight: lime;">property's signature but no implementation.</span></span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">An abstract class can contain fields, constructors, or destructors
and <span style="background: lime; mso-highlight: lime;">implement properties</span></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-image: none; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">Based on above point, we can say ,:Thus a class may inherit several
interfaces but only one abstract class.</span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;"> </span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-image: none; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">A class <span style="background: lime; mso-highlight: lime;">implementing
an interface</span> has to <span style="background: lime; mso-highlight: lime;">implement
all the methods</span> of the interface</span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">but the same is not required in the case of an abstract Class.</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-image: none; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 245.55pt;" valign="top" width="327">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">No access modifiers are allowed in Interface</span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: normal; margin: 0in 0in 0pt;">
<span style="font-family: Calibri;">Various access modifiers such as abstract, protected, internal,
public, virtual, etc. are useful in abstract Classes</span></div>
</td>
</tr>
</tbody></table>
<br /><br />
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="background: lime; mso-highlight: lime;"><span style="font-family: Calibri;">Abstract
classes are faster than interfaces.</span></span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">--------------------------------------</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Sealed class</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">----------------------------------------</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"> </span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">public sealed class classSealed</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>// Class members
here.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public string ID;</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public double Price;</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">-------------------------------------------------------------------------------------------------</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">A sealed class <span style="background: lime; mso-highlight: lime;">cannot be used as a base class</span>. </span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">For this reason, it <span style="background: lime; mso-highlight: lime;">cannot</span> also be an abstract class.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Sealed classes are primarily used <b style="mso-bidi-font-weight: normal;">to prevent derivation</b>.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Because they can never be used as a base class, some<b style="mso-bidi-font-weight: normal;"> run-time optimizations</b> can make
calling sealed class members slightly faster.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Sealing a method means one cannot override it.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>In C# structs are <b style="mso-bidi-font-weight: normal;">implicitly sealed;</b> therefore, they
cannot be inherited.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"> </span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">Ex:Human</span><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings;"><span style="font-family: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: Wingdings;">à</span></span><span style="font-family: Calibri;">male
class,female class(Here we can say male and female classes are sealed)</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">public class TestClass : classSealed</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"> </span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">In C# a method can not be declared as sealed.</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">However when we override a method in a derived class, we can
declare the overridden method as sealed as shown below. </span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">By declaring it as sealed, we can <b style="mso-bidi-font-weight: normal;">avoid further overriding of this method.</b></span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;">public class testClass</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public int x;</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public int y;</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public virtual void
testMethod(){</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public class
TestClass: testClass</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>public <b style="mso-bidi-font-weight: normal;">override sealed</b> void testMethod(){</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"> </span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br /><br />
<div style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br /><br />
-------------------------------------------------------------------------------<br />
<div>
Prove that only 1 instance of the object is created for static classes?</div>
<div>
<br /></div>
<div>
static constructor:only one 1 instance of the object is created then this constructor should run only once.</div>
<div>
<br /></div>
<div>
Static class:we can define static memebers(like public static int icount)</div>
<div>
<br /></div>
<div>
if we invoked the method twice/but constructor will fire only once.</div>
<div>
<br /></div>
<div>
<div>
public static class Staticclasses</div>
<div>
{</div>
<div>
public static int icount;</div>
<div>
static Staticclasses()</div>
<div>
{</div>
<div>
<br /></div>
<div>
}</div>
<div>
static void somemethod()</div>
<div>
{ }</div>
<div>
<br /></div>
<div>
}</div>
</div>
<div>
<br /></div>
<div>
What is the use of private constructor ? This is used for utility classes</div>
<div>
<br /></div>
<div>
1.a class with a private constructor can not be inherited</div>
<div>
<br /></div>
<div>
2. we can not create a object of the class which has private constructor</div>
<div>
3. many times we do not want to create instances of certain classes like utility ,common routine classes</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
public class class1</div>
<div>
{</div>
<div>
private class1()</div>
<div>
{</div>
<div>
}</div>
<div>
public static string getdata()</div>
<div>
{</div>
<div>
return "hello"</div>
<div>
}</div>
<div>
}</div>
<div>
<br /></div>
<div>
Client can use by using:</div>
<div>
<br /></div>
<div>
string str=class1.getdata() (SO we are not create instance,we can access method)</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Can we define abstract class as a static?</div>
<div>
<br /></div>
<div>
never forget we can never define abstract class as static</div>
<div>
<br /></div>
<div>
<div>
<br /></div>
<div>
<br /></div>
<div>
What is the use of c# (Csharp) Shadowing ?</div>
<div>
<br /></div>
<div>
shadowing is replaces current element of the parent where as override is replace the implementations(it does not replace data type or (datatype /datamethod)</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Abstraction_Encapsulation:</div>
<div>
<div>
namespace Abstract_encapsulation</div>
<div>
{</div>
<div>
public class customer</div>
<div>
{</div>
<div>
//step1:what does customer(Abstraction)//show only what is neccessary</div>
<div>
//step2:How(Validate,<wbr></wbr>createdbobjects)</div>
<div>
//step3:made complicated method as private (Encapuslation):means reduce the complexity/hide complexity to client</div>
<div>
<br /></div>
<div>
public string customercode = "";</div>
<div>
public string customername = "";</div>
<div>
//public void Add()</div>
<div>
//{</div>
<div>
<br /></div>
<div>
//}</div>
<div>
<br /></div>
<div>
//Granular</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
//public bool validate()</div>
<div>
//{</div>
<div>
// //cust code and name</div>
<div>
// return true;</div>
<div>
//}</div>
<div>
//public bool createDbobjects()</div>
<div>
//{</div>
<div>
// return true;</div>
<div>
//}</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
//Now simplified to expose to clients</div>
<div>
<br /></div>
<div>
public void Add()</div>
<div>
{</div>
<div>
validate();</div>
<div>
createDbobjects();</div>
<div>
}</div>
<div>
private bool validate()</div>
<div>
{</div>
<div>
//cust code and name</div>
<div>
return true;</div>
<div>
}</div>
<div>
private bool createDbobjects()</div>
<div>
{</div>
<div>
return true;</div>
<div>
}</div>
<div>
<br /></div>
<div>
}</div>
<div>
}</div>
</div>
<div>
<br /></div>
<div>
<img alt="Inline image 1" class="CToWUd a6T" height="314" src="https://mail.google.com/mail/u/0/?ui=2&ik=917cd20e8e&view=fimg&th=15316f1e3e6e0142&attid=0.1&disp=emb&realattid=ii_15316f19f85c7fdb&attbid=ANGjdJ9Jx8QJ585TlA-Wf6NK8KMt_iJp_vK_QxfLDHT0Q23WJC50qVxXPkEuEec6UrmCzYEiTU8xkHRSXqYpjaSwWjjrcYtRIY1IG8OftP5tsV-K71RXopczbZ55IN0&sz=w836-h628&ats=1456394961922&rm=15316f1e3e6e0142&zw&atsh=1" width="418" /><div class="a6S bar" dir="ltr" style="left: 330px; opacity: 0.01; top: 1869.76px;">
<div aria-label="Download attachment image.png" class="T-I J-J5-Ji aQv T-I-ax7 L3 a5q" data-tooltip-class="a1V" data-tooltip="Download" id=":oz" role="button" tabindex="0">
<div class="aSK J-J5-Ji aYr">
</div>
</div>
<div aria-label="Save attachment to Drive image.png" class="T-I J-J5-Ji aQv T-I-ax7 L3 a5q" data-tooltip-class="a1V" data-tooltip="Save to Drive" id=":p0" role="button" tabindex="0">
<div class="wtScjd J-J5-Ji aYr aQu">
<div class="T-aT4" style="display: none;">
<div>
</div>
<div class="T-aT4-JX">
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<br /></div>
<div>
<img alt="Inline image 2" class="CToWUd a6T" height="161" src="https://mail.google.com/mail/u/0/?ui=2&ik=917cd20e8e&view=fimg&th=15316f1e3e6e0142&attid=0.2&disp=emb&realattid=ii_15316f1c4d0234a4&attbid=ANGjdJ-TBGqYOBbwQZTqdrAJw6z0pS9wR9DPeIKNBabbfdBqm7x9dYsbURfg534wL8BZr2bplFca4OqbXWzD2PChRGyBBfKIWZIOyJXn2v5NF8Th-4tx9hPL2ptWWtw&sz=w800-h322&ats=1456394961923&rm=15316f1e3e6e0142&zw&atsh=1" width="400" /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com6tag:blogger.com,1999:blog-6205953902383299253.post-36689760496935225392014-11-21T17:27:00.003+05:302014-11-21T17:27:58.719+05:30MCTS SSIS 2012 Implementing a Data Warehouse<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
2. <a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html"><span style="background: white; border: none windowtext 1.0pt; color: #e98300; font-family: "Arial",sans-serif; font-size: 11.5pt; line-height: 107%; mso-border-alt: none windowtext 0in; padding: 0in; text-decoration: none; text-underline: none;">Implementing
a Data Warehouse</span></a><o:p></o:p></div>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level1 lfo1; tab-stops: list .5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_1_implementing_dimensions_and_fac"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson 1: Implementing Dimensions and Fact Tables</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#creating_a_data_warehouse_database"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Creating a Data Warehouse Database</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#implementing_dimensions"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Implementing Dimensions</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#implementing_fact_tables"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Implementing Fact Tables</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level3 lfo1; tab-stops: list 1.5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#practice_implementing_dimensions_and_fac"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Practice: Implementing Dimensions and Fact Tables</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_summary-id00021"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson Summary</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_review-id00022"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson Review</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level1 lfo1; tab-stops: list .5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_2_managing_the_performance_of_a_d"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson 2: Managing the Performance of a Data
Warehouse</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#indexing_dimensions_and_fact_tables"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Indexing Dimensions and Fact Tables</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#indexed_views"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Indexed Views</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level3 lfo1; tab-stops: list 1.5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#using_appropriate_query_techniques"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Using Appropriate Query Techniques</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#data_compression"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Data Compression</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#columnstore_indexes_and_batch_processing"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Columnstore Indexes and Batch Processing</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level3 lfo1; tab-stops: list 1.5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#practice_loading_data_and_using_data_com"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Practice: Loading Data and Using Data Compression
and Columnstore Indexes</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_summary-id00028"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson Summary</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_review-id00029"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson Review</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level1 lfo1; tab-stops: list .5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_3_loading_and_auditing_loads"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson 3: Loading and Auditing Loads</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#using_partitions"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Using Partitions</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#data_lineage"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Data Lineage</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level3 lfo1; tab-stops: list 1.5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#practice_performing_table_partitioning"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Practice: Performing Table Partitioning</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_summary-id00031"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson Summary</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_review-id00032"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson Review</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level1 lfo1; tab-stops: list .5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#case_scenarios-id00033"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Case Scenarios</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#case_scenario_1_slow_dw_reports"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Case Scenario 1: Slow DW Reports</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#case_scenario_2_dw_administration_proble"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Case Scenario 2: DW Administration Problems</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level1 lfo1; tab-stops: list .5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#suggested_practices-id00034"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Suggested Practices</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#test_different_indexing_methods"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Test Different Indexing Methods</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l1 level2 lfo1; tab-stops: list 1.0in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#test_table_partitioning"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Test Table Partitioning</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
</ol>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<ol start="1" style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="background: white; color: #4a3c31; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l0 level1 lfo2; tab-stops: list .5in; vertical-align: baseline;"><span style="color: windowtext;"><a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_1_implementing_dimensions_and_fac"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson 1: Implementing Dimensions and Fact Tables</span></a></span><span style="font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></li>
</ol>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> In
this lesson, you learned about implementing a data warehouse.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> For a
data warehouse database, you should use the <b>Simple recovery model.</b><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> When
creating a database, allocate enough space for data files and log files to
prevent autogrowth of the files.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Use
surrogate keys in dimensions in which you expect SCD Type 2 changes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Use
computed columns.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. Which database objects and object properties can you use
for autonumbering?<o:p></o:p></div>
<div class="MsoNormal">
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
<b>A. IDENTITY property<o:p></o:p></b></div>
<div class="MsoNormal">
<b>B. SEQUENCE object<o:p></o:p></b></div>
<div class="MsoNormal">
C. PRIMARY KEY constraint<o:p></o:p></div>
<div class="MsoNormal">
D. CHECK constraint<o:p></o:p></div>
<div class="MsoNormal">
2. What columns do you add to a table to support Type 2 SCD
changes? (Choose all that<o:p></o:p></div>
<div class="MsoNormal">
apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Member properties<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Current row flag</b><o:p></o:p></div>
<div class="MsoNormal">
C. Lineage columns<o:p></o:p></div>
<div class="MsoNormal">
D. <b>Surrogate key</b><o:p></o:p></div>
<div class="MsoNormal">
3. What is an inferred member?<o:p></o:p></div>
<div class="MsoNormal">
A. A row in a fact table added during dimension load<o:p></o:p></div>
<div class="MsoNormal">
B. A row with aggregated values<o:p></o:p></div>
<div class="MsoNormal">
C. <b>A row in a
dimension added during fact table load</b><o:p></o:p></div>
<div class="MsoNormal">
D. A computed column in a fact table<o:p></o:p></div>
<div class="MsoNormal">
Answers:<o:p></o:p></div>
<div class="MsoNormal">
Lesson 1<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: A and B<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: The IDENTITY property autonumbers rows.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: You can use the new SQL Server 2012 SEQUENCE
object for<o:p></o:p></div>
<div class="MsoNormal">
autonumbering.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Primary keys are used to uniquely identify
rows, not for<o:p></o:p></div>
<div class="MsoNormal">
autonumbering.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: Check constraints are used to enforce data
integrity, not for<o:p></o:p></div>
<div class="MsoNormal">
autonumbering.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Member properties are dimension columns used
for additional information<o:p></o:p></div>
<div class="MsoNormal">
on reports only.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: You need a current flag for denoting the current
row when you implement<o:p></o:p></div>
<div class="MsoNormal">
Type 2 SCD changes.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Lineage columns are used, as their name
states, to track the lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: You need a new, surrogate key when you implement
Type 2 SCD changes.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: You do not add rows to a fact table during
dimension load.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: You do not create rows with aggregated values.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: A row in a dimension added during fact table
load is called an inferred<o:p></o:p></div>
<div class="MsoNormal">
member.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: A computed column is just a computed column,
not an inferred member.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4a3c31; font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">2.<a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_2_managing_the_performance_of_a_d"><span style="border: none windowtext 1.0pt; color: #e98300; font-size: 11.5pt; mso-border-alt: none windowtext 0in; padding: 0in; text-decoration: none; text-underline: none;">Lesson
2: Managing the Performance of a Data Warehouse</span></a><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> In
this lesson, you learned how to optimize data warehouse query performance.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> In a
DW, you should not use many nonclustered indexes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Use
small, integer surrogate columns for clustered primary keys.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Use
indexed views.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Use
columnstore indexes and exploit batch processing.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. Which types of data compression are supported by SQL
Server? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Bitmap<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Unicode(my word it
automatically applied when u choose row or page compression)<o:p></o:p></b></div>
<div class="MsoNormal">
<b>C. Row<o:p></o:p></b></div>
<div class="MsoNormal">
<b>D. Page<o:p></o:p></b></div>
<div class="MsoNormal">
2. Which operators can benefit from batch processing?
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. <b>Hash Join<o:p></o:p></b></div>
<div class="MsoNormal">
B. Merge Join<o:p></o:p></div>
<div class="MsoNormal">
C. <b>Scan</b><o:p></o:p></div>
<div class="MsoNormal">
D. Nested Loops Join<o:p></o:p></div>
<div class="MsoNormal">
E. <b>Filter</b><o:p></o:p></div>
<div class="MsoNormal">
3. Why would you use indexed views? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
<b>A. To speed up
queries that aggregate data<o:p></o:p></b></div>
<div class="MsoNormal">
B. To speed up data load<o:p></o:p></div>
<div class="MsoNormal">
C. To speed up selective queries<o:p></o:p></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<b>D. To speed up
queries that involve multiple joins<o:p></o:p></b></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
Answers:<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: B, C, and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: SQL Server does not support bitmap
compression.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: SQL Server supports Unicode compression. It is
applied automatically<o:p></o:p></div>
<div class="MsoNormal">
when you use either row or page compression.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: SQL Server supports row compression.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: SQL Server supports page compression.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: A, C, and E<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: Hash joins can use batch processing.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: Merge joins do not use batch processing.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: Scan operators can benefit from batch
processing.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: Nested loops joins do not use batch
processing.<o:p></o:p></div>
<div class="MsoNormal">
E. Correct: Filter operators use batch processing as well.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answers: A and D<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: Indexed views are especially useful for speeding
up queries that aggregate<o:p></o:p></div>
<div class="MsoNormal">
data.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: As with any indexes, indexed views only slow
down data load.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: For selective queries, nonclustered indexes
are more appropriate.<o:p></o:p></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
D. Correct: Indexed views can also speed up queries
that perform multiple joins.<o:p></o:p></div>
<div class="MsoNormal" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.0in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; vertical-align: baseline;">
<a href="https://www.safaribooksonline.com/library/view/exam-70-463-implementing/9780735668300/ch02.html#lesson_3_loading_and_auditing_loads"><span style="border: none windowtext 1.0pt; color: #e98300; font-family: "inherit",serif; font-size: 11.5pt; mso-bidi-font-family: Arial; mso-border-alt: none windowtext 0in; mso-fareast-font-family: "Times New Roman"; padding: 0in; text-decoration: none; text-underline: none;">Lesson 3: Loading and Auditing Loads</span></a><span style="color: #4a3c31; font-family: "inherit",serif; font-size: 10.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpLast" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.0in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; vertical-align: baseline;">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Table
partitioning is extremely useful for large fact tables with columnstore
indexes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span>
Partition switch is a metadata operation only if an index is aligned with its
base table.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> You
can add <b>lineage</b> information to your
dimensions and fact tables to audit changes<o:p></o:p></div>
<div class="MsoNormal">
to your <b>DW on a row
level.</b><o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. The database object that maps partitions of a table to
filegroups is called a(n)<o:p></o:p></div>
<div class="MsoNormal">
A. Aligned index<o:p></o:p></div>
<div class="MsoNormal">
B. Partition function<o:p></o:p></div>
<div class="MsoNormal">
C. Partition column<o:p></o:p></div>
<div class="MsoNormal">
D. <b>Partition scheme</b><o:p></o:p></div>
<div class="MsoNormal">
2. If you want to switch content from a nonpartitioned table
to a partition of a partitioned<o:p></o:p></div>
<div class="MsoNormal">
table, what conditions must the nonpartitioned table meet?
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. It must have the same constraints as the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
B. It must have the same compression as the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
C. It must be in a special PartitionedTables schema.<o:p></o:p></div>
<div class="MsoNormal">
D. It must have a check constraint on the partitioning
column that guarantees that all<o:p></o:p></div>
<div class="MsoNormal">
of the data goes to exactly one partition of the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
E. It must have the same indexes as the partitioned table.<o:p></o:p></div>
<div class="MsoNormal">
3. Which of the following T-SQL functions is not very useful
for capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information?<o:p></o:p></div>
<div class="MsoNormal">
A. APP_NAME()<o:p></o:p></div>
<div class="MsoNormal">
B. USER_NAME()<o:p></o:p></div>
<div class="MsoNormal">
C. <b>DEVICE_STATUS()</b><o:p></o:p></div>
<div class="MsoNormal">
D. SUSER_SNAME()<o:p></o:p></div>
<div class="MsoListParagraph" style="background: white; line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 1.0in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; vertical-align: baseline;">
<br /></div>
<div class="MsoNormal">
Test Table Partitioning<o:p></o:p></div>
<div class="MsoNormal">
In order to understand table partitioning thoroughly, you
should test it with aligned and<o:p></o:p></div>
<div class="MsoNormal">
nonaligned indexes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span> Practice
1 Partition the FactInternetSales table in the AdventureWorkDW2012 sample<o:p></o:p></div>
<div class="MsoNormal">
database. Create aligned nonclustered indexes on all foreign
keys of the fact table<o:p></o:p></div>
<div class="MsoNormal">
included in joins of the query from the previous practice.
Run the query and check the<o:p></o:p></div>
<div class="MsoNormal">
execution plan.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span>
Practice 2 Create nonaligned nonclustered indexes on all foreign keys of the
fact<o:p></o:p></div>
<div class="MsoNormal">
table included in joins of the query from the previous
practice. Run the query and<o:p></o:p></div>
<div class="MsoNormal">
check the execution plan again.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers:<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answer: D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Aligned indexes are indexes with the same
partitioning as their base<o:p></o:p></div>
<div class="MsoNormal">
table.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: The partition function does logical
partitioning.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: The partition column is the column used for
partitioning.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: <b>The
partition scheme does physical partitioning.</b><o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: A, B, D, and E<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: It must have the same constraints as the
partitioned table.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: It must have the same compression as the
partitioned table.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: There is no special schema for partitioned
tables.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: It must have a check constraint to guarantee
that all data goes to a single<o:p></o:p></div>
<div class="MsoNormal">
partition.<o:p></o:p></div>
<div class="MsoNormal">
E. Correct: It must have the same indexes as the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: The APP_NAME() function can be useful for capturing
lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: The USER_NAME() function can be useful for
capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: There is no DEVICE_STATUS() function in T-SQL.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: The SUSER_SNAME() function can be useful for
capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com3tag:blogger.com,1999:blog-6205953902383299253.post-55982022831367045992014-11-21T17:12:00.002+05:302014-11-21T17:12:56.730+05:30Prepared interview question on SSIS 2012<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #333333; font-family: "Arial",sans-serif; font-size: 10.0pt;">CheckPoint:<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #333333; font-family: "Arial",sans-serif; font-size: 10.0pt; mso-no-proof: yes;"><!--[if gte vml 1]><v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
style='width:108pt;height:33pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:\Users\PRADEE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><img height="44" src="file:///C:/Users/PRADEE~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png" v:shapes="Picture_x0020_1" width="144" /><!--[endif]--></span><span style="color: #333333; font-family: "Arial",sans-serif; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 8.15pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 8.0pt; mso-bidi-font-size: 6.5pt; mso-fareast-font-family: "Times New Roman";">What do you need to set in order to use
checkpoint properties at the package level, after you have turned the
checkpoint properties on? <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 8.15pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 8.0pt; mso-bidi-font-size: 6.5pt; mso-fareast-font-family: "Times New Roman";">Ans:You need to set the </span><b><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 9.0pt; mso-bidi-font-size: 6.5pt; mso-fareast-font-family: "Times New Roman";">FailPackageOnFailure property to True</span></b><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 9.0pt; mso-bidi-font-size: 6.5pt; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 8.0pt; mso-bidi-font-size: 6.5pt; mso-fareast-font-family: "Times New Roman";">for tasks to write to
the checkpoint file. However, if you want to rerun any successful tasks that
occur before the failure task, you need to use a sequence container around the
group of related tasks that require transactions.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-line-height-alt: 8.65pt;">
<span style="color: #2a2a2a; font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">If you set the
CheckpointUsage to <b>Always, the
checkpoint file must be present or the package will not start.</b><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">BEST PRACTICES Managing multiple tasks with
transactions and restartability<o:p></o:p></span></b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-line-height-alt: 8.65pt;">
<span style="color: #2a2a2a; font-family: "Times New Roman",serif; font-size: 10.0pt; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">To
do this, you need to enable checkpoints in the package and then use a Sequence
Container that holds all the associated tasks. The Sequence Container needs to
have the transactions turned on by setting the TransactionOption to Required at
the container level.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-line-height-alt: 8.65pt;">
<span style="color: #2a2a2a; font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">When a package has the
restartability settings enabled and checkpoints set, it will manage the
checkpoint file during its execution. The following processes happen behind the
scenes for a package that has checkpoints set:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">1.<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">When the package loads for
execution, the checkpoint file is created.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">2.<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">For every task or container that is
configured for checkpoints, the checkpoint file is updated to include the
latest runtime information such as variable values and the successful tasks.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">3.<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">If the package fails, then the file
remains in place so that the next time the package is executed, it will read
the checkpoint file for execution. Alternatively, if you want the package to
begin from the first task or container, the file can be manually deleted.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">4.<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "Times New Roman",serif; font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";">If the package execution is
successful, then the checkpoint file will be deleted automatically.<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #333333; font-family: "Arial",sans-serif; mso-bidi-font-size: 10.0pt;">Note:</span><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;"> not all systems support DTC, and a transaction cannot be forced
on a non-compliant system.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: "Times New Roman";">How does SSIS Validation Works</span></b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">SSIS Validation is the process of ensuring the package will
execute successfully during runtime with its current property settings</span><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">.</span><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";"> There are two
types of package validation available in SSIS.<br />
• Design Time Validation (Early Validation) <b>– Validates all of components and metadata of the package</b> prior to
executing the package<br />
• Run Time Validation (Late validation) – Validates the individual components
and metadata of the package prior to running the component<o:p></o:p></span></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 164.25pt;" valign="top" width="219">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;">Designtime
validation<o:p></o:p></span></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.0pt;" valign="top" width="212">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;">Runtime<o:p></o:p></span></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 144.25pt;" valign="top" width="192">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;">Workoffline(Project
level)(ssis2012)<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 164.25pt;" valign="top" width="219">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">when you open a package, takes place</span><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;"><o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.0pt;" valign="top" width="212">
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">When you execute a package, the SSIS design time and run
time validation takes place. In essence, <b>during
run time the package is actually validated twice.<o:p></o:p></b></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 144.25pt;" valign="top" width="192">
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">This will speed up package opening and eliminate and
early validation while working in the BIDS designer.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">On the down side, the Work Offline property prevents the
following.<o:p></o:p></span></div>
<div style="background: whitesmoke; border: solid lightgrey 1.0pt; margin-left: -11.7pt; margin-right: 6.25pt; mso-border-alt: solid lightgrey .5pt; mso-element: para-border-div; padding: 9.0pt 9.0pt 4.0pt 13.0pt;">
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">You cannot run or debug any
packages while in Work Offline property = “TRUE”<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">Once you close and save the
package, the Work Offline setting is set to default setting of “FALSE<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">This is a project level setting,
not a package level setting<o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">You can override the default Work Offline setting by
hacking the dtsproj.user file in the project.<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: "Times New Roman";">SSIS Validations Properties</span></b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">let take a look at the properties and options to manage
validation at a project, package and individual component level.<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">Two step validation process utilized by SSIS.<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">Package level validation<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">Individual component level<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 12.0pt;">Delay Validation:</span></b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;"> The delay validation property is available at the package
level and at the individual component level. The Delay Validation property
setting <b>is not available</b> for
individual data flow components.<o:p></o:p></span></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;">Package
level Delay validation<o:p></o:p></span></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;">Individual
component level delay validation<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">is only applicable at runtime, not during design time(true)<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">Ex:execute sql task, required data connection</span><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;"><o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;">True
for executesql task then the data connection error is removed in SSDT
designer,so it is applied at design time,if we set the delayvalidation=true.<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">I would not recommend setting early Delay Validation =
“TRUE” at the package level under any circumstances. <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 233.75pt;" valign="top" width="312">
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">I would only change Delay Validation setting at the component
level under the following conditions<o:p></o:p></span></div>
<div style="background: whitesmoke; border: solid lightgrey 1.0pt; margin-left: -11.7pt; margin-right: 6.25pt; mso-border-alt: solid lightgrey .5pt; mso-element: para-border-div; padding: 9.0pt 9.0pt 4.0pt 13.0pt;">
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">I have a large package which uses a
data source multiple times and the connection is slow or is a remote
connection.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">I have a database object that is
created during run time and is referenced in another downstream component.
(i.e. creation of a temporary table) I would turn off early validation at
the downstream component level to allow the package to run and delay early
validation<o:p></o:p></span></div>
</div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">If I am dynamically setting properties of a data
connection which is not available during the early validation property.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: "Times New Roman";">Validate External Metadata</span></b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">The Validate External Metadata property is similar to the Delay
validation property but is available only in <b>individual Data Flow Components only</b>. The default setting for the
property = “False”. Changing the Validate External Metadata property to <b>true eliminates early package validation
but has no effect on run time validation in SSIS.<o:p></o:p></b></span></div>
<div class="MsoNormal" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">I would recommend change the Validate External Metadata from its
default setting under the following conditions.<o:p></o:p></span></div>
<div style="background: whitesmoke; border: solid lightgrey 1.0pt; margin-left: -11.7pt; margin-right: 6.25pt; mso-border-alt: solid lightgrey .5pt; mso-element: para-border-div; padding: 9.0pt 9.0pt 4.0pt 13.0pt;">
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">Getting data from a data flow source
task using a flat file or excel that does not exist at runtime<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12.5pt; margin: 0in 0in 0.0001pt 0.25in; padding: 0in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="color: #625f5e; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #625f5e; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";">A source or destination tasks where
the database components is not available at runtime<o:p></o:p></span></div>
</div>
<div class="MsoListParagraph" style="line-height: 12.5pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-add-space: auto; mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in;">
<!--[if !supportLists]--><span style="color: #4b4b4b; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: "Times New Roman";">Work Offline (Connection Level)</span></b><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in; vertical-align: baseline;">
<!--[if !supportLists]--><span style="color: #2a2a2a; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 6.5pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #4b4b4b; font-family: "Verdana",sans-serif; font-size: 9.0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 7.5pt;">SQL
2012 introduces the ability to Work Offline at the package level and connection
level.</span><span style="color: #2a2a2a; font-family: "Segoe UI",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 6.5pt;"><o:p></o:p></span></div>
<span lang="EN">Package parameters allow you to modify
package execution without having to edit and redeploy the package. <o:p></o:p></span><br />
<span lang="EN">Package deployment model:<o:p></o:p></span><br />
<span lang="EN">Step1: Deploy package (contains
parameters using the package deployment model)<o:p></o:p></span><br />
<span lang="EN">Step2: execute package<o:p></o:p></span><br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 155.8pt;" valign="top" width="208">
<span lang="EN">Parameters<o:p></o:p></span><br />
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 155.85pt;" valign="top" width="208">
<span lang="EN">Package parameter<o:p></o:p></span><br />
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 155.85pt;" valign="top" width="208">
<span lang="EN">Project parameters<o:p></o:p></span><br />
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 155.8pt;" valign="top" width="208">
<span lang="EN">The parameters are not called
during execution<o:p></o:p></span><br />
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 155.85pt;" valign="top" width="208">
<span lang="EN">If the package contains package
parameters and expressions within the package use the parameters, the <b>resulting values are applied at runtime.</b><o:p></o:p></span><br />
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 155.85pt;" valign="top" width="208">
<span lang="EN">If the package contains project
parameters, the <b>package execution may fail.</b><o:p></o:p></span><br />
<br />
</td>
</tr>
</tbody></table>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
<div class="MsoNormal">
2. Typically, the principal difference between development
and production environments is<o:p></o:p></div>
<div class="MsoNormal">
in the configuration of data stores. In development, all
data can reside on the same server<o:p></o:p></div>
<div class="MsoNormal">
(even in the same database). In fact, because for
development a subset of data is usually all<o:p></o:p></div>
<div class="MsoNormal">
that is needed (or available) to the developer, all stored
development data could easily be<o:p></o:p></div>
<div class="MsoNormal">
placed on the developer’s personal computer. Therefore, you
should account for the following<o:p></o:p></div>
<div class="MsoNormal">
differences between the development and the production
environments when developing<o:p></o:p></div>
<div class="MsoNormal">
SSIS solutions:<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif;">■■</span>
Connections:source &destinations<o:p></o:p></div>
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold;">Data platforms:sql
server versions diff on prod and dev<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold;">Security<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">3. What is the principal difference between a success constraint and a
completion constraint?<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">A success constraint will only allow the process to continue to the
following task if the preceding task completed successfully, whereas a
completion constraint will allow the process to continue as soon as the
preceding task has completed, regardless of the outcome.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">4.</span> <span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">What is the
difference between the Union All and the Merge transformation?<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">The Merge transformation is similar to Union All, but with Merge, the
sources have to be sorted and the sort position is preserved.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">5.</span> <span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">What is the
difference between the Lookup and Merge Join transformations?<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Arial",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-weight: bold;">■</span><span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;"> The Lookup transformation does not need
a sorted input; it is a non-blocking transformation, and in cases when more
matching rows exist from the referenced dataset, only the first one will be
retrieved. This means that the transformation will never retrieve more rows
than exist in the input rows. With the Merge Join transformation more rows can
be retrieved, because all matching data is retrieved.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">6.</span> <span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">There is an
important difference between lineage and other columns:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">lineage columns are never exposed to end users and are never shown on end
users’ reports.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">To summarize, a dimension may contain the following types of columns:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">■■ Keys Used to identify entities<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">■■ Name columns Used for human names of entities<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">■■ Attributes Used for pivoting in analyses<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">■■ Member properties Used for labels in a report<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">■■ Lineage columns Used for auditing, and never exposed to end users<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">7.</span> <span style="font-family: "Segoe-Bold",sans-serif; font-size: 9.0pt; line-height: 107%; mso-bidi-font-family: Segoe-Bold; mso-bidi-font-weight: bold;">You should
understand the differences between individual SSISDB logging levels in order to
be able to choose the most appropriate one for a particular purpose. For
instance, by turning logging off, you could slightly improve execution
performance at the cost of losing all ability to detect execution errors. On
the other hand, using verbose logging will provide a lot of information about
the execution but will lead to less-than-optimal performance.<o:p></o:p></span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: 0in; margin-right: 0in; margin-top: 0in; vertical-align: baseline;">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in;">
<!--[if !supportLists]--><span style="color: #222222; font-family: Symbol; font-size: 10.0pt; line-height: 107%; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><strong><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt; line-height: 107%;">Quick Check</span></strong><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt; line-height: 107%;"><br />
<br />
1. You add a sequence container to a package that contains several tasks, one
of which calls a command on a legacy system and another of which a Data Flow
Task imports data into SQL Server. Even with DTC started and transactions
turned on, your sequence container fails before the tasks even run. What is the
problem? <br />
<br />
2. What do you need to set in order to use checkpoint properties at the package
level, after you have turned the checkpoint properties on?<br />
<br />
<strong>Quick Check Answers</strong><br />
<br />
1. The transactions featured in SSIS use the DTC service. However, not all
systems support DTC, and a transaction cannot be forced on a non-compliant
system, so the container will fail. You should remove the legacy task from the
sequence container that has the transaction. <br />
<br />
2. You need to set the FailPackageOnFailure property to True for tasks to write
to the checkpoint file. However, if you want to rerun any successful tasks that
occur before the failure task, you need to use a sequence container around the
group of related tasks that require transactions.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in;">
<!--[if !supportLists]--><span style="color: #222222; font-family: Symbol; font-size: 10.0pt; line-height: 107%; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt; line-height: 107%;"> </span></div>
<div style="line-height: 16.5pt; margin-bottom: 16.5pt; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in; vertical-align: baseline;">
<!--[if !supportLists]--><span style="color: #333333; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;">
</span></span><!--[endif]--><strong><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt;">Quick Check</span></strong><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt;"><br />
<br />
1. A Data Conversion transformation is failing in the middle of the data flow
execution, and you need to determine what is causing the error. How should you
proceed? </span><span style="color: #333333; font-family: "Arial",sans-serif; mso-bidi-font-size: 10.0pt;"><o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<strong><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt; line-height: 107%;">Ans:</span></strong><span style="color: #222222; font-family: "Arial",sans-serif; font-size: 10.0pt; line-height: 107%;"> . To determine what is causing the error, configure the Data
Conversion transformation error path to Flat File so that any rows that are
failing conversion are sent out to a file. Then, create a data viewer on the
error path, and run the package in BIDS. This technique will capture the errors
in a file and display the rows in the designer for troubleshooting.<br />
<br />
2. Your package contains a string variable that you are updating, using a
Script Task, to be a file path and file name. Your package is failing at a File
System Task that is configured to use the variable to move the file to a
different folder on the server. How do you troubleshoot the package? Ans: .
Because the Script Task can contain embedded breakpoints in the code, set a
breakpoint in the script so that you will be able to execute the package and
step through the lines of code, observing the value of the variable to check
the code and accuracy.<br />
3. You would like to log all the package errors to a custom database table you
have created for auditing purposes. How can you accomplish this task?<br />
Ans: By using the OnError event handler assigned to the package level, you can
also use an Execute SQL Task that calls a stored procedure, passing in the
SourceName and ErrorDescription variable values. The procedure can then track
these details into a metadata storage table for auditing.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></span><o:p></o:p></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-31967997681043241802014-11-14T17:33:00.000+05:302014-11-14T17:33:09.996+05:30SSIS INTERVIEW QUESTIONS<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="background-color: white; border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; color: #333333; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative;">
General</h2>
<h1 style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin: 0px; position: relative;">
<o:p></o:p></h1>
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; margin: 0in;">
</div>
<ol style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;">
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is ETL? (<a href="http://sqlage.blogspot.com/2014/03/ssis-what-is-etl-extract-transform-load.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are the important components of an ETL Tool ?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is Business Intelligence ( BI) ?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Which ETL Tool have you used as a Developer ?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Which version of SSIS have you worked with?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is DTS, and how is it different from SSIS?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Name some of the features available in SSIS 2008 that were not available in SSIS 2005?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What additional features are available in SSIS 2012 that were not in SSIS 2008? (<a href="http://sqlage.blogspot.com/2014/05/ssis-new-features-of-sql-server.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the difference between Control Flow and Data Flow in SSIS? (<a href="http://sqlage.blogspot.com/2014/03/ssis-what-is-difference-between-control.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is parallel execution in SSIS, and how many Data Flow Tasks can a package run in parallel?(<a href="http://sqlage.blogspot.com/2014/03/what-is-parallel-execution-in-ssis-how.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the MaxConcurrentExecutables property on a Package level? (<a href="http://sqlage.blogspot.com/2014/03/what-is-maxconcurrentexecutables.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the Engine Thread property of Data Flow Task?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are the Precedence Constraints in SSIS, and where and why have you used them? <a href="http://sqlage.blogspot.com/2013/10/ssis-how-to-use-precedence-constraint.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the difference between the Success and the Completion value of Precedence Constraint? (<a href="http://sqlage.blogspot.com/2014/03/what-is-difference-between-success-and.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the DelayValidation property of Data Flow Task? Why does one use this property? ( <a href="http://sqlage.blogspot.com/2014/09/ssis-what-is-delay-validation-property.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is RetainSameConnection Property on Connection? Why is it used? (<a href="http://sqlage.blogspot.com/2014/04/ssis-how-to-create-use-temp-table-in.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If we create a temp table in SSIS Package and want to use it in other tasks, which properties do we need to use? (<a href="http://sqlage.blogspot.com/2014/04/ssis-how-to-create-use-temp-table-in.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is data Viewer in SSIS? Is data viewer available in Control Flow or Data Flow? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-data-viewer.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I am running my package for debugging and I do not want to load data into any destination. Which transformation can I use to ensure that the data goes nowhere else? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-test-destination.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the difference between Checkpoint and Breakpoint in SSIS? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-watch-value-of-variables.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer-BreakPoint)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Will my package run successfully by using SQL Server Agent if I have data viewers and Breakpoint enabled?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are different ways to execute your SSIS Package? Can I run a SSIS Package by using a Stored Procedure?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What types of deployment are available for a SSIS Package? Explain all.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is the difference between Package Deployment and Project Deployment?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Which version of SSIS can track versions of a SSIS Package deployed to the Server? <a href="http://sqlage.blogspot.com/2011/03/project-versioninig-project-deployment.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">To run your SSIS Package, the Integration Services Server and SQL Server should be installed on the same server. Is this a correct statement?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are the different ways to run your SSIS package on a schedule?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are Event Handlers in SSIS? On which events can you run the event handler part? Name a few of the Events available?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Let’s say you have configured Event Handler to send an email to report an error for Data Flow Task inside For Each <st1:place w:st="on">Loop.</st1:place> If error occurred in a data flow task, you will get multiple emails. Why is that? How we can prevent those series of emails coming for one error? ( <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-handle-multiple-emails-from.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">How do you debug your SSIS package?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Explain the important steps for performance tuning of your SSIS Package.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If your package is scheduled to run every night at 10 P.M., and the package fails in production, where will you begin your search for the error details? (<a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-debug-ssis-package-that-has.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have created a variable in SSIS, and you have used that variable in Data Flow Task in Row Count Transformation. If you want to display or see that value of variable after Data Flow execution, how will you do that? ( <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-watch-value-of-variables.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You are looking at Control Flow Item, and you cannot find Execute SQL task. How will you bring it back to Control Flow Items? (<a href="http://sqlage.blogspot.com/2014/03/ssis-how-to-add-or-delete-tasks-in.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Your company is using some third party transformations and tasks, and you need to add them to Control Flow Item and Data Flow Items. How will you do that? (<a href="http://sqlage.blogspot.com/2014/03/ssis-how-to-add-task-transformation-to.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are Attunity Drivers and why do we use them with SSIS?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you do not want to use Slowly Changing Transformation, Which T-SQL statement can help you to load an SCD type table in one statement? ( <a href="http://sqlage.blogspot.com/2013/10/tsql-how-to-load-slowly-changing.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is Annotation? Is it only available in Control Flow Pane or available in other Panes as well? (<a href="http://sqlage.blogspot.com/2014/03/how-to-include-comments-in-ssis-package.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Let’s say we have two Execute SQL Tasks in a Sequence container. If any of them fail, we want to roll back the transaction. How can we achieve this? <a href="http://sqlage.blogspot.com/2013/12/ssis-load-all-records-from-source-to.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is a TransactionOption Property at the Package level? Is this property only available at the package level, or it is also available at the Container Level or Task level?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Can you create an SSIS Package without using BIDS? (<a href="http://sqlage.blogspot.com/2014/03/how-to-use-importexport-wizard-in-sql.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have an excel file and you want to clear the first cell of sheet 1, which task will you?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">A third-party software is available that you need to execute by using SSIS. Which task can be used to run EXE file? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-compress-and-archive-file.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You need to load 500 million records in a table; this table has cluster and non-cluster indexes already created. What will be your approach to load the data?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are Asynchronous and Synchronous data flow components?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What are Non-blocking, Semi-blocking and Fully-blocking components in SSIS?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is Balanced Data Distributor( BDD)?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is Error Output? Can you redirect rows from Sources, Transformations and Destinations in SSIS? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-redirect-invalid-rows-from.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you need to check that a file exists in a folder, which task(s) will you use? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-check-if-file-exists-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Let’s say you have created an Excel File by using Excel Destination. If you have to make the Header row bold, how will you do that in SSIS? <a href="http://sqlage.blogspot.com/2013/12/ssis-create-excel-file-dynamically-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you need to send an HTML email, can you use the built-in Send Mail Task? What other options do you have? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-email-flat-file-or-excel.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you are using SQL Server Log Provider, can you make the SQL Server connection dynamic?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you need to watch a directory for a specific file to be added, which Task will you use?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">What is For-each Item Enumerator in For-each Loop Container? Why would you use it?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you need to move a file and rename it at the same time, how will you do that? <a href="http://sqlage.blogspot.com/2013/12/ssis-archive-files-and-add-timestamp-to.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Which Package property will help you to encrypt package to restrict access to its contents?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">We have received Excel Source File with multiple sheets but with the same meta data. How will you design your package to load all of the sheets to same table? <a href="http://sqlage.blogspot.com/2013/12/ssis-read-multiple-sheets-from-excel.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have redirected records due to Truncation or data conversion errors from some transformation. How will you find which column created the error? How do you detect the name of the column? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-get-error-column-name-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have created different types of SSIS Packages. How do you determine all the variable names, connection managers, logging information or expression used in those Packages? <a href="http://sqlage.blogspot.com/2013/07/ssis-read-ssis-package-filedtsx-for.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have received a big Excel or flat file, but you only want to load the first 100 records in a table. How will you do that? <a href="http://sqlage.blogspot.com/2013/12/ssis-read-top-x-rows-from-flat-file.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have received an Excel Source file, but the first 10 rows have only company information; actual data starts from Row 11. How will you skip the first 10 rows and start reading from row 11? <a href="http://sqlage.blogspot.com/2013/11/ssis-read-excel-file-after-skipping-few.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you need to read only one cell value from an Excel file in SSIS, which task will you use? <a href="http://sqlage.blogspot.com/2013/11/ssis-read-excel-cell-value-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You are extracting data from a view. The definition of View can change anytime. We want to load this data to an Excel file by using this view. How do you create a dynamic package so that you don't have to re-do the mapping? <a href="http://sqlage.blogspot.com/2013/12/ssis-create-excel-file-dynamically-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You are running different SSIS Packages on your server. How do you determine how much time each package took for execution? <a href="http://sqlage.blogspot.com/2013/11/ssis-log-package-execution-time-to.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Is it possible to run the SSIS Package from Excel by using Excel Macros? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-run-ssis-package-by-using.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you need to purge old files, which tasks will you use in your SSIS Package ? <a href="http://sqlage.blogspot.com/2011/02/ssis-purge-old-files-delete-old-files.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">After developing your SSIS Package, you want to write a technical document. What are important contents would you like to cover in that document? <a href="http://sqlage.blogspot.com/2013/07/ssis-package-documentation.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">There are so many files in our folders, we want to save the file name, file created date and size of each file in an Audit table. Which tasks will you use to do that? <a href="http://sqlage.blogspot.com/2011/02/load-files-information-to-sql-server.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">We have .sql files sitting in a folder, and we want to execute all of them. How can you run them by using SSIS Package? <a href="http://sqlage.blogspot.com/2012/10/execute-sql-files-by-using-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a> </li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">We have a table which contains different types of files that we want to export to folder. Which transformation do we need to use? <a href="http://sqlage.blogspot.com/2013/12/ssis-export-files-from-sql-table-to.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">There are 100 files in a directory. All have the same structure. You need to load the most recent file to table. How will you do that? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-get-most-recent-file-from.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Is backwards compatibility possible for an SSIS Package? In other words, if you have created your SSIS Package in SSIS 2008, can you downgrade to SSIS 2005? <a href="http://sqlage.blogspot.com/2013/12/ssis-backwards-compatibility-for-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">What is the difference between Package Level Connection Manager and Project Level Connection Manager?</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you get the oldest file from a Folder? (<a href="http://sqlage.blogspot.com/2014/04/ssis-how-to-get-oldest-file-from.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you find which SSIS Packages are used by SQL Server Agent Jobs? (<a href="http://sqlage.blogspot.com/2014/04/ssis-how-to-find-sql-server-agent-job.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you find out if a Stored Procedure is used in SSIS Package? <a href="http://sqlage.blogspot.com/2014/05/ssis-how-to-find-object-tablefunction.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you find and replace object name in SSIS Package or SSIS Packages in Solution? <a href="http://sqlage.blogspot.com/2014/05/scenario-developer-from-our-team.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you create Load Summary Email logic in SSIS Package? (<a href="http://sqlage.blogspot.com/2014/08/ssis-email-load-summary-insert-update.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">You have different folders sitting in Parent Folder. You want to delete old folder which are older than 7 days. How would you do that in SSIS Package? (<a href="http://sqlage.blogspot.com/2014/08/ssis-how-to-delete-old-folders-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you make your SSIS Package dynamic? </span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">Sometime when you execute your SSIS Package, You get an error " File is used by another process". Why did you get this error? and How can you avoid this error?</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you implement data validation in your SSIS Package?</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">What are the best practices to test SSIS Package? </span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">We can load data from one database tables to another database tables by using TSQL, Why do we use SSIS instead ?</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">What approach do you follow to troubleshoot your SSIS Package?</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">How would you change the value of variable in SSIS Package during debugging to test different scenarios? ( <a href="http://sqlage.blogspot.com/2014/08/ssis-how-to-change-value-of-variable.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">Is it possible to save Stored Procedure Output Parameter value to SSIS variable ? (<a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-save-stored-procedure.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )</span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><span style="text-indent: -24px;">What is the purpose of naming convention in SSIS ? <a href="http://sqlage.blogspot.com/2014/09/ssis-why-naming-convention-is-important.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></span></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Which Control Flow Task you will use if you need to convert excel file to csv file? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-convert-excel-file-to-csv.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You need to delete Top N Rows from Flat File, How would you do that? (<a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-delete-top-n-rows-from-csv.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">You have different SSIS Packages in one of the folder, How would you find the version of each SSIS Package? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-find-version-of-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Your SSIS Package consist of multiple Data Flow Tasks. You need to execute only first 2 Data Flow Task, How would you do that? <a href="http://sqlage.blogspot.com/2014/10/ssis-how-to-disableenable-tasks-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Explain an example where you had to build your Query dynamically in SSIS Package and how did you do that? <a href="http://sqlage.blogspot.com/2014/10/ssis-how-to-build-sql-query-by-using.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">If you have to perform Case Statement on one of the column data, Which Transformation would you use and how will the expressions look like? <a href="http://sqlage.blogspot.com/2014/10/ssis-how-to-write-case-statement-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><a href="http://sqlage.blogspot.com/2014/11/ssis-how-to-create-flat-files-for-all.html" style="color: #015782; text-decoration: none;">If you need to copy all the tables from a SQL server Database to flat files, how would you do that?</a></li>
</ol>
<div class="MsoListParagraphCxSpFirst" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
<div style="margin: 0in;">
<h3 class="post-name" style="font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 2em; font-weight: normal; line-height: 1.25; margin: 0px 0px 15px; padding: 0px; position: relative;">
</h3>
</div>
</div>
<h2 style="background-color: white; border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; color: #333333; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative;">
Sources</h2>
<h1 style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin: 0px; position: relative;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>Name a few of the Sources available in SSIS.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>If we need to read an XML Source file, which Source will we use in SSIS?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>What problems have you faced when you used Excel Source?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>Why do we add <i>IMEX</i>=1 to extended properties of Excel Connection Manager?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>If one of the Excel columns has alphanumeric data and another developer has changed the registry setting to <i>TypeGuessRow=0,</i> what does that mean to you?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>How will you handle a column (such as comments) that has more than 255 characters in Excel at row number 1000.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>What is fast parse property in Flat File Source? What are the requirements and limitations to use this property?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
8.<span style="font-size: 7pt;"> </span>Can I read a csv file with Raw File Source? If not, what type of files can I read by using Raw File Source?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
9.<span style="font-size: 7pt;"> </span>Can we use Stored Procedure in OLE DB Source? If yes, how do you map the parameters?<o:p></o:p><br />10. If you need to connect to TeraData, Which Data Source will you use?<br />11. How would you load fixed width flat file to SQL server table? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-load-fixed-width-text-file.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;">
<br /></div>
<div class="MsoListParagraphCxSpLast" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;">
<br /></div>
<h2 style="background-color: white; border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; color: #333333; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative;">
Transformations</h2>
<h1 style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin: 0px; position: relative;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>What is a SSIS Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>If you need to get the Username, Package Name and Package Start Time, which transformation will you use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>Which Transformation can perform operations such as Sum, Count and Group By? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-aggregate-transformation.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>If you need to convert Data Type from String to Integer, which transformation will you use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>If you need to add a new column(s), which transformation will you use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>You are reading data from a source by using a SSIS Package. If some records have Null values and you want to replace Null values to Unknow before inserting the data into a table, which Transformation will you use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>What is syntax for writing IF ELSE in Derived column Transformation? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-derived-column.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
8.<span style="font-size: 7pt;"> </span>What is Lookup Transformation, and why do we use this transformation when we load Fact Table?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
9.<span style="font-size: 7pt;"> </span>What are three modes of Lookup Transformation, and what criteria should be used to choose the correct mode?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
10.<span style="font-size: 7pt;"> </span>Can we insert record in Lookup Table by using Lookup Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
11.<span style="font-size: 7pt;"> </span>Should you use a drop down to choose our reference table in Lookup? Is this a good practice or not?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
12.<span style="font-size: 7pt;"> </span>What is multicast Transformation in SSIS? <a href="http://sqlage.blogspot.com/2013/07/ssis-load-data-to-multiple-destinations.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
13.<span style="font-size: 7pt;"> </span>What is conditional Split Transformation in SSIS? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-conditional-split.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
14.<span style="font-size: 7pt;"> </span>What is the major difference between Conditional Split and Multicast Transformation? ( <a href="http://sqlage.blogspot.com/2014/09/ssis-what-is-difference-between.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
15.<span style="font-size: 7pt;"> </span>What is OLE DB Command Transformation? Where would you use it and what are the disadvantages/advantages of using the OLE DB Command Transformation? <a href="http://sqlage.blogspot.com/2013/08/ssis-how-to-use-ole-db-command.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
16.<span style="font-size: 7pt;"> </span>What alternative methods would you like to use for OLE DB Command Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
17.<span style="font-size: 7pt;"> </span>If you need to get the Count for the number of records loaded from Source to Destination, which transformation will you use? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-row-count.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
18.<span style="font-size: 7pt;"> </span>If you need to create a sequence number for input records, which transformation will you use? <a href="http://sqlage.blogspot.com/2013/09/ssis-read-variable-in-script-component.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
19.<span style="font-size: 7pt;"> </span>Which transformation can be used as Source, Destination or Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
20.<span style="font-size: 7pt;"> </span>What is Slowly Changing Dimension, and which transformation can you use to load SCD tables?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
21.<span style="font-size: 7pt;"> </span>How will you load an SCD1 type table by using SSIS? <a href="http://sqlage.blogspot.com/2013/10/ssis-load-slowly-changing-dimension-scd.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
22.<span style="font-size: 7pt;"> </span>How will you load an SCD2 type Table by using SSIS?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
23.<span style="font-size: 7pt;"> </span>What are the best practices when you load huge SCD type tables? <a href="http://sqlage.blogspot.com/2013/08/tsql-generate-scripts-for-stored.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
24.<span style="font-size: 7pt;"> </span>Which Transformation requires us to use SORT Transformation with it?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
25.<span style="font-size: 7pt;"> </span>What are the alternatives of SORT Transformation if our source is SQL Server and we need to use Merge Join for multiple sources?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
26.<span style="font-size: 7pt;"> </span>What is IsSorted Property, and why do we use it?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
27.<span style="font-size: 7pt;"> </span>How will you remove duplicate records in SSIS? Which transformation can help with this task? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-remove-duplicate-records.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
28.<span style="font-size: 7pt;"> </span>Let’s say we have some reference data in Excel, and we want to use that Excel data in Lookup Transformation. How can we achieve that without loading that data into a staging table or temp table?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
29.<span style="font-size: 7pt;"> </span>What is Cache Transformation, and which transformation can use Cache Transformation-loaded data? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-get-error-column-name-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer- Cache Transformation)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
30.<span style="font-size: 7pt;"> </span>Why do we need to use Cache Transformation? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-use-flat-file-or-excel-file.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
31.<span style="font-size: 7pt;"> </span>Which transformation can be used to change column data to Lower Case or Upper Case? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-character-map.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
32.<span style="font-size: 7pt;"> </span>What is the difference between Copy Column Transformation and Derived Column Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
33.<span style="font-size: 7pt;"> </span>Let’s say my table contains images, and I am reading data from a table in Data Flow task. Which transformation can help me to save those images to files?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
34.<span style="font-size: 7pt;"> </span>Which transformation can I use in SSIS to import image files to a Table? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-import-files-text-pdf-excel.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
35.<span style="font-size: 7pt;"> </span>I have a source file that contains 1000 records, and I want to insert 15% of those re<span id="goog_984759201"></span><span id="goog_984759202"></span><a href="http://www.blogger.com/" style="color: #015782; text-decoration: none;"></a>cords in TableA and the remaining records in TableB. Which transformation should I use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
36.<span style="font-size: 7pt;"> </span>What is the difference between Row Sampling and Percent Sampling Transformations?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
37.<span style="font-size: 7pt;"> </span>Which transformation can be used to extract nouns only, noun phrases only, or both nouns and noun phases from a text-input column?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
38.<span style="font-size: 7pt;"> </span>How is Term Lookup different from Lookup Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
39.<span style="font-size: 7pt;"> </span>To Pivot or Unpivot input data, which transformations are available in SSIS? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-use-pivot-transformation-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Pivot Answer)</a> - <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-use-unpivot-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">Unpivot Answer</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
40.<span style="font-size: 7pt;"> </span>There is no Union Transformation in SSIS. How do you perform UNION operation using built-in Transformation? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-perform-union-operation-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
41.<span style="font-size: 7pt;"> </span>If we have source S1 and Source S2, and we need to merge them so that we get sorted output, which transformation would we use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
42.<span style="font-size: 7pt;"> </span>What is the difference between Merge and Union All Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
43.<span style="font-size: 7pt;"> </span>In Merge Join Transformation, we can use Inner Join, Left Join and Full Outer Join. If I have to use Cross Join, which transformation would I use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
44.<span style="font-size: 7pt;"> </span>What is FindString function in Derived Column Transformation?<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
45.<span style="font-size: 7pt;"> </span>Do we have MonthName and DayName functions available in SSIS which can be used in expressions or in Derived Column Transformation? <a href="http://sqlage.blogspot.com/2011/03/monthname-and-day-name-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p><br />46. How would you split single column data into multiple columns in SSIS Package? (<a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-use-findstring-function-in.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)</div>
<div class="MsoListParagraphCxSpLast" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
<br /></div>
<div class="MsoListParagraphCxSpLast" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
<h2 style="border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative; text-indent: 0px;">
Destinations</h2>
<h1 style="margin: 0px; position: relative; text-indent: 0px;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>What is Raw File Destination, where and why do we use it?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>What is the difference between OLE DB Destination and SQL Server Destination?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>What is Recordset Destination and where do we need use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>Can we redirect rows from OLE DB Destination? If yes, what are the important things need to remember while we configure that? ( <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-redirect-rows-from-ole-db.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>What does “Keep Identity”,”Keep Nulls”,”Table lock” and “Check Constraints” Check box means on OLE DB Destination? (<a href="http://sqlage.blogspot.com/2014/01/ssis-how-to-insert-data-into-sql-server.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>What is "Rows Per batch" and "Maximum Insert Commit Size" mean to you in OLE DB Destination? How do we use them and why do we need to change values from default values?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>If there is trigger on a table and we are loading data in that table by using SSIS, Access Mode properties is set to “ Table or View-fast Load” , Will trigger fire? If not, then which Mode(<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: 0px;">
Table or View,<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: 0px;">
Table or View-Fast Load,<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: 0px;">
Table Name or view name variable,<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: 0px;">
Table name or view name variable –fast load,<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="line-height: 18.2000007629395px; text-indent: 0px;">
SQL Command) can we choose to load data and Trigger get fire as well?<o:p></o:p><br />8. How would you create Fixed Width column Text file by using SSIS ? <a href="http://sqlage.blogspot.com/2014/09/ssis-how-to-create-fixed-width-columns.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><br /></div>
<h2 style="border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative; text-indent: 0px;">
Variables and Expressions</h2>
<h1 style="margin: 0px; position: relative; text-indent: 0px;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>What is variable in SSIS, what are data types available for variable?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>What is Scope of Variable? How can we change Scope of variable in SSIS 2008 and SSIS 2012? <a href="http://sqlage.blogspot.com/2013/07/ssis-2012-change-scope-of-variable.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>What are expressions in SSIS? Where and Why do we need to use them?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>Can we write expression on Variable? If yes, how and where can you write them? <a href="http://sqlage.blogspot.com/2011/03/monthname-and-day-name-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>Can we write expression on Connection Managers? If yes, where would you need to do that?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>What are System Variables in SSIS? Name few of them those you have used.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>Can we write expression on Precedence Constraint? if yes, how would you do it?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
8.<span style="font-size: 7pt;"> </span>What is the maximum length of expressions in SSIS 2008 and SSIS 2012? (<a href="http://sqlage.blogspot.com/2014/05/ssis-new-features-of-sql-server.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
9.<span style="font-size: 7pt;"> </span>What is new Expression Task in SSIS 2012? (<a href="http://sqlage.blogspot.com/2014/08/ssis-how-to-use-expression-task-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
10.<span style="font-size: 7pt;"> </span>What are Parameters in SSIS 2012? how are they different from Variables?<o:p></o:p><br />11. Can you create two variables with same in name in SSIS Package?</div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: 0px;">
<br /></div>
<div class="MsoListParagraphCxSpLast" style="line-height: 18.2000007629395px; text-indent: 0px;">
<br /></div>
<h2 style="border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative; text-indent: 0px;">
Logging</h2>
<h1 style="margin: 0px; position: relative; text-indent: 0px;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>What is logging in SSIS? How many types of logging available in SSIS? Which one have you used? <a href="http://sqlage.blogspot.com/2013/12/ssis-create-log-file-for-ssis-package.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>If you need to create a text type log file with timestamp, how would you do that? <a href="http://sqlage.blogspot.com/2013/12/ssis-create-log-file-for-ssis-package.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>If you use SQL Server Logging, which table will be used to store log information?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>What are the few column names that sysssislog have to store log information?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>Do you log all the events or prefer to choose few of them?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>Name few of Events you like to use in logging?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>What is custom Logging and how is it different from built in Logging?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
8.<span style="font-size: 7pt;"> </span>If you use timestamp in your text file logging, it creates multiple log files with each execution, how to avoid that and why single execution create more than one log file? <a href="http://sqlage.blogspot.com/2013/12/ssis-create-log-file-for-ssis-package.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
9.<span style="font-size: 7pt;"> </span>If we are using SQL Server Logging, how often the records get deleted from syssislog table? or do we have to create some purge process?<o:p></o:p><br />10- Junior ETL developer stops to your desk and asked your suggest or best practice which Logging type he/she should use? Explain which logging type in SSIS package you will suggest to him/her and why?<br />11- Why don't you suggest to use Windows Event Log in Production for SSIS Package?<br />12- Is it possible to have two types of logging e.g. text file logging and SQL Server Logging in same SSIS Package?<br />13-Explain different methods to make the log information created by SSIS Packages available to your developers?</div>
<div class="MsoNormal" style="line-height: 18.2000007629395px; text-indent: 0px;">
<br /></div>
<h2 style="border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative; text-indent: 0px;">
Configuration</h2>
<h1 style="margin: 0px; position: relative; text-indent: 0px;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>What is Configuration in SQL Server Integration Services(SSIS)?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>Why do we even need Configuration?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>What are configuration types available for us to use?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>What is the difference between Direct and Indirect Configuration?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>If we use SQL Server Configuration, what is table name created by configuration Wizard?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>How many columns configuration table do have? which one are important for us?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>For Indirect Configuration, do you create User variable or System variable to hold connection string?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
8.<span style="font-size: 7pt;"> </span>What is Parent Child Configuration and where do we need to use that?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
9.<span style="font-size: 7pt;"> </span>Explain the best practices for Integration Services Configuration.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
10.<span style="font-size: 7pt;"> </span>Let’s say we have SQL Server Connection Name ‘MyConnection’, For configuration which properties of Connection manager will you choose (Description,EvaluateAsExpression,Expression,IncludeInDebug,Name,NameSpace,RaiseChangedEvent,ReadOnly,Value) ?<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="line-height: 18.2000007629395px; text-indent: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: 18.2000007629395px; text-indent: 0px;">
<br /></div>
<h2 style="border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative; text-indent: 0px;">
Control Flow Task</h2>
<h1 style="margin: 0px; position: relative; text-indent: 0px;">
<o:p></o:p></h1>
<div class="MsoListParagraphCxSpFirst" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
1.<span style="font-size: 7pt;"> </span>What is Data Flow Task? ( <a href="http://sqlage.blogspot.com/2014/09/ssis-what-is-data-flow-task-in-ssis.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
2.<span style="font-size: 7pt;"> </span>If you need to run some SQL script( Stored Procedure, DML,DDL ). Which task will you use in Control Flow? <a href="http://sqlage.blogspot.com/2013/11/ssis-return-row-count-from-execute-sql.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
3.<span style="font-size: 7pt;"> </span>If you have created object type variable that you want to use in script task later, how will you load data into Object Type variable in Control flow? Which task will help? <a href="http://sqlage.blogspot.com/2013/12/ssis-create-excel-file-dynamically-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
4.<span style="font-size: 7pt;"> </span>If your database in Full Recovery mode, can you use Bulk Insert Task to load data? What are the requirements to use Bulk Insert Task?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
5.<span style="font-size: 7pt;"> </span>If your company is using Ftp site to receive daily data files, which task will you use to download/upload/Delete files on FTP Site? <a href="http://sqlage.blogspot.com/2013/07/ssis-how-to-use-ftp-task-download-file.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
6.<span style="font-size: 7pt;"> </span>What is the difference between Script task and Script component?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
7.<span style="font-size: 7pt;"> </span>What script languages are available for you to do scripting in Script task and script component?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
8.<span style="font-size: 7pt;"> </span>What is the difference between ReadOnlyVariables and ReadWriteVariable in Script task?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
9.<span style="font-size: 7pt;"> </span>Can you do debugging in Script task or Script component in SSIS 2012?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
10.<span style="font-size: 7pt;"> </span>You have create 5 packages, you want to call all of them in one package, which task can you use to call them?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
11.<span style="font-size: 7pt;"> </span>You have deployed your SSIS Package to Integration Services Server, Can you still call them in Parent Package?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
12.<span style="font-size: 7pt;"> </span>If you load set of big files, after each load you want to zip them and put them into archive folder. Which task would you need to use to Zip them? <a href="http://sqlage.blogspot.com/2013/12/ssis-how-to-compress-and-archive-file.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
13.<span style="font-size: 7pt;"> </span>Which task can you use to delete, rename, move files and folders?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
14.<span style="font-size: 7pt;"> </span>Can you rename and move file by using one task? which is that task and how will you do that? ( <a href="http://sqlage.blogspot.com/2013/12/ssis-archive-files-and-add-timestamp-to.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a> )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
15.<span style="font-size: 7pt;"> </span>If your data flow task fails in Control Flow, which task will you use to send email on Error? (<a href="http://sqlage.blogspot.com/2014/08/ssis-how-to-email-error-messages-from.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
16.<span style="font-size: 7pt;"> </span>Before you create your SSIS Package and load data into destination, you want to analyze your data, which task will help you to achieve that?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
17.<span style="font-size: 7pt;"> </span>What is WSDL and in which task you have to use it?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
18.<span style="font-size: 7pt;"> </span>You have loaded email addresses in Object type variable, now you want to send email to each of the address you have in Object type variable, which task will you use to loop through and send email one by one?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
19.<span style="font-size: 7pt;"> </span>There are 10 files in folder, we want to load them one by one, which tasks are required to perform this job?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
20.<span style="font-size: 7pt;"> </span>You have a lot of Tasks sitting in Control Flow task , you want to group them, which container can help you to achieve that?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
21.<span style="font-size: 7pt;"> </span>You got this assignment where you want to perform the same task 10 times, which loop will you use to do that?<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
22.<span style="font-size: 7pt;"> </span>Name few of the tasks those are available to create Maintenance plan or those can perform DBA tasks such as Create indexes, take backup etc.</div>
<div class="MsoListParagraphCxSpLast" style="line-height: 18.2000007629395px; text-indent: -0.25in;">
23.<span style="font-size: 7pt;"> </span>In Execute SQL Task, what is Result Set ( Single Row, Full Result Set,XML) ?<o:p></o:p><br />24. Which task would you use to execute dot batch files in SSIS (<a href="http://sqlage.blogspot.com/2014/01/ssis-how-to-execute-batch-file-by-using.html" style="color: #015782; text-decoration: none;" target="_blank">Answer</a>)<br />25. What type of Containers are available in SSIS Package? Explain two of them in detail.<br />26. You need to create a directory with Date in SSIS Package, Which Task would you use that? <a href="http://sqlage.blogspot.com/2014/10/ssis-how-to-create-folder-with-date-in.html" style="color: #015782; text-decoration: none;" target="_blank">(Answer)</a><br /><br /><h2 style="border-bottom-color: rgb(225, 95, 40); border-bottom-style: solid; border-bottom-width: 1px; font-family: 'Cherry Cream Soda'; font-size: 18px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative;">
Event Handlers</h2>
<div style="border-top-color: transparent; border-top-style: solid; border-top-width: 0px; padding-top: 8px;">
<ol>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">What are Event Handlers?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">What type of Tasks we can use in Event Handler pane?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">What is the relationship between Executable and Event Handler in Event Handler Pane?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">If your SSIS Package failed on any task, You want to send an email, how would you use the event handler to do this?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">You have multiple Tasks in your SSIS Package such as Task1,Task2 and Task 3. If Task 1 or Task 2 fails, You want to send an email to users but if Task 3 fails then you want to truncate all the tables which are loaded by your SSIS Package, How would you do that?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">We can run any tasks in Control Flow Task on Failure by using Precedence constraint. What are the advantages of using Event Handler over Precedence Constraint in Control Flow Task?</li>
<li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;">Name couple of Events which are available in Event Handler on which we can perform different actions.</li>
</ol>
</div>
</div>
</div>
<div class="MsoListParagraphCxSpLast" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-indent: -0.25in;">
<br /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com20tag:blogger.com,1999:blog-6205953902383299253.post-73947045958734946042014-11-14T10:22:00.003+05:302014-11-14T10:28:24.199+05:30Varaiables<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Variables – Data </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Types,
</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">scope,
Namespace and naming conventions.</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Variables – Debugging using Breakpoints</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">.</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Variables </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">– User & System </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Variables
</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">using
‘Package Configurations’.</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Variables </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">– Using .NET in </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">a
Script </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Task</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">.
(Control Flow)</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Variables – Using .NET in </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">a
Script Component. (Data Flow)</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Expressions </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">and
Dynamic </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">SSIS.</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Expressions - Operators</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">,
Functions, Literals and Casting</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">.</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Using </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">the </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Expressions </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">builder
and the Expression Tester </span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Application.</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0.35in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 20.0pt;"><span style="color: #da1f28; font-family: Wingdings; font-size: 60%; mso-color-index: 5; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">Common String</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">,
Numeric, NULL, Conditional and Date & Time examples</span><span style="font-family: 'Tw Cen MT'; font-size: 20pt;">.</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 20pt;"><br /></span>
<span style="font-family: 'Tw Cen MT'; font-size: 28pt; text-indent: -0.3in;">Variables:</span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">A
place holder for your values</span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">, used to store and pass values between
tasks and containers internally or between packages (child and parent </span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">packages.</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;"><br /></span>
<span style="font-family: 'Tw Cen MT'; font-size: 28pt; text-indent: -0.3in;">Expressions:</span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">An
expression is a combination of </span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">multiple </span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">operators and functions and </span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">could
reference </span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">multiple
columns </span><span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;">or
variables to yield a single data value.</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 24pt; text-indent: -0.25in;"><br /></span>
<span style="color: #464646; font-family: "Tw Cen MT"; font-size: 24.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: major-latin; mso-bidi-font-family: +mj-cs; mso-bidi-theme-font: major-bidi; mso-color-index: 3; mso-fareast-font-family: +mj-ea; mso-fareast-theme-font: major-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #464646; mso-style-textfill-fill-themecolor: text2; mso-style-textfill-type: solid;">Variables
– Scope , </span><span style="color: #464646; font-family: "Tw Cen MT"; font-size: 24.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: major-latin; mso-bidi-font-family: +mj-cs; mso-bidi-theme-font: major-bidi; mso-color-index: 3; mso-fareast-font-family: +mj-ea; mso-fareast-theme-font: major-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #464646; mso-style-textfill-fill-themecolor: text2; mso-style-textfill-type: solid;">NameSpace:</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 29pt; font-weight: bold; text-indent: 0in;">A way to organize your package and
limit your variables to a certain task using </span><span style="font-family: 'Tw Cen MT'; font-size: 32pt; font-weight: bold; text-indent: 0in;">Scopes</span><span style="font-family: 'Tw Cen MT'; font-size: 29pt; font-weight: bold; text-indent: 0in;">
or </span><span style="font-family: 'Tw Cen MT'; font-size: 32pt; font-weight: bold; text-indent: 0in;">NameSpaces</span><span style="font-family: 'Tw Cen MT'; font-size: 29pt; font-weight: bold; text-indent: 0in;">.</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 29pt; font-weight: bold; text-indent: 0in;"><br /></span>
<span style="color: red; font-family: 'Tw Cen MT'; font-size: 29pt; font-weight: bold; text-indent: 0in;">As variables’ names are unique, you
can have the same name across multiple ‘Scopes’ or ‘Name spaces’</span><br />
<span style="color: red; font-family: 'Tw Cen MT'; font-size: 29pt; font-weight: bold; text-indent: 0in;"><br /></span>
<span style="color: #464646; font-family: "Tw Cen MT"; font-size: 18.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: major-latin; mso-bidi-font-family: +mj-cs; mso-bidi-theme-font: major-bidi; mso-color-index: 3; mso-fareast-font-family: +mj-ea; mso-fareast-theme-font: major-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #464646; mso-style-textfill-fill-themecolor: text2; mso-style-textfill-type: solid;">Variables
– Package Configurations:</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 16pt; text-indent: -0.35in;">Read
& write to system and User variables using </span><span style="font-family: 'Tw Cen MT'; font-size: 14pt; font-weight: bold; text-indent: -0.35in;">‘</span><span style="font-family: 'Tw Cen MT'; font-size: 14pt; font-weight: bold; text-indent: -0.35in;">Package
</span><span style="font-family: 'Tw Cen MT'; font-size: 14pt; font-weight: bold; text-indent: -0.35in;">Configurations’</span><br />
<span style="font-family: 'Tw Cen MT'; font-size: 14pt; font-weight: bold; text-indent: -0.35in;"><br /></span>
<span style="color: #464646; font-family: "Tw Cen MT"; font-size: 18.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: major-latin; mso-bidi-font-family: +mj-cs; mso-bidi-theme-font: major-bidi; mso-color-index: 3; mso-fareast-font-family: +mj-ea; mso-fareast-theme-font: major-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #464646; mso-style-textfill-fill-themecolor: text2; mso-style-textfill-type: solid;">Variables
– Reading / Writing Using </span><span style="color: #464646; font-family: "Tw Cen MT"; font-size: 18.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: major-latin; mso-bidi-font-family: +mj-cs; mso-bidi-theme-font: major-bidi; mso-color-index: 3; mso-fareast-font-family: +mj-ea; mso-fareast-theme-font: major-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #464646; mso-style-textfill-fill-themecolor: text2; mso-style-textfill-type: solid;">.Net:</span><br />
<span style="color: #464646; font-family: "Tw Cen MT"; font-size: 18.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: major-latin; mso-bidi-font-family: +mj-cs; mso-bidi-theme-font: major-bidi; mso-color-index: 3; mso-fareast-font-family: +mj-ea; mso-fareast-theme-font: major-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #464646; mso-style-textfill-fill-themecolor: text2; mso-style-textfill-type: solid;"><br /></span>
<br />
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 7pt; text-indent: 0in; unicode-bidi: embed; word-break: normal;">
<span style="color: red; font-family: "Tw Cen MT"; font-size: 29.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: red; mso-style-textfill-type: solid;">Script Task (Control Flow)</span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 7pt; text-indent: 0in; unicode-bidi: embed; word-break: normal;">
<span style="color: red; font-family: "Tw Cen MT"; font-size: 29.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: red; mso-style-textfill-type: solid;">Script Component (Data Flow Task)</span><br />
<span style="color: red; font-family: "Tw Cen MT"; font-size: 29.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: red; mso-style-textfill-type: solid;"><br /></span>
<span style="color: red; font-family: "Tw Cen MT"; font-size: 29.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: red; mso-style-textfill-type: solid;">Expressions:</span><br />
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 0.7in; margin-top: 5.5pt; text-indent: -0.3in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 18.0pt;"><span style="color: #2da2bf; font-family: "Wingdings 2"; font-size: 70%; mso-color-index: 4; mso-special-format: bullet;">¤</span></span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">used
to </span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">assign
</span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">values
to variables, update or populate properties at run time, define constraints in
precedence constraints, and provide the expressions used by the For Loop
container</span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">.</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 0.7in; margin-top: 5.5pt; text-indent: -0.3in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 18.0pt;"><span style="color: #2da2bf; font-family: "Wingdings 2"; font-size: 70%; mso-color-index: 4; mso-special-format: bullet;">¤</span></span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">The
language is somehow similar to the curly braces languages (C++,C# or Java </span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">).</span></div>
<div class="O1" style="direction: ltr; margin-bottom: 0pt; margin-left: 0.7in; margin-top: 5.5pt; text-indent: -0.3in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 18.0pt;"><span style="color: #2da2bf; font-family: "Wingdings 2"; font-size: 70%; mso-color-index: 4; mso-special-format: bullet;">¤</span></span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">Almost
</span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">any
task in SSIS, if not all, </span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">can use </span><span style="font-family: 'Tw Cen MT'; font-size: 18pt;">expressions to make its properties
dynamic. </span></div>
<div class="O3" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.15in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 12.0pt;"><span style="color: #eb641b; font-family: Wingdings; font-size: 60%; mso-color-index: 6; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">“</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt; font-style: italic; font-weight: bold;">Execute
SQL Task</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">”
</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">dynamic
SQL </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">query.
</span></div>
<div class="O3" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.15in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 12.0pt;"><span style="color: #eb641b; font-family: Wingdings; font-size: 60%; mso-color-index: 6; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">“</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt; font-style: italic; font-weight: bold;">Derived
</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt; font-style: italic; font-weight: bold;">Column</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">”
validate </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">or
assign value to a </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">column.</span></div>
<div class="O3" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.15in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 12.0pt;"><span style="color: #eb641b; font-family: Wingdings; font-size: 60%; mso-color-index: 6; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">“</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt; font-style: italic; font-weight: bold;">Conditional
Split</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">”
</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">to
split </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">a
column based on a specific </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">condition.</span></div>
<span style="color: red; font-family: "Tw Cen MT"; font-size: 29.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: red; mso-style-textfill-type: solid;">
</span><br />
<div class="O3" style="direction: ltr; margin-bottom: 0pt; margin-left: 1.15in; margin-top: 7pt; text-indent: -0.35in; unicode-bidi: embed; word-break: normal;">
<span style="font-size: 12.0pt;"><span style="color: #eb641b; font-family: Wingdings; font-size: 60%; mso-color-index: 6; mso-special-format: bullet;">¨</span></span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">“</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt; font-weight: bold;">Precedence
</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt; font-weight: bold;">Constraints“</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;"> </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">direct
</span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">the
flow to a different route based </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">on a custom </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">condition
within the Control </span><span style="font-family: 'Tw Cen MT'; font-size: 12pt;">Flow.</span></div>
</div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 7pt; text-indent: 0in; unicode-bidi: embed; word-break: normal;">
<span style="color: red; font-family: "Tw Cen MT"; font-size: 29.0pt; language: en-US; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: red; mso-style-textfill-type: solid;"><br /></span></div>
</div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-71511372486873039872014-11-13T17:45:00.000+05:302014-11-13T17:45:31.466+05:30What is the variable value at runtime?<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="background-color: white; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; clear: both; color: #555555; font-family: Verdana, 'BitStream vera Sans'; font-size: 16px; letter-spacing: -0.05em; margin: 10px 0px 0px; padding: 0px 5px 3px;">
<a class="title" href="http://bisherryli.com/2014/01/29/ssis-116what-is-the-variable-value-at-runtime/" rel="bookmark" sl-processed="1" style="color: #4c4c4c; margin: 0px; padding: 0px; text-decoration: none;">SSIS #116–What is the variable value at runtime?</a></h2>
<h4 style="background-color: white; color: #008800; font-family: Arial; font-size: 16px; letter-spacing: -0.05em; line-height: 17.3999996185303px; margin: 0px 0px 10px; padding: 0px;">
5 different ways to set values for variables</h4>
<div style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
In general, we have the following 5 different ways to set values for variables. The question we need to ask is what is the order of precedence during runtime when we are using all these 5 different ways to set values for a variable.</div>
<ol style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin: 0px; padding: 0px 0px 10px;">To summarize, here are the values I set for the variable varCubeName using 5 different ways:
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Value</strong>: in the Variable Editor in the Value field</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Expression</strong>: in the Variable Editor in the Expression field</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Package Configuration</strong>: in the package configuration file</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name from Execute SQL Task</strong>: in the Execute SQL Task</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Script Task</strong>: in a scrip task</li>
</ol>
<div>
<h4 style="background-color: white; color: #008800; font-family: Arial; font-size: 16px; letter-spacing: -0.05em; line-height: 17.3999996185303px; margin: 0px 0px 10px; padding: 0px;">
Conclusion on the precedence order</h4>
<ol style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin: 0px; padding: 0px 0px 10px;">
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Expression</strong>: the value is set in the Variable Editor in the Expression field. The value set in this way has the <strong style="margin: 0px; padding: 0px;">highest precedence order</strong> and overwrites the values in all other ways.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name from Execute SQL Task</strong>: the value is set in the Execute SQL Task. It has the<strong style="margin: 0px; padding: 0px;">second highest precedence order</strong>. <strong style="margin: 0px; padding: 0px;">Cube Name in Script Task </strong>has the same precedence order.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Package Configuration</strong>: the value is set in the package configuration file. It can only overwrites the variable’s default value.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><strong style="margin: 0px; padding: 0px;">Cube Name in Value</strong>: the value is set in the Variable Editor in the Value field. This value is usually called the <strong style="margin: 0px; padding: 0px;">default value</strong>, because it can be overwritten by all the proceeding ways during runtime.</li>
</ol>
<div>
<h4 style="background-color: white; color: #008800; font-family: Arial; font-size: 16px; letter-spacing: -0.05em; line-height: 17.3999996185303px; margin: 0px 0px 10px; padding: 0px;">
Lessons learned</h4>
<div style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
During the SSIS package deployment, your DBA decided to include all the variables along with all the connection strings as the property/value pairs in the package configuration files, and somehow your packages are not working the way you had expected.</div>
<div style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
During development, your packages are not working the way you would expect and you decided to debug your variables and found out that the variable value at runtime was incorrect.</div>
<div style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
The above two scenarios happened to me in the past and they have inspired this blog.</div>
<div style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
The lessons I’ve learned are:</div>
<ul style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin: 0px; padding: 0px 0px 10px;">
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;">During deployment, do not include variables property/value pair in the package configuration file. Variables should only be handled in the SSIS packages.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;">If variable expression is sufficient, use variable expression only.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;">If you need to combine different ways to set variable values at runtime, only use these two combinations.</li>
</ul>
<ul style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin: 0px; padding: 0px 0px 10px;"><strong style="margin: 0px; padding: 0px;">Default value + Execute SQL Task</strong>, or</ul>
<div style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
</div>
<ul style="background-color: white; color: #555555; font-family: Verdana, 'BitStream vera Sans', Helvetica, sans-serif; font-size: 12px; line-height: 17.3999996185303px; margin: 0px; padding: 0px 0px 10px;"><strong style="margin: 0px; padding: 0px;">Default value + Script Task</strong><strong style="margin: 0px; padding: 0px;"><div>
<br /></div>
</strong><strong style="margin: 0px; padding: 0px;"><div>
Note:http://bisherryli.com/category/ssis-best-practices/</div>
</strong><strong style="margin: 0px; padding: 0px;"><div>
<br /></div>
</strong><strong style="margin: 0px; padding: 0px;"><div>
<h2 style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; clear: both; font-family: Verdana, 'BitStream vera Sans'; font-size: 16px; letter-spacing: -0.05em; line-height: normal; margin: 10px 0px 0px; padding: 0px 5px 3px;">
<a class="title" href="http://bisherryli.com/2012/09/26/ssis-114-how-many-ways-can-you-do-insert-update/" rel="bookmark" sl-processed="1" style="color: #4c4c4c; margin: 0px; padding: 0px; text-decoration: none;">SSIS #114 – How many ways can you do INSERT-UPDATE?</a></h2>
</div>
</strong><span style="margin: 0px; padding: 0px;"><div>
<div style="font-weight: normal; line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
I’ve always wanted to do a benchmark comparison so I can proudly say that my “normal” way is the best in terms of run time.</div>
<ol style="font-weight: normal; line-height: 17.3999996185303px; margin: 0px; padding: 0px 0px 10px;"><ol style="margin: 0px; padding: 0px 0px 10px;">
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><b style="margin: 0px; padding: 0px;"><span style="color: red; margin: 0px; padding: 0px;">STAGE-TSQL</span></b>: Use the data flow to bring the raw data into staging, and use do the INSERT-UPDATE in TSQL. This is my “normal” way. And the best way according to my testing. The name STAGE-TSQL implies: 1) two steps are involved, 2) raw data is staged first, 3) INSERT-UPDATE are done in TSQL only.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><b style="margin: 0px; padding: 0px;"><span style="color: red; margin: 0px; padding: 0px;">UPDATE-ALL</span></b>: Only one step is involved. INSERT-UPDATE is done in one data flow step. 1) Transformation OLE DB Command is used for UPDATE, 2) Destination OLE DB Destination is used for INSERT.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><b style="margin: 0px; padding: 0px;"><span style="color: red; margin: 0px; padding: 0px;">UPDATE-STAGE</span></b>: Two steps are involved. 1) INSERT is done in the data flow step, 2) but the matching rows are saved to a staging table, and UPDATE is done in TSQL using the matching rows.</li>
<li style="list-style-position: inside; margin: 0px; padding: 0px 0px 0px 20px;"><b style="margin: 0px; padding: 0px;"><span style="color: red; margin: 0px; padding: 0px;">UPDATE-DELTA</span></b>: similar to number 2 UPDATE-ALL. In stead of directly sending all matching rows to transformation OLE DB Command for UPDATE, the Script Component transformation is used to determine if there are actually changed rows. Send data to Transformation OLE DB Command only if there are changes in the matching rows.</li>
</ol>
<li><h4 style="color: #008800; font-family: Arial; font-size: 16px; letter-spacing: -0.05em; line-height: 17.3999996185303px; margin: 0px 0px 10px; padding: 0px;">
<strong style="margin: 0px; padding: 0px;">5. STAGE-TSQL is the winner!</strong></h4>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
It’s a relief knowing that our skills in TSQL are serving us well.</div>
</li>
</ol>
<div>
<h2 style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; clear: both; font-family: Verdana, 'BitStream vera Sans'; font-size: 16px; letter-spacing: -0.05em; line-height: normal; margin: 10px 0px 0px; padding: 0px 5px 3px;">
<a class="title" href="http://bisherryli.com/2012/07/31/ssis-111-looking-for-conditional-iif-in-ssis-expression/" rel="bookmark" sl-processed="1" style="color: #4c4c4c; margin: 0px; padding: 0px; text-decoration: none;">SSIS #111 – Looking for Conditional IIF() in SSIS Expression?</a></h2>
</div>
</div>
</span><span style="margin: 0px; padding: 0px;"><div>
<br /></div>
</span><span style="margin: 0px; padding: 0px;"><div>
<h4 style="color: #008800; font-family: Arial; font-size: 16px; letter-spacing: -0.05em; line-height: 17.3999996185303px; margin: 0px 0px 10px; padding: 0px;">
<strong style="margin: 0px; padding: 0px;">There is no IIF statement in SSIS scripting functions</strong></h4>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
If you are looking for IIF() for SSIS expressions, you’ll be disappointed.</div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
Most of us are familiar with the IIF statement in SSRS expressions (or in many other scripting languages).</div>
</div>
</span><span style="margin: 0px; padding: 0px;"><h4 style="color: #008800; font-family: Arial; font-size: 16px; letter-spacing: -0.05em; line-height: 17.3999996185303px; margin: 0px 0px 10px; padding: 0px;">
<strong style="margin: 0px; padding: 0px;">We can achieve IIF() using <span style="color: magenta; margin: 0px; padding: 0px;">(</span> Condition<span style="color: magenta; margin: 0px; padding: 0px;">?</span> Value_when_true <span style="color: magenta; margin: 0px; padding: 0px;">:</span> Value_when_false<span style="color: magenta; margin: 0px; padding: 0px;">)</span></strong></h4>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
There is a very good explanation for the missing IIF statement in SSIS. Before I go too far on this topic, I want to give you the good news first. The Integration Services did give us a tool to accomplish the same function as the IIF statement does, only in different disguise.</div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
Here is what we can use:</div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
<span style="font-size: medium; margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;"><span style="color: magenta; margin: 0px; padding: 0px;">(</span></strong> Condition<strong style="margin: 0px; padding: 0px;"><span style="color: magenta; margin: 0px; padding: 0px;">?</span></strong> Value_when_true <strong style="margin: 0px; padding: 0px;"><span style="color: magenta; margin: 0px; padding: 0px;">:</span></strong> Value_when_false<strong style="margin: 0px; padding: 0px;"><span style="color: magenta; margin: 0px; padding: 0px;">)</span></strong></span></div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
You can write any acceptable expression in the Condition part, but it’ll only make sense for the expression to include at least one variable in order to achieve the goal of dynamic as you set out to achieve with IIF in the first place.</div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
The value_when_true and value_when_false part can obviously include variables too.</div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
Here is an example. For a user variable varSourceServerPrefix, I want to set it to an alia name of the linked server in our development environment, but set it to blank in the production server.</div>
<div style="line-height: 17.3999996185303px; margin-bottom: 10px; padding: 0px;">
( @[User::varProduction] == 0? @[User::varLinkedServer] : "")</div>
</span><strong style="margin: 0px; padding: 0px;"><div>
<br /></div>
</strong></ul>
</div>
</div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com1tag:blogger.com,1999:blog-6205953902383299253.post-39312544601778727512014-11-13T16:31:00.004+05:302014-11-21T14:25:34.714+05:30SSIS Very Useful<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Very very useful for ssis internals@ http://www.citagus.com/citagus/blog/sql-server-integration-services-best-practices-part-i/<br />
<br />
control flow defines the tasks used in performing data management operations;<br />
it determines the order in which these tasks are executed and the conditions of their execution.<br />
<br />
Dataflow:is a special contral flow task used specifically in data movement operations and data transformations.<br />
<br />
Lineage columns:used for auditing and never exposed to end users<br />
<br />
<br />
implement Staging table and other objects in a sepearte dbase.<br />
<br />
Usage Staging table:temporarily store source data before cleansing it or merging it with data from other sources.<br />
<br />
staging table-->serve as intermediate layer (b/w DW and source tables) and then starts reqular ETL process.<br />
<br />
DSA:The part of a DW containing staging tables is called the data staging area(DSA).<br />
<br />
<br />
<br />
Implementing Fact Tables:It is not necessary that all foreign keys together uniquely identify each row of a fact table.<br />
<br />
inferred member:A row in a demension added during fact table load is called an inferred member<br />
<br />
You can add lineage information to your dimensions and fact tables to audit changes to your DW on a row level(summary)<br />
<br />
Tasks representing logical units of work can be grouped in containers.<br />
<br />
SSIS does not support receiving email messages.<br />
<br />
A failure constraint will allow the following task to begin if the preceding<br />
task has encountered errors and failed.<br />
<br />
The External Process tasks will be executed in sequence, and the process will continue, even if one or more of them fail.<br />
<br />
Use a Raw File destination if you have to temporarily store data to be used by SSIS<br />
later.<br />
■■ Use the Resolve References dialog box to solve mapping errors.<br />
<br />
Which data flow transformation would you use if had to combine data from two different<br />
database tables that exist on two different servers?<br />
<br />
<br />
Variables and expressions can also be used to extend the elementary functionality of<br />
precedence constraints based on information available at run time that usually is not<br />
available at design time.<br />
<br />
Lookup: more matching rows exist from the referenced dataset,only first one will be retreived<br />
Mergejoin:more rows will retreived,because all matching data is retreving<br />
<br />
The Merge transformation is similar to Union All, but with Merge, the sources have to be sorted and the sort position is preserved.<br />
<br />
Multicast(N):creates a logical copy of data.<br />
<br />
Is it possible to change the settings of an SSIS object at run time?<br />
<br />
When are property expressions evaluated as a package is running?<br />
<br />
Answer Unlike parameters that are read at the start of package execution, property expressions are updated when the property is accessed by the package during package execution.<br />
A property expression can change the value of a property in the middle of package execution, so that the new value is read when the property is needed by the package.<br />
<br />
<div class="MsoNormal">
Like:aggregate,sort transformation,Fuzzy Group,Fuzzy Lookup(Blocking)-->Remember which transformations are fully blocked and try to
use them only when absolutely<o:p></o:p></div>
<div class="MsoNormal">
Necessary, because they often require <b>more memory and processor capacity</b>. If you<o:p></o:p></div>
<div class="MsoNormal">
are aggregating or sorting a data source input that will not
fit into the server memory, the<o:p></o:p></div>
<br />
<div class="MsoNormal">
performance will degrade by a factor of 100, <b>because swapping to disk will occur</b>.<o:p></o:p></div>
<br />
<br /></div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com1tag:blogger.com,1999:blog-6205953902383299253.post-6826422769373123492014-11-13T10:50:00.001+05:302014-11-13T10:50:04.325+05:30 microsoftExam Implementing datawarehouse using ssis 2012<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold","sans-serif"; mso-bidi-font-family: Segoe-Bold;">Data Warehouse Logical Design<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold","sans-serif"; mso-bidi-font-family: Segoe-Bold;">Lesson 1: Introducing Star and Snowflake
Schemas. . . . . . . . . . . . . . . . . . . .<o:p></o:p></span></b></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
Star schema is the most common design for a DW.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
Snowflake schema is more appropriate for POC projects.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> You
should also determine the granularity of fact tables, as well as auditing and
lineage<o:p></o:p></div>
<div class="MsoNormal">
needs.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. Reporting from a Star schema is simpler than reporting
from a normalized online<o:p></o:p></div>
<div class="MsoNormal">
transactional processing (OLTP) schema. What are the reasons
for wanting simpler<o:p></o:p></div>
<div class="MsoNormal">
reporting? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. <b>A Star schema
typically has fewer tables than a normalized schema. Therefore,<o:p></o:p></b></div>
<div class="MsoNormal">
<b>queries are simpler
because they require fewer joins.<o:p></o:p></b></div>
<div class="MsoNormal">
B. A Star schema has better support for numeric data types
than a normalized relational<o:p></o:p></div>
<div class="MsoNormal">
schema; therefore, it is easier to create aggregates.<o:p></o:p></div>
<div class="MsoNormal">
C. There are specific Transact-SQL expressions that deal
with Star schemas.<o:p></o:p></div>
<div class="MsoNormal">
D<b>. A Star schema is
standardized and narrative; you can find the information you<o:p></o:p></b></div>
<div class="MsoNormal">
<b>need for a report
quickly.<o:p></o:p></b></div>
<div class="MsoNormal">
2. You are creating a quick POC project. Which schema is the
most suitable for this kind<o:p></o:p></div>
<div class="MsoNormal">
of a project?<o:p></o:p></div>
<div class="MsoNormal">
A. Star schema<o:p></o:p></div>
<div class="MsoNormal">
B. Normalized schema<o:p></o:p></div>
<div class="MsoNormal">
C. <b>Snowflake schema</b><o:p></o:p></div>
<div class="MsoNormal">
D. XML schema<o:p></o:p></div>
<div class="MsoNormal">
3. A Star schema has two types of tables. What are those two
types? (Choose all that<o:p></o:p></div>
<div class="MsoNormal">
apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Lookup tables<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Dimensions</b><o:p></o:p></div>
<div class="MsoNormal">
C. Measures<o:p></o:p></div>
<div class="MsoNormal">
D. <b>Fact tables</b><o:p></o:p></div>
<div class="MsoNormal">
<b>Lesson 2: Designing
Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17<o:p></o:p></b></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> In
a dimension, you have the following column types: keys, names, attributes,
member<o:p></o:p></div>
<div class="MsoNormal">
properties, translations, and lineage.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Some attributes form natural hierarchies.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
There are standard solutions for the Slowly Changing Dimensions (SCD) problem.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. You implement a Type 2 solution for an SCD problem for a
specific column. What do<o:p></o:p></div>
<div class="MsoNormal">
you actually do when you get a changed value for the column
from the source system?<o:p></o:p></div>
<div class="MsoNormal">
A. <b>Add a column for
the previous value to the table. Move the current value of the<o:p></o:p></b></div>
<div class="MsoNormal">
<b>updated column to the
new column. Update the current value with the new value<o:p></o:p></b></div>
<div class="MsoNormal">
<b>from the source
system.<o:p></o:p></b></div>
<div class="MsoNormal">
B. Insert a new row for the same dimension member with the
new value for the<o:p></o:p></div>
<div class="MsoNormal">
updated column. Use a surrogate key, because the business
key is now duplicated.<o:p></o:p></div>
<div class="MsoNormal">
Add a flag that denotes which row is current for a member.<o:p></o:p></div>
<div class="MsoNormal">
C. Do nothing, because in a DW, you maintain history, you do
not update dimension<o:p></o:p></div>
<div class="MsoNormal">
data.<o:p></o:p></div>
<div class="MsoNormal">
D. Update the value of the column just as it was updated in
the source system.<o:p></o:p></div>
<div class="MsoNormal">
2. Which kind of a column is not a part of a dimension?<o:p></o:p></div>
<div class="MsoNormal">
A. Attribute<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Measure</b><o:p></o:p></div>
<div class="MsoNormal">
C. Key<o:p></o:p></div>
<div class="MsoNormal">
D. Member property<o:p></o:p></div>
<div class="MsoNormal">
E. Name<o:p></o:p></div>
<div class="MsoNormal">
3. How can you spot natural hierarchies in a Snowflake
schema?<o:p></o:p></div>
<div class="MsoNormal">
A. You need to analyze the content of the attributes of each
dimension.<o:p></o:p></div>
<div class="MsoNormal">
B. Lookup tables for each dimension provide natural
hierarchies.<o:p></o:p></div>
<div class="MsoNormal">
C. A Snowflake schema does not support hierarchies.<o:p></o:p></div>
<div class="MsoNormal">
D. You should convert the Snowflake schema to the Star
schema, and then you would<o:p></o:p></div>
<div class="MsoNormal">
spot the natural hierarchies immediately.<o:p></o:p></div>
<div class="MsoNormal">
<b>Lesson 3: Designing
Fact Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 27<o:p></o:p></b></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Fact tables include measures, foreign keys, and possibly an additional primary
key and<o:p></o:p></div>
<div class="MsoNormal">
lineage columns.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Measures can be additive, non-additive, or semi-additive.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> For
many-to-many relationships, you can introduce an additional intermediate<o:p></o:p></div>
<div class="MsoNormal">
dimension.<o:p></o:p></div>
<div class="MsoNormal">
<b>34 Chapter 1 Data
Warehouse Logical Design<o:p></o:p></b></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. Over which dimension can you not use the SUM aggregate
function for semi-additive<o:p></o:p></div>
<div class="MsoNormal">
measures?<o:p></o:p></div>
<div class="MsoNormal">
A. Customer<o:p></o:p></div>
<div class="MsoNormal">
B. Product<o:p></o:p></div>
<div class="MsoNormal">
C. Date<o:p></o:p></div>
<div class="MsoNormal">
D. Employee<o:p></o:p></div>
<div class="MsoNormal">
2. Which measures would you expect to be non-additive?
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Price<o:p></o:p></div>
<div class="MsoNormal">
B. Debit<o:p></o:p></div>
<div class="MsoNormal">
C. SalesAmount<o:p></o:p></div>
<div class="MsoNormal">
D. DiscountPct<o:p></o:p></div>
<div class="MsoNormal">
E. UnitBalance<o:p></o:p></div>
<div class="MsoNormal">
3. Which kind of a column is not part of a fact table?<o:p></o:p></div>
<div class="MsoNormal">
A. Lineage<o:p></o:p></div>
<div class="MsoNormal">
B. Measure<o:p></o:p></div>
<div class="MsoNormal">
C. Key<o:p></o:p></div>
<div class="MsoNormal">
D. <b>Member property</b><o:p></o:p></div>
<div class="MsoNormal">
Case Scenarios<o:p></o:p></div>
<div class="MsoNormal">
In the following case scenarios, you apply what you’ve
learned about Star and Snowflake<o:p></o:p></div>
<div class="MsoNormal">
schemas, dimensions, and the additivity of measures. You can
find the answers to these questions<o:p></o:p></div>
<div class="MsoNormal">
in the “Answers” section at the end of this chapter.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1: A Quick POC Project<o:p></o:p></div>
<div class="MsoNormal">
You are hired to implement a quick POC data warehousing
project. You have to prepare the<o:p></o:p></div>
<div class="MsoNormal">
schema for sales data. Your customer’s SME would like to
analyze sales data over customers,<o:p></o:p></div>
<div class="MsoNormal">
products, and time. Before creating a DW and tables, you
need to make a couple of decisions<o:p></o:p></div>
<div class="MsoNormal">
and answer a couple of questions:<o:p></o:p></div>
<div class="MsoNormal">
Suggested Practices Chapter 1 35<o:p></o:p></div>
<div class="MsoNormal">
1. What kind of schema would you use?<o:p></o:p></div>
<div class="MsoNormal">
2. What would the dimensions of your schema be?<o:p></o:p></div>
<div class="MsoNormal">
3. Do you expect additive measures only?<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2: Extending the POC Project<o:p></o:p></div>
<div class="MsoNormal">
After you implemented the POC sales data warehouse in Case
Scenario 1, your customer<o:p></o:p></div>
<div class="MsoNormal">
was very satisfied. In fact, the business would like to
extend the project to a real, long-term<o:p></o:p></div>
<div class="MsoNormal">
data warehouse. However, when interviewing analysts, you
also discovered some points of<o:p></o:p></div>
<div class="MsoNormal">
dissatisfaction.<o:p></o:p></div>
<div class="MsoNormal">
Interviews<o:p></o:p></div>
<div class="MsoNormal">
Here’s a list of company personnel who expressed some
dissatisfaction during their interviews,<o:p></o:p></div>
<div class="MsoNormal">
along with their statements:<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Sales SME “I don’t
see correct aggregates over regions for historical data.”<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> DBA
Who Creates Reports “My queries are still complicated,
with many joins.”<o:p></o:p></div>
<div class="MsoNormal">
You need to solve these issues.<o:p></o:p></div>
<div class="MsoNormal">
Questions<o:p></o:p></div>
<div class="MsoNormal">
1. How would you address the Sales SME issue?<o:p></o:p></div>
<div class="MsoNormal">
2. What kind of schema would you implement for a long-term
DW?<o:p></o:p></div>
<div class="MsoNormal">
3. How would you address the DBA’s issue?<o:p></o:p></div>
<div class="MsoNormal">
Suggested Practices<o:p></o:p></div>
<div class="MsoNormal">
To help you successfully master the exam objectives
presented in this chapter, complete the<o:p></o:p></div>
<div class="MsoNormal">
following tasks.<o:p></o:p></div>
<div class="MsoNormal">
Analyze the AdventureWorksDW2012 Database<o:p></o:p></div>
<div class="MsoNormal">
Thoroughly<o:p></o:p></div>
<div class="MsoNormal">
To understand all kind of dimensions and fact tables, you
should analyze the Adventure-<o:p></o:p></div>
<div class="MsoNormal">
WorksDW2012 sample database thoroughly. There are cases for
many data warehousing<o:p></o:p></div>
<div class="MsoNormal">
problems you might encounter.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 1 Check all fact tables. Find all semi-additive measures.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Practice
2 Find all hierarchies possible for the DimCustomer dimension. Include<o:p></o:p></div>
<div class="MsoNormal">
attributes in the dimension and attributes in the lookup
DimGeography table.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
36 Chapter 1 Data Warehouse Logical Design<o:p></o:p></div>
<div class="MsoNormal">
Check the SCD and Lineage in the AdventureWorksDW2012 Database<o:p></o:p></div>
<div class="MsoNormal">
Although the AdventureWorksDW2012 database exemplifies many
cases for data warehousing,<o:p></o:p></div>
<div class="MsoNormal">
not all possible problems are covered. You should check for
what is missing.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 1 Is there room for lineage information in all dimensions and fact
tables?<o:p></o:p></div>
<div class="MsoNormal">
How would you accommodate this information?<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 2 Are there some important dimensions, such as those representing
customers<o:p></o:p></div>
<div class="MsoNormal">
and products, that are not prepared for a Type 2 SCD
solution? How would you<o:p></o:p></div>
<div class="MsoNormal">
prepare those dimensions for a Type 2 SCD solution?<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers Chapter 1 37<o:p></o:p></div>
<div class="MsoNormal">
Answers<o:p></o:p></div>
<div class="MsoNormal">
This section contains answers to the lesson review questions
and solutions to the case scenarios<o:p></o:p></div>
<div class="MsoNormal">
in this chapter.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 1<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: A and D<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: A Star schema typically has fewer tables than a normalized
schema.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: The support for data types depends on the
database management<o:p></o:p></div>
<div class="MsoNormal">
system, not on the schema.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: There are no specific Transact-SQL expressions
or commands for Star<o:p></o:p></div>
<div class="MsoNormal">
schemas. However, there are some specific optimizations for
Star schema queries.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: The Star schema is a de facto standard for data
warehouses. It is narrative;<o:p></o:p></div>
<div class="MsoNormal">
the central table—the fact table—holds the measures, and the
surrounding tables,<o:p></o:p></div>
<div class="MsoNormal">
the dimensions, give context to those measures.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: The Star schema is more suitable for long-term
DW projects.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: A normalized schema is appropriate for OLTP
LOB applications.<o:p></o:p></div>
<div class="MsoNormal">
C. <b>Correct: A
Snowflake schema is appropriate for POC projects, because dimensions<o:p></o:p></b></div>
<div class="MsoNormal">
<b>are normalized and
thus closer to source normalized schema.<o:p></o:p></b></div>
<div class="MsoNormal">
D. Incorrect: An XML schema is used for validating XML
documents, not for a DW.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Lookup tables are involved in both Snowflake
and normalized schemas.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: Dimensions are part of a Star schema.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Measures are columns in a fact table, not
tables by themselves.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: A fact table is the central table of a Star
schema.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 2<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answer: B<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: This is Type 3 SCD management.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: This is how you handle changes when you
implement a Type 2 SCD<o:p></o:p></div>
<div class="MsoNormal">
solution.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Maintaining history does not mean that the
content of a DW is static.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: This is Type 1 SCD management.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
38 Chapter 1 Data Warehouse Logical Design<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answer: B<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Attributes are part of dimensions.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: Measures are part of fact tables.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Keys are part of dimensions.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: Member properties are part of dimensions.<o:p></o:p></div>
<div class="MsoNormal">
E. Incorrect: Name columns are part of dimensions.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: B<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: You need to analyze the attribute names and
content in order to spot<o:p></o:p></div>
<div class="MsoNormal">
the hierarchies in a Star schema.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct<b>: Lookup
tables for dimensions denote natural hierarchies in a Snowflake<o:p></o:p></b></div>
<div class="MsoNormal">
<b>schema.<o:p></o:p></b></div>
<div class="MsoNormal">
C. Incorrect: A Snowflake schema supports hierarchies.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: You do not need to convert a Snowflake to a
Star schema to spot the<o:p></o:p></div>
<div class="MsoNormal">
hierarchies.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 3<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: You can use SUM aggregate functions for
semi-additive measures over<o:p></o:p></div>
<div class="MsoNormal">
the Customer dimension.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: You can use SUM aggregate functions for
semi-additive measures over<o:p></o:p></div>
<div class="MsoNormal">
the Product dimension.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: You cannot use SUM aggregate functions for
semi-additive measures<o:p></o:p></div>
<div class="MsoNormal">
over the Date dimension.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: You can use SUM aggregate functions for
semi-additive measures over<o:p></o:p></div>
<div class="MsoNormal">
the Employee dimension.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: A and D<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: Prices are not additive measures.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: Debit is an additive measure.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Amounts are additive measures.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: Discount percentages are not additive measures.<o:p></o:p></div>
<div class="MsoNormal">
E. Incorrect: Balances are semi-additive measures.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers Chapter 1 39<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Lineage columns can be part of a fact table.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: Measures are included in a fact table.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: A fact table includes key columns.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct0: Member property is a type of column in a
dimension.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1<o:p></o:p></div>
<div class="MsoNormal">
1. For a quick POC project, you should use the Snowflake
schema.<o:p></o:p></div>
<div class="MsoNormal">
2. You would have customer, product, and date dimensions.<o:p></o:p></div>
<div class="MsoNormal">
3. No, you should expect some non-additive measures as well.
For example, prices and<o:p></o:p></div>
<div class="MsoNormal">
various percentages, such as discount percentage, are
non-additive.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2<o:p></o:p></div>
<div class="MsoNormal">
1. You should implement a Type 2 solution for the slowly
changing customer dimension.<o:p></o:p></div>
<div class="MsoNormal">
2. For a long-term DW, you should choose a Star schema.<o:p></o:p></div>
<div class="MsoNormal">
3. With Star schema design, you would address the DBA’s
issue automatically.<o:p></o:p></div>
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold","sans-serif"; mso-bidi-font-family: Segoe-Bold;">Implementing a Data Warehouse<o:p></o:p></span></b></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
<b>Lesson 1:
Implementing Dimensions and Fact Tables<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> In
this lesson, you learned about implementing a data warehouse.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> For
a data warehouse database, you should use the <b>Simple recovery model.</b><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
When creating a database, allocate enough space for data files and log files to
prevent<o:p></o:p></div>
<div class="MsoNormal">
autogrowth of the files.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Use
surrogate keys in dimensions in which you expect SCD Type 2 changes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Use
computed columns.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. Which database objects and object properties can you use
for autonumbering?<o:p></o:p></div>
<div class="MsoNormal">
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. IDENTITY property<o:p></o:p></div>
<div class="MsoNormal">
B. SEQUENCE object<o:p></o:p></div>
<div class="MsoNormal">
C. PRIMARY KEY constraint<o:p></o:p></div>
<div class="MsoNormal">
D. CHECK constraint<o:p></o:p></div>
<div class="MsoNormal">
2. What columns do you add to a table to support Type 2 SCD
changes? (Choose all that<o:p></o:p></div>
<div class="MsoNormal">
apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Member properties<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Current row flag</b><o:p></o:p></div>
<div class="MsoNormal">
C. Lineage columns<o:p></o:p></div>
<div class="MsoNormal">
D. <b>Surrogate key</b><o:p></o:p></div>
<div class="MsoNormal">
3. What is an inferred member?<o:p></o:p></div>
<div class="MsoNormal">
A. A row in a fact table added during dimension load<o:p></o:p></div>
<div class="MsoNormal">
B. A row with aggregated values<o:p></o:p></div>
<div class="MsoNormal">
C. <b>A row in a
dimension added during fact table load</b><o:p></o:p></div>
<div class="MsoNormal">
D. A computed column in a fact table<o:p></o:p></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
<b><span style="font-family: "Arial","sans-serif";">Lesson 2: Managing the Performance of
a Data Warehouse<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> In
this lesson, you learned how to optimize data warehouse query performance.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> In
a DW, you should not use many nonclustered indexes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Use
small, integer surrogate columns for clustered primary keys.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Use
indexed views.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Use
columnstore indexes and exploit batch processing.<o:p></o:p></div>
<div class="MsoNormal">
<b>Chapter 2
Implementing a Data Warehouse<o:p></o:p></b></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
1. Which types of data compression are supported by SQL
Server? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Bitmap<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Unicode<o:p></o:p></b></div>
<div class="MsoNormal">
<b>C. Row<o:p></o:p></b></div>
<div class="MsoNormal">
<b>D. Page<o:p></o:p></b></div>
<div class="MsoNormal">
2. Which operators can benefit from batch processing?
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Hash Join<o:p></o:p></div>
<div class="MsoNormal">
B. <b>Merge Join</b><o:p></o:p></div>
<div class="MsoNormal">
C. Scan<o:p></o:p></div>
<div class="MsoNormal">
D. <b>Nested Loops Join</b><o:p></o:p></div>
<div class="MsoNormal">
E. Filter<o:p></o:p></div>
<div class="MsoNormal">
3. Why would you use indexed views? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. To speed up queries that aggregate data<o:p></o:p></div>
<div class="MsoNormal">
B. To speed up data load<o:p></o:p></div>
<div class="MsoNormal">
C. To speed up selective queries<o:p></o:p></div>
<div class="MsoNormal">
D. To speed up queries that involve multiple joins<o:p></o:p></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
<b>Lesson 3: Loading and
Auditing Loads<o:p></o:p></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Table partitioning is extremely useful for large fact tables with columnstore
indexes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Partition switch is a metadata operation only if an index is aligned with its
base table.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> You
can add lineage information to your dimensions and fact tables to audit changes<o:p></o:p></div>
<div class="MsoNormal">
to your DW on a row level.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. The database object that maps partitions of a table to
filegroups is called a(n)<o:p></o:p></div>
<div class="MsoNormal">
A. Aligned index<o:p></o:p></div>
<div class="MsoNormal">
B. Partition function<o:p></o:p></div>
<div class="MsoNormal">
C. Partition column<o:p></o:p></div>
<div class="MsoNormal">
D. Partition scheme<o:p></o:p></div>
<div class="MsoNormal">
2. If you want to switch content from a nonpartitioned table
to a partition of a partitioned<o:p></o:p></div>
<div class="MsoNormal">
table, what conditions must the nonpartitioned table meet?
(Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. It must have the same constraints as the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
B. It must have the same compression as the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
C. It must be in a special PartitionedTables schema.<o:p></o:p></div>
<div class="MsoNormal">
D. It must have a check constraint on the partitioning
column that guarantees that all<o:p></o:p></div>
<div class="MsoNormal">
of the data goes to exactly one partition of the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
E. It must have the same indexes as the partitioned table.<o:p></o:p></div>
<div class="MsoNormal">
3. Which of the following T-SQL functions is not very useful
for capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information?<o:p></o:p></div>
<div class="MsoNormal">
A. APP_NAME()<o:p></o:p></div>
<div class="MsoNormal">
B. USER_NAME()<o:p></o:p></div>
<div class="MsoNormal">
C. DEVICE_STATUS()<o:p></o:p></div>
<div class="MsoNormal">
D. SUSER_SNAME()<o:p></o:p></div>
<div class="MsoNormal">
Case Scenarios<o:p></o:p></div>
<div class="MsoNormal">
In the following case scenarios, you apply what you’ve
learned about optimized querying and<o:p></o:p></div>
<div class="MsoNormal">
securing a data warehouse. You can find the answers to these
questions in the “Answers” section<o:p></o:p></div>
<div class="MsoNormal">
at the end of this chapter.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Suggested Practices Chapter 2 79<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1: Slow DW Reports<o:p></o:p></div>
<div class="MsoNormal">
You have created a data warehouse and populated it. End
users have started using it for<o:p></o:p></div>
<div class="MsoNormal">
reports. However, they have also begun to complain about the
performance of the reports.<o:p></o:p></div>
<div class="MsoNormal">
Some of the very slow reports calculate running totals. You
need to answer the following<o:p></o:p></div>
<div class="MsoNormal">
questions.<o:p></o:p></div>
<div class="MsoNormal">
1. What changes can you implement in your DW to speed up the
reports?<o:p></o:p></div>
<div class="MsoNormal">
2. Does it make sense to check the source queries of the
reports with running totals?<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2: DW Administration Problems<o:p></o:p></div>
<div class="MsoNormal">
Your end users are happy with the DW reporting performance.
However, when talking with<o:p></o:p></div>
<div class="MsoNormal">
a DBA, you were notified of potential problems. The DW
transaction log grows by more than<o:p></o:p></div>
<div class="MsoNormal">
10 GB per night. In addition, end users have started to
create reports from staging tables, and<o:p></o:p></div>
<div class="MsoNormal">
these reports show messy data. End users complain to the DBA
that they cannot trust your<o:p></o:p></div>
<div class="MsoNormal">
DW if they get such messy data in a report.<o:p></o:p></div>
<div class="MsoNormal">
1. How can you address the runaway log problem?<o:p></o:p></div>
<div class="MsoNormal">
2. What can you do to prevent end users from using the
staging tables?<o:p></o:p></div>
<div class="MsoNormal">
Suggested Practices<o:p></o:p></div>
<div class="MsoNormal">
To help you successfully master the exam objectives
presented in this chapter, complete the<o:p></o:p></div>
<div class="MsoNormal">
following tasks.<o:p></o:p></div>
<div class="MsoNormal">
Test Different Indexing Methods<o:p></o:p></div>
<div class="MsoNormal">
For some queries, indexed views could be the best performance
booster. For other queries,<o:p></o:p></div>
<div class="MsoNormal">
columnstore indexes could be more appropriate. Still other
queries would benefit from nonclustered<o:p></o:p></div>
<div class="MsoNormal">
indexes on foreign keys.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 1 Write an aggregate query for Internet sales in the
AdventureWorkDW2012<o:p></o:p></div>
<div class="MsoNormal">
sample database. Create an appropriate indexed view and run
the aggregate query.<o:p></o:p></div>
<div class="MsoNormal">
Check the statistics IO and execution plan.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 2 Drop the indexed view and create a columnstore index. Run the query<o:p></o:p></div>
<div class="MsoNormal">
and check the statistics IO and execution plan again.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 3 Drop the columnstore index and create nonclustered indexes on all
foreign<o:p></o:p></div>
<div class="MsoNormal">
keys of the fact table included in joins. Run the query and
check the statistics IO<o:p></o:p></div>
<div class="MsoNormal">
and execution plan again.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 4 In the DimCustomer dimension of the AdventureWorksDW2012 sample<o:p></o:p></div>
<div class="MsoNormal">
database, there is a Suffix column. It is NULL for all rows
but three. Create a filtered nonclustered<o:p></o:p></div>
<div class="MsoNormal">
index on this column and test queries that read data from
the DimCustomer<o:p></o:p></div>
<div class="MsoNormal">
dimension using different filters. Check how the query
performs when Suffix is NULL<o:p></o:p></div>
<div class="MsoNormal">
and when Suffix is known (is not NULL).<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
80 Chapter 2 Implementing a Data Warehouse<o:p></o:p></div>
<div class="MsoNormal">
Test Table Partitioning<o:p></o:p></div>
<div class="MsoNormal">
In order to understand table partitioning thoroughly, you
should test it with aligned and<o:p></o:p></div>
<div class="MsoNormal">
nonaligned indexes.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 1 Partition the FactInternetSales table in the AdventureWorkDW2012
sample<o:p></o:p></div>
<div class="MsoNormal">
database. Create aligned nonclustered indexes on all foreign
keys of the fact table<o:p></o:p></div>
<div class="MsoNormal">
included in joins of the query from the previous practice.
Run the query and check the<o:p></o:p></div>
<div class="MsoNormal">
execution plan.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 2 Create nonaligned nonclustered indexes on all foreign keys of the
fact<o:p></o:p></div>
<div class="MsoNormal">
table included in joins of the query from the previous
practice. Run the query and<o:p></o:p></div>
<div class="MsoNormal">
check the execution plan again.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers Chapter 2 81<o:p></o:p></div>
<div class="MsoNormal">
Answers<o:p></o:p></div>
<div class="MsoNormal">
This section contains answers to the lesson review questions
and solutions to the case scenarios<o:p></o:p></div>
<div class="MsoNormal">
in this chapter.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 1<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: A and B<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: The IDENTITY property autonumbers rows.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: You can use the new SQL Server 2012 SEQUENCE
object for<o:p></o:p></div>
<div class="MsoNormal">
autonumbering.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Primary keys are used to uniquely identify
rows, not for<o:p></o:p></div>
<div class="MsoNormal">
autonumbering.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: Check constraints are used to enforce data
integrity, not for<o:p></o:p></div>
<div class="MsoNormal">
autonumbering.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Member properties are dimension columns used
for additional information<o:p></o:p></div>
<div class="MsoNormal">
on reports only.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: You need a current flag for denoting the current
row when you implement<o:p></o:p></div>
<div class="MsoNormal">
Type 2 SCD changes.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Lineage columns are used, as their name
states, to track the lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: You need a new, surrogate key when you implement
Type 2 SCD changes.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: You do not add rows to a fact table during
dimension load.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: You do not create rows with aggregated values.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: A row in a dimension added during fact table
load is called an inferred<o:p></o:p></div>
<div class="MsoNormal">
member.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: A computed column is just a computed column,
not an inferred member.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 2<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: B, C, and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: SQL Server does not support bitmap
compression.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: SQL Server supports Unicode compression. It is
applied automatically<o:p></o:p></div>
<div class="MsoNormal">
when you use either row or page compression.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: SQL Server supports row compression.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: SQL Server supports page compression.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
82 Chapter 2 Implementing a Data Warehouse<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: A, C, and E<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: Hash joins can use batch processing.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: Merge joins do not use batch processing.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: Scan operators can benefit from batch
processing.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: Nested loops joins do not use batch
processing.<o:p></o:p></div>
<div class="MsoNormal">
E. Correct: Filter operators use batch processing as well.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answers: A and D<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: Indexed views are especially useful for speeding
up queries that aggregate<o:p></o:p></div>
<div class="MsoNormal">
data.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: As with any indexes, indexed views only slow
down data load.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: For selective queries, nonclustered indexes
are more appropriate.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: Indexed views can also speed up queries that
perform multiple joins.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 3<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answer: D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Aligned indexes are indexes with the same
partitioning as their base<o:p></o:p></div>
<div class="MsoNormal">
table.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: The partition function does logical
partitioning.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: The partition column is the column used for
partitioning.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: The partition scheme does physical partitioning.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: A, B, D, and E<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: It must have the same constraints as the
partitioned table.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: It must have the same compression as the
partitioned table.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: There is no special schema for partitioned
tables.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: It must have a check constraint to guarantee
that all data goes to a single<o:p></o:p></div>
<div class="MsoNormal">
partition.<o:p></o:p></div>
<div class="MsoNormal">
E. Correct: It must have the same indexes as the partitioned
table.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: The APP_NAME() function can be useful for
capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: The USER_NAME() function can be useful for
capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: There is no DEVICE_STATUS() function in T-SQL.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: The SUSER_SNAME() function can be useful for
capturing lineage<o:p></o:p></div>
<div class="MsoNormal">
information.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers Chapter 2 83<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1<o:p></o:p></div>
<div class="MsoNormal">
1. You should consider using columnstore indexes, indexed
views, data compression, and<o:p></o:p></div>
<div class="MsoNormal">
table partitioning.<o:p></o:p></div>
<div class="MsoNormal">
2. Yes, it is definitely worth checking the queries of the
running totals reports. The queries<o:p></o:p></div>
<div class="MsoNormal">
probably use joins or subqueries to calculate the running
totals. Consider using<o:p></o:p></div>
<div class="MsoNormal">
window functions for these calculations.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2<o:p></o:p></div>
<div class="MsoNormal">
1. You should check the DW database recovery model and
change it to Simple. In addition,<o:p></o:p></div>
<div class="MsoNormal">
you could use the DBCC SHRINKFILE command to shrink the transaction
log to a<o:p></o:p></div>
<div class="MsoNormal">
reasonable size.<o:p></o:p></div>
<div class="MsoNormal">
2. End users apparently have permissions, at least the
SELECT permission, on the staging<o:p></o:p></div>
<div class="MsoNormal">
tables. Advise the DBA to revoke permissions from end users
on staging tables. In<o:p></o:p></div>
<div class="MsoNormal">
addition, to speed up the security administration, you
should put all staging tables in a<o:p></o:p></div>
<div class="MsoNormal">
separate schema, thus allowing the DBA to administer them as
a group<o:p></o:p></div>
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold","sans-serif"; mso-bidi-font-family: Segoe-Bold;">Chapter 3 Creating SSIS Packages<o:p></o:p></span></b></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
Lesson 1: Using the SQL Server Import and Export Wizard<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
SQL Server Import and Export Wizard can be used for simple data movement<o:p></o:p></div>
<div class="MsoNormal">
operations.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
wizard allows you to create the destination database.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Multiple objects can be transferred in the same operation.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> If
the destination objects do not already exist, they can be created by the
process.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
SSIS package created by the wizard can be saved and reused.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. You need to move data from a production database into a
testing database. You need<o:p></o:p></div>
<div class="MsoNormal">
to extract the data from several objects in the source
database, but your manager<o:p></o:p></div>
<div class="MsoNormal">
has asked you to only copy about 10 percent of the rows from
the largest production<o:p></o:p></div>
<div class="MsoNormal">
tables. The testing database already exists, but without any
tables. How would you approach<o:p></o:p></div>
<div class="MsoNormal">
this task?<o:p></o:p></div>
<div class="MsoNormal">
A. Use the Import and Export Wizard, copy all tables from
the source database to the<o:p></o:p></div>
<div class="MsoNormal">
empty destination database, and delete the excess rows from
the largest tables.<o:p></o:p></div>
<div class="MsoNormal">
B. Use the Import and Export Wizard multiple times—once for
all the smaller tables,<o:p></o:p></div>
<div class="MsoNormal">
and once for each large table, using the Write A Query To
Specify The Data To<o:p></o:p></div>
<div class="MsoNormal">
Transfer option to restrict the rows.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
100 CHAPTER 3 Creating SSIS Packages<o:p></o:p></div>
<div class="MsoNormal">
C. Use the Import and Export Wizard, copy all tables from
the source database to the<o:p></o:p></div>
<div class="MsoNormal">
empty destination database, and restrict the number of rows
for each large table<o:p></o:p></div>
<div class="MsoNormal">
by using the Edit SQL option in the Column Mappings window.<o:p></o:p></div>
<div class="MsoNormal">
D. Use the Import and Export Wizard, configure it to copy
all tables from the source<o:p></o:p></div>
<div class="MsoNormal">
database to the empty destination database, save the SSIS
package, and then,<o:p></o:p></div>
<div class="MsoNormal">
before executing it, edit it by using SSDT to restrict the
number of rows extracted<o:p></o:p></div>
<div class="MsoNormal">
from the large tables.<o:p></o:p></div>
<div class="MsoNormal">
2. You need to move data from an operational database into a
data warehouse for the<o:p></o:p></div>
<div class="MsoNormal">
very first time. The data warehouse has already been set up,
and it already contains<o:p></o:p></div>
<div class="MsoNormal">
some reference data. You have just finished preparing views
in the operational database<o:p></o:p></div>
<div class="MsoNormal">
that correspond to the dimension and fact tables of the data
warehouse. How<o:p></o:p></div>
<div class="MsoNormal">
would you approach this task?<o:p></o:p></div>
<div class="MsoNormal">
A. Use the Import and Export Wizard and copy data from the
dimension and fact<o:p></o:p></div>
<div class="MsoNormal">
views in the operational database into the tables in the
data warehouse, by using<o:p></o:p></div>
<div class="MsoNormal">
the Drop And Re-create The Destination Table option in the
Column Mappings<o:p></o:p></div>
<div class="MsoNormal">
window for every non-empty destination table.<o:p></o:p></div>
<div class="MsoNormal">
B. Use the Import and Export Wizard, configure it to copy
data from the dimension<o:p></o:p></div>
<div class="MsoNormal">
and fact views in the operational database into the tables
in the data warehouse,<o:p></o:p></div>
<div class="MsoNormal">
save the SSIS package, and then edit it by using SSDT to add
appropriate data<o:p></o:p></div>
<div class="MsoNormal">
merging functionalities for all destination tables.<o:p></o:p></div>
<div class="MsoNormal">
C. Use the Import and Export Wizard and copy data from the
dimension and fact<o:p></o:p></div>
<div class="MsoNormal">
views in the operational database into the tables in the
data warehouse, by using<o:p></o:p></div>
<div class="MsoNormal">
the Merge Data Into The Destination Table option in the
Column Mappings window<o:p></o:p></div>
<div class="MsoNormal">
for every non-empty destination table.<o:p></o:p></div>
<div class="MsoNormal">
D. Use SSDT instead of the Import and Export Wizard, because
the wizard lacks appropriate<o:p></o:p></div>
<div class="MsoNormal">
data transformation and merging capabilities.<o:p></o:p></div>
<div class="MsoNormal">
3. When SSIS packages are saved to DTSX files, what format
is used to store the SSIS<o:p></o:p></div>
<div class="MsoNormal">
package definitions?<o:p></o:p></div>
<div class="MsoNormal">
A. They are stored as binary files.<o:p></o:p></div>
<div class="MsoNormal">
B. They are stored as plain text files.<o:p></o:p></div>
<div class="MsoNormal">
C. They are stored as XML files.<o:p></o:p></div>
<div class="MsoNormal">
D. They are stored as special Microsoft Word documents.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
Lesson 2: Developing SSIS Packages in SSDT. . . . . . . . .
. . . . . . . . . . . . . . . 101<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
SSIS projects are developed by using SSDT, a specialized version of Visual
Studio.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
SSDT provides the complete integrated development environment (IDE) required
for<o:p></o:p></div>
<div class="MsoNormal">
efficient development of SSIS packages.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
SSIS toolbox is context-aware and will either allow you access to control flow
tasks<o:p></o:p></div>
<div class="MsoNormal">
or data flow components, depending on whether you are
designing the control flow or<o:p></o:p></div>
<div class="MsoNormal">
the data flow.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
108 CHAPTER 3 Creating SSIS Packages<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. Which statements best describe SQL Server Development
Tools (SSDT)? (Choose all<o:p></o:p></div>
<div class="MsoNormal">
that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. SSDT is an extension of the SQL Server Management Studio
that can be used to<o:p></o:p></div>
<div class="MsoNormal">
create SSIS packages by means of a special wizard.<o:p></o:p></div>
<div class="MsoNormal">
B. SSDT is a special edition of the SQL Server Management
Studio, designed to provide<o:p></o:p></div>
<div class="MsoNormal">
an improved user experience to developers who are not
particularly familiar<o:p></o:p></div>
<div class="MsoNormal">
with database administration.<o:p></o:p></div>
<div class="MsoNormal">
C. SSDT is a special edition of Visual Studio, distributed
with SQL Server 2012, providing<o:p></o:p></div>
<div class="MsoNormal">
a rich database development tool set.<o:p></o:p></div>
<div class="MsoNormal">
D. SSDT is a new service in SQL Server 2012 that can be used
to perform SQL Server<o:p></o:p></div>
<div class="MsoNormal">
maintenance tasks, such as data movements and similar data
management processes.<o:p></o:p></div>
<div class="MsoNormal">
2. Which of the following statements about simple and
complex data movements are<o:p></o:p></div>
<div class="MsoNormal">
true? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. Simple data movements only have a single data source and
a single data<o:p></o:p></div>
<div class="MsoNormal">
destination.<o:p></o:p></div>
<div class="MsoNormal">
B. Complex data movements require data to be transformed
before it can be stored<o:p></o:p></div>
<div class="MsoNormal">
at the destination.<o:p></o:p></div>
<div class="MsoNormal">
C. In simple data movements, data transformations are
limited to data type<o:p></o:p></div>
<div class="MsoNormal">
conversion.<o:p></o:p></div>
<div class="MsoNormal">
D. In complex data movements, additional programmatic logic
is required to merge<o:p></o:p></div>
<div class="MsoNormal">
source data with destination data.<o:p></o:p></div>
<div class="MsoNormal">
3. Which of the following statements are true? (Choose all
that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. An SSIS package can contain one or more SSDT solutions,
each performing a<o:p></o:p></div>
<div class="MsoNormal">
specific data management operation.<o:p></o:p></div>
<div class="MsoNormal">
B. An SSIS project can contain one or more SSIS packages.<o:p></o:p></div>
<div class="MsoNormal">
C. An SSIS project can contain exactly one SSIS package.<o:p></o:p></div>
<div class="MsoNormal">
D. SSIS packages contain programmatic logic used in data
movements and data<o:p></o:p></div>
<div class="MsoNormal">
transformation operations.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
Lesson 3: Introducing Control Flow, Data Flow, and<o:p></o:p></div>
<div class="MsoNormal">
Connection Managers . . . . 109<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Existing SSIS packages can be added to SSIS projects in SQL Server Data Tools
(SSDT).<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Control flows contain the definitions of data management operations.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Control flows determine the order and the conditions of execution.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
SSIS package settings can be parameterized, which allows them to be changed
without<o:p></o:p></div>
<div class="MsoNormal">
direct access to SSIS package definitions.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. The Execute SQL Task allows you to execute SQL statements
and commands against<o:p></o:p></div>
<div class="MsoNormal">
the data store. What tools do you have at your disposal when
developing SSIS packages<o:p></o:p></div>
<div class="MsoNormal">
to develop and test a SQL command? Choose all that apply.<o:p></o:p></div>
<div class="MsoNormal">
A. SQL Server Management Studio (SSMS)<o:p></o:p></div>
<div class="MsoNormal">
B. SQL Server Data Tools (SSDT)<o:p></o:p></div>
<div class="MsoNormal">
C. The Execute SQL Task Editor<o:p></o:p></div>
<div class="MsoNormal">
D. SQL Server Enterprise Manager (SSEM)<o:p></o:p></div>
<div class="MsoNormal">
2. You need to execute two data flow operations in parallel
after an Execute SQL Task has<o:p></o:p></div>
<div class="MsoNormal">
been completed. How can you achieve that? (Choose all that
apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. There is no way for two data flow operations to be
executed in parallel in the same<o:p></o:p></div>
<div class="MsoNormal">
SSIS package.<o:p></o:p></div>
<div class="MsoNormal">
B. You can place both data flows inside the same data flow
task and create a precedence<o:p></o:p></div>
<div class="MsoNormal">
constraint leading from the preceding Execute SQL Task to
the data flow task.<o:p></o:p></div>
<div class="MsoNormal">
C. You can create two separate data flow tasks and create
two precedence constraints<o:p></o:p></div>
<div class="MsoNormal">
leading from the preceding Execute SQL Task to each of the
two data flow tasks.<o:p></o:p></div>
<div class="MsoNormal">
D. You can create two separate data flow tasks, place them
inside a third data flow<o:p></o:p></div>
<div class="MsoNormal">
task, and create a precedence constraint leading from the
preceding Execute SQL<o:p></o:p></div>
<div class="MsoNormal">
Task to the third data flow task.<o:p></o:p></div>
<div class="MsoNormal">
3. Which precedence constraint can you use to allow Task B
to execute after Task A even<o:p></o:p></div>
<div class="MsoNormal">
if Task A has failed?<o:p></o:p></div>
<div class="MsoNormal">
A. The failure precedence constraint, leading from Task A to
Task B.<o:p></o:p></div>
<div class="MsoNormal">
B. The success precedence constraint, leading from Task A to
Task B.<o:p></o:p></div>
<div class="MsoNormal">
C. The completion precedence constraint, leading from Task A
to Task B.<o:p></o:p></div>
<div class="MsoNormal">
D. Use two precedence constraints—a success precedence
constraint, and a failure<o:p></o:p></div>
<div class="MsoNormal">
precedence constraint, both leading from Task A to Task B.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Suggested Practices CHAPTER 3 125<o:p></o:p></div>
<div class="MsoNormal">
Case Scenarios<o:p></o:p></div>
<div class="MsoNormal">
In the following case scenarios, you apply what you’ve
learned about creating SSIS packages.<o:p></o:p></div>
<div class="MsoNormal">
You can find the answers to these questions in the “Answers”
section at the end of this<o:p></o:p></div>
<div class="MsoNormal">
chapter.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1: Copying Production Data to Development<o:p></o:p></div>
<div class="MsoNormal">
Your IT solution has been deployed to production, version
one is complete, and it is now time<o:p></o:p></div>
<div class="MsoNormal">
to start the work on the next version. To keep the data in
the development and testing environment<o:p></o:p></div>
<div class="MsoNormal">
as up to date as possible, your manager has asked you to
design a data movement<o:p></o:p></div>
<div class="MsoNormal">
solution to be used on a regular basis to copy a subset of
production data from the production<o:p></o:p></div>
<div class="MsoNormal">
data store into the development data store.<o:p></o:p></div>
<div class="MsoNormal">
1. What method would you use to transfer the data on demand?<o:p></o:p></div>
<div class="MsoNormal">
2. How would you maximize the reusability of the solution?<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2: Connection Manager Parameterization<o:p></o:p></div>
<div class="MsoNormal">
Data warehousing maintenance solutions have outgrown your
company’s existing infrastructure,<o:p></o:p></div>
<div class="MsoNormal">
so new servers had to be installed, and this time all data
warehousing applications will<o:p></o:p></div>
<div class="MsoNormal">
use a dedicated network. In phase 1, all of your SSIS
solutions must be redeployed to new<o:p></o:p></div>
<div class="MsoNormal">
servers, and the system administrator has decided that SSIS
projects deserve more network<o:p></o:p></div>
<div class="MsoNormal">
bandwidth, so in phase 2 you will be allowed to dedicate a
greater share of the network<o:p></o:p></div>
<div class="MsoNormal">
bandwidth to your data movement processes.<o:p></o:p></div>
<div class="MsoNormal">
1. How much additional development work will you have to do
to complete phase 1?<o:p></o:p></div>
<div class="MsoNormal">
2. What will you have to do to reconfigure all of the
connection managers to use larger<o:p></o:p></div>
<div class="MsoNormal">
network packets for phase 2?<o:p></o:p></div>
<div class="MsoNormal">
Suggested Practices<o:p></o:p></div>
<div class="MsoNormal">
To help you successfully master the exam objectives
presented in this chapter, complete the<o:p></o:p></div>
<div class="MsoNormal">
following tasks.<o:p></o:p></div>
<div class="MsoNormal">
Use the Right Tool<o:p></o:p></div>
<div class="MsoNormal">
If you can combine the benefits of early deployment with the
benefits of providing ultimate<o:p></o:p></div>
<div class="MsoNormal">
stability for the entire data warehouse solution, you might
be able to achieve “the best of<o:p></o:p></div>
<div class="MsoNormal">
both worlds.” For instance, early deployment might allow
other members of your team to<o:p></o:p></div>
<div class="MsoNormal">
begin their work sooner (for example, if you deploy an
initial version of the data warehouse<o:p></o:p></div>
<div class="MsoNormal">
before the model has been finalized, this might allow report
development tasks to start early).<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
126 CHAPTER 3 Creating SSIS Packages<o:p></o:p></div>
<div class="MsoNormal">
And stabilizing the entire data warehouse solution has
obvious benefits (for example, if you<o:p></o:p></div>
<div class="MsoNormal">
implement changes to the data warehouse model in stages,
this might allow the iterations in<o:p></o:p></div>
<div class="MsoNormal">
report development to be as reasonable as possible).<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Practice
1 Develop an initial data movement by using the Import and Export Wizard,<o:p></o:p></div>
<div class="MsoNormal">
using views in the source data store to emulate data
transformations.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 2 Modify the initial data movement—add
proper data transformation logic<o:p></o:p></div>
<div class="MsoNormal">
as well as appropriate logic to merge new or modified data
with existing data.<o:p></o:p></div>
<div class="MsoNormal">
Account for the Differences Between Development and<o:p></o:p></div>
<div class="MsoNormal">
Production Environments<o:p></o:p></div>
<div class="MsoNormal">
After a final version of a data warehousing solution has
been deployed to production, any<o:p></o:p></div>
<div class="MsoNormal">
additional work on the current version, even if these
development activities could in fact be<o:p></o:p></div>
<div class="MsoNormal">
reduced to “tweaking,” will eventually cause delays in the
development of the next version.<o:p></o:p></div>
<div class="MsoNormal">
With good parameterization, the burden of “tweaking” an
existing solution is lifted from the<o:p></o:p></div>
<div class="MsoNormal">
shoulders of the developer and is placed on the shoulders of
the administrator.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 1 Review your existing data movement solutions, and create a list of
settings<o:p></o:p></div>
<div class="MsoNormal">
that could be beneficial to their maintenance in production.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Practice 2 Create a list of elements in your data movement solution that could
be<o:p></o:p></div>
<div class="MsoNormal">
parameterized, but due to their possible effect on the
operational characteristics of the<o:p></o:p></div>
<div class="MsoNormal">
solution probably should not be parameterized.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers CHAPTER 3 127<o:p></o:p></div>
<div class="MsoNormal">
Answers<o:p></o:p></div>
<div class="MsoNormal">
This section contains answers to the lesson review questions
and solutions to the case scenarios<o:p></o:p></div>
<div class="MsoNormal">
in this chapter.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 1<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Even though this might seem like the quickest
solution, it might only be<o:p></o:p></div>
<div class="MsoNormal">
quick to develop. Copying a large amount of data from the
production environment<o:p></o:p></div>
<div class="MsoNormal">
to a testing environment should be avoided, especially if
most of the data is<o:p></o:p></div>
<div class="MsoNormal">
just going to be discarded from the destination database
afterward.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: It might appear cumbersome to design several
SSIS packages for a single<o:p></o:p></div>
<div class="MsoNormal">
data movement operation, but this approach will solve the
principal problem while<o:p></o:p></div>
<div class="MsoNormal">
also following good data management practices, such as
avoiding unnecessary<o:p></o:p></div>
<div class="MsoNormal">
data movements.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: The Edit SQL option in the Column Mappings
window of the Import and<o:p></o:p></div>
<div class="MsoNormal">
Export Wizard cannot be used to modify the data retrieval
query, only the destination<o:p></o:p></div>
<div class="MsoNormal">
table definition.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: An SSIS package created by the Import and Export
Wizard can be edited<o:p></o:p></div>
<div class="MsoNormal">
by using SSDT.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Dropping and re-creating tables cannot be used
to merge data.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: You can use SSDT to add data merging
capabilities to an SSIS package<o:p></o:p></div>
<div class="MsoNormal">
created by the Import and Export Wizard.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: No such option exists in the Import and Export
Wizard.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: You can use SSDT to design pretty much any kind
of data movement<o:p></o:p></div>
<div class="MsoNormal">
processes, especially when you want complete control over
the operations needed<o:p></o:p></div>
<div class="MsoNormal">
by the process, but keep in mind that designing SSIS
packages “from scratch” may<o:p></o:p></div>
<div class="MsoNormal">
not be as time efficient as possible.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: SSIS package files are not stored in binary
format.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: SSIS package files might appear as if they are
saved as plain text files,<o:p></o:p></div>
<div class="MsoNormal">
but they are actually well-formed XML files.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: SSIS package files are stored in XML format; the
DTSX file extension is<o:p></o:p></div>
<div class="MsoNormal">
used for distinction.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: SSIS packages are not Microsoft Word
documents.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
128 CHAPTER 3 Creating SSIS Packages<o:p></o:p></div>
<div class="MsoNormal">
Lesson 2<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: SSDT is not an extension of SSMS. It is a
stand-alone application.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: SSDT is not a special edition of SSMS. It is a
special edition of Visual<o:p></o:p></div>
<div class="MsoNormal">
Studio.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: SSDT is a special edition of Visual Studio, with
a complete database development<o:p></o:p></div>
<div class="MsoNormal">
tool set.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: SSDT is not a service.<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Simple data movements can have as many data
sources and as many<o:p></o:p></div>
<div class="MsoNormal">
data destinations as needed.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: Data transformations are present in complex data
movements.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: Typically, in simple data movements, no
transformations are needed,<o:p></o:p></div>
<div class="MsoNormal">
because the data is transferred unchanged. However, it is
possible to transform the<o:p></o:p></div>
<div class="MsoNormal">
data at the source—such as by making retrieval queries or by
using views or other<o:p></o:p></div>
<div class="MsoNormal">
similar techniques.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: Additional programmatic logic to merge source
data with destination<o:p></o:p></div>
<div class="MsoNormal">
data is present in complex data movements.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answers: B and D<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: SSIS packages cannot contain SSDT solutions.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: An SSIS project can contain as many SSIS
packages as needed.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: An SSIS project can contain more than a single
SSIS package.<o:p></o:p></div>
<div class="MsoNormal">
D. Correct: SSIS packages contain the programmatic logic
used in data management<o:p></o:p></div>
<div class="MsoNormal">
operations, such as data movements and data transformations.<o:p></o:p></div>
<div class="MsoNormal">
Lesson 3<o:p></o:p></div>
<div class="MsoNormal">
1. Correct Answers: A and B<o:p></o:p></div>
<div class="MsoNormal">
A. Correct: SSMS provides all the necessary functionalities
to develop and test<o:p></o:p></div>
<div class="MsoNormal">
SQL code.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: SSDT does provide a query designer; it is
available from the Data menu,<o:p></o:p></div>
<div class="MsoNormal">
under Transact-SQL Editor/New Query Connection.
Alternatively, the query editor<o:p></o:p></div>
<div class="MsoNormal">
can also be started from the SQL Server Object Explorer by
right-clicking a database<o:p></o:p></div>
<div class="MsoNormal">
node, and selecting New Query... from the shortcut menu.<o:p></o:p></div>
<div class="MsoNormal">
C. Incorrect: The Execute SQL Task Editor is just a text box
into which you can type or<o:p></o:p></div>
<div class="MsoNormal">
paste a SQL statement.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: The Enterprise Manager was replaced with SSMS
in SQL Server 2005.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Answers CHAPTER 3 129<o:p></o:p></div>
<div class="MsoNormal">
2. Correct Answers: B and C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: Parallel data flow execution is supported.<o:p></o:p></div>
<div class="MsoNormal">
B. Correct: You can place multiple data flow operations
inside the same data flow task.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: You can, of course, place data flows in separate
data flow tasks, and you<o:p></o:p></div>
<div class="MsoNormal">
can create multiple precedence constraints leading from or
to the same task, as<o:p></o:p></div>
<div class="MsoNormal">
long as any two tasks are connected to each other only once.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: You cannot place a data flow task inside a
data flow task, because it<o:p></o:p></div>
<div class="MsoNormal">
cannot contain tasks, only data flow components.<o:p></o:p></div>
<div class="MsoNormal">
3. Correct Answer: C<o:p></o:p></div>
<div class="MsoNormal">
A. Incorrect: The failure precedence constraint will allow
Task B to execute only if<o:p></o:p></div>
<div class="MsoNormal">
Task A has failed.<o:p></o:p></div>
<div class="MsoNormal">
B. Incorrect: The success precedence constraint will prevent
Task B from executing<o:p></o:p></div>
<div class="MsoNormal">
if Task A fails.<o:p></o:p></div>
<div class="MsoNormal">
C. Correct: The completion precedence constraint will allow
Task B to execute<o:p></o:p></div>
<div class="MsoNormal">
regardless of whether Task A has succeeded or has failed.<o:p></o:p></div>
<div class="MsoNormal">
D. Incorrect: Only a single precedence constraint can be
used to connect two<o:p></o:p></div>
<div class="MsoNormal">
distinct tasks.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1<o:p></o:p></div>
<div class="MsoNormal">
1. An SSIS package stored in the file system, in the
database, or in an unscheduled SQL<o:p></o:p></div>
<div class="MsoNormal">
Server Agent Job would be appropriate.<o:p></o:p></div>
<div class="MsoNormal">
2. At the very least, the SSIS package would have to be
parameterized so that it can be<o:p></o:p></div>
<div class="MsoNormal">
configured appropriately for the specific environment in
which it is going to be used.<o:p></o:p></div>
<div class="MsoNormal">
Additionally, the programmatic logic should account for
merging new or modified<o:p></o:p></div>
<div class="MsoNormal">
data with existing data.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2<o:p></o:p></div>
<div class="MsoNormal">
1. A properly parameterized SSIS package can be redeployed
and reconfigured as many<o:p></o:p></div>
<div class="MsoNormal">
times as needed, without the need for any additional
development activities.<o:p></o:p></div>
<div class="MsoNormal">
2. The network packet size property of OLE DB connections is
not exposed to parameterization;<o:p></o:p></div>
<div class="MsoNormal">
therefore, the entire connection string would have to be
parameterized<o:p></o:p></div>
<div class="MsoNormal">
<b><span style="font-family: "Segoe-Bold","sans-serif"; mso-bidi-font-family: Segoe-Bold;">Designing and Implementing Control Flow<o:p></o:p></span></b></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
Lesson 1: Connection Managers<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Connection managers are used to establish connections to data sources.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Different data sources require different types of connection managers.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
usability of a connection manager within an SSIS project or an SSIS package is<o:p></o:p></div>
<div class="MsoNormal">
determined by its scope.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. You need to extract data from delimited text files. What
connection manager type<o:p></o:p></div>
<div class="MsoNormal">
would you choose?<o:p></o:p></div>
<div class="MsoNormal">
A. A Flat File connection manager<o:p></o:p></div>
<div class="MsoNormal">
B. An OLE DB connection manager<o:p></o:p></div>
<div class="MsoNormal">
C. An ADO.NET connection manager<o:p></o:p></div>
<div class="MsoNormal">
D. A File connection manager<o:p></o:p></div>
<div class="MsoNormal">
2. Some of the data your company processes is sent in from
partners via email.<o:p></o:p></div>
<div class="MsoNormal">
How would you configure an SMTP connection manager to
extract files from email<o:p></o:p></div>
<div class="MsoNormal">
messages?<o:p></o:p></div>
<div class="MsoNormal">
A. In the SMTP connection manager, configure the
OperationMode setting to Send<o:p></o:p></div>
<div class="MsoNormal">
And Receive.<o:p></o:p></div>
<div class="MsoNormal">
B. It is not possible to use the SMTP connection manager in
this way, because it can<o:p></o:p></div>
<div class="MsoNormal">
only be used by SSIS to send email messages.<o:p></o:p></div>
<div class="MsoNormal">
C. The SMTP connection manager supports sending and
receiving email messages by<o:p></o:p></div>
<div class="MsoNormal">
default, so no additional configuration is necessary.<o:p></o:p></div>
<div class="MsoNormal">
D. It is not possible to use the SMTP connection manager for
this; use the IMAP (Internet<o:p></o:p></div>
<div class="MsoNormal">
Message Access Protocol) connection manager instead.<o:p></o:p></div>
<div class="MsoNormal">
3. You need to extract data from a table in a SQL Server
2012 database. What connection<o:p></o:p></div>
<div class="MsoNormal">
manager types can you use? (Choose all that apply.)<o:p></o:p></div>
<div class="MsoNormal">
A. An ODBC connection manager<o:p></o:p></div>
<div class="MsoNormal">
B. An OLE DB connection manager<o:p></o:p></div>
<div class="MsoNormal">
C. A File connection manager<o:p></o:p></div>
<div class="MsoNormal">
D. An ADO.NET connection manager<o:p></o:p></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
Lesson 2: Control Flow Tasks and Containers<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> A
rich collection of tasks supporting the most common data management operations<o:p></o:p></div>
<div class="MsoNormal">
is provided by the SSIS design model.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Control flow is defined by precedence constraints that determine the order and
conditions<o:p></o:p></div>
<div class="MsoNormal">
of execution.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Tasks representing logical units of work can be grouped in containers.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Loop containers allow a unit of work to be executed repeatedly.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. In your SSIS solution, you need to load a large set of
rows into the database as quickly<o:p></o:p></div>
<div class="MsoNormal">
as possible. The rows are stored in a delimited text file,
and only one source column<o:p></o:p></div>
<div class="MsoNormal">
needs its data type converted from String (used by the
source column) to Decimal<o:p></o:p></div>
<div class="MsoNormal">
(used by the destination column). What control flow task
would be most suitable for<o:p></o:p></div>
<div class="MsoNormal">
this operation?<o:p></o:p></div>
<div class="MsoNormal">
A. The File System task would be perfect in this case,
because it can read data from<o:p></o:p></div>
<div class="MsoNormal">
files and can be configured to handle data type conversions.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
164 Chapter 4 Designing and Implementing Control Flow<o:p></o:p></div>
<div class="MsoNormal">
B. The Bulk Insert task would be the most appropriate,
because it is the quickest and<o:p></o:p></div>
<div class="MsoNormal">
can handle data type conversions.<o:p></o:p></div>
<div class="MsoNormal">
C. The data flow task would have to be used, because the
data needs to be transformed<o:p></o:p></div>
<div class="MsoNormal">
before it can be loaded into the table.<o:p></o:p></div>
<div class="MsoNormal">
D. No single control flow task can be used for this
operation, because the data needs<o:p></o:p></div>
<div class="MsoNormal">
to be extracted from the source file, transformed, and then
loaded into the destination<o:p></o:p></div>
<div class="MsoNormal">
table. At least three different tasks would have to be
used—the Bulk Insert<o:p></o:p></div>
<div class="MsoNormal">
task to load the data into a staging database, a Data
Conversion task to convert<o:p></o:p></div>
<div class="MsoNormal">
the data appropriately, and finally, an Execute SQL task to
merge the transformed<o:p></o:p></div>
<div class="MsoNormal">
data with existing destination data.<o:p></o:p></div>
<div class="MsoNormal">
2. A part of your data consolidation process involves extracting
data from Excel workbooks.<o:p></o:p></div>
<div class="MsoNormal">
Occasionally, the data contains errors that cannot be
corrected automatically.<o:p></o:p></div>
<div class="MsoNormal">
How can you handle this problem by using SSIS?<o:p></o:p></div>
<div class="MsoNormal">
A. Redirect the failed data flow task to an External Process
task, open the problematic<o:p></o:p></div>
<div class="MsoNormal">
Excel file in Excel, and prompt the user to correct the file
before continuing the<o:p></o:p></div>
<div class="MsoNormal">
data consolidation process.<o:p></o:p></div>
<div class="MsoNormal">
B. Redirect the failed data flow task to a File System task
that moves the erroneous<o:p></o:p></div>
<div class="MsoNormal">
file to a dedicated location where an information worker can
correct it later.<o:p></o:p></div>
<div class="MsoNormal">
C. If the error cannot be corrected automatically, there is
no way for SSIS to continue<o:p></o:p></div>
<div class="MsoNormal">
with the automated data consolidation process.<o:p></o:p></div>
<div class="MsoNormal">
D. None of the answers above are correct. Due to Excel’s
strict data validation rules,<o:p></o:p></div>
<div class="MsoNormal">
an Excel file cannot ever contain erroneous data.<o:p></o:p></div>
<div class="MsoNormal">
3. In your ETL process, a few values need to be retrieved
from a database at run time,<o:p></o:p></div>
<div class="MsoNormal">
based on another value available at run time, and they
cannot be retrieved as part of<o:p></o:p></div>
<div class="MsoNormal">
any data flow task. Which task can you use in this case?<o:p></o:p></div>
<div class="MsoNormal">
A. The Execute T-SQL Statement task<o:p></o:p></div>
<div class="MsoNormal">
B. The Execute SQL task<o:p></o:p></div>
<div class="MsoNormal">
C. The Expression task<o:p></o:p></div>
<div class="MsoNormal">
D. The Execute Process task<o:p></o:p></div>
<div class="MsoNormal">
Lesson Summary<o:p></o:p></div>
<div class="MsoNormal">
Lesson 3: Precedence Constraints<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Precedence constraints determine the order of execution and the conditions that
must<o:p></o:p></div>
<div class="MsoNormal">
be met for the process to either continue or stop.<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Precedence constraints can even be used to allow the process to recover from
failures.<o:p></o:p></div>
<div class="MsoNormal">
Lesson Review<o:p></o:p></div>
<div class="MsoNormal">
Answer the following questions to test your knowledge of the
information in this lesson. You<o:p></o:p></div>
<div class="MsoNormal">
can find the answers to these questions and explanations of
why each answer choice is correct<o:p></o:p></div>
<div class="MsoNormal">
or incorrect in the “Answers” section at the end of this
chapter.<o:p></o:p></div>
<div class="MsoNormal">
1. How is the order of execution, or the sequence of
operations, defined in an SSIS<o:p></o:p></div>
<div class="MsoNormal">
package?<o:p></o:p></div>
<div class="MsoNormal">
A. The SSIS run time engine determines the order of
execution automatically, based<o:p></o:p></div>
<div class="MsoNormal">
on the type of operations, the available software and
hardware resources, and the<o:p></o:p></div>
<div class="MsoNormal">
size of data.<o:p></o:p></div>
<div class="MsoNormal">
B. The sequence is defined by using precedence constraints.<o:p></o:p></div>
<div class="MsoNormal">
C. The sequence is defined by using the Sequence container.<o:p></o:p></div>
<div class="MsoNormal">
D. The sequence is defined at design time by using
precedence constraints and<o:p></o:p></div>
<div class="MsoNormal">
Sequence containers, but at run time the SSIS engine
executes the operations in<o:p></o:p></div>
<div class="MsoNormal">
the order set by the most appropriate execution plan for
maximum performance.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
170 Chapter 4 Designing and Implementing Control Flow<o:p></o:p></div>
<div class="MsoNormal">
2. How does the Failure constraint affect the execution
order?<o:p></o:p></div>
<div class="MsoNormal">
A. The following task will only execute after the preceding
task has failed.<o:p></o:p></div>
<div class="MsoNormal">
B. The following task will only execute if the preceding
task has not failed.<o:p></o:p></div>
<div class="MsoNormal">
C. The following task will never execute, because this
constraint is only used at<o:p></o:p></div>
<div class="MsoNormal">
design time.<o:p></o:p></div>
<div class="MsoNormal">
D. The following task will execute regardless of whether the
preceding task has failed,<o:p></o:p></div>
<div class="MsoNormal">
but an error will be written to the SSIS log.<o:p></o:p></div>
<div class="MsoNormal">
3. In your ETL process, there are three external processes
that need to be executed in<o:p></o:p></div>
<div class="MsoNormal">
sequence, but you do not want to stop execution if any of
them fails. Can this be<o:p></o:p></div>
<div class="MsoNormal">
achieved by using precedence constraints? If so, which
precedence constraints can<o:p></o:p></div>
<div class="MsoNormal">
be used?<o:p></o:p></div>
<div class="MsoNormal">
A. No, this cannot be achieved just by using precedence
constraints.<o:p></o:p></div>
<div class="MsoNormal">
B. Yes, this can be achieved by using completion precedence
constraints between the<o:p></o:p></div>
<div class="MsoNormal">
first and the second and between the second and the third
Execute Process tasks,<o:p></o:p></div>
<div class="MsoNormal">
and by using a success precedence constraint between the
third Execute Process<o:p></o:p></div>
<div class="MsoNormal">
task and the following task.<o:p></o:p></div>
<div class="MsoNormal">
C. Yes, this can be achieved by using completion precedence
constraints between<o:p></o:p></div>
<div class="MsoNormal">
the first and the second, between the second and the third,
and between the third<o:p></o:p></div>
<div class="MsoNormal">
Execute Process task and the following task.<o:p></o:p></div>
<div class="MsoNormal">
D. Yes, this can be achieved by using failure precedence
constraints between the first<o:p></o:p></div>
<div class="MsoNormal">
and the second, and between the second and the third Execute
Process tasks, and<o:p></o:p></div>
<div class="MsoNormal">
by using a completion precedence constraint between the
third Execute Process<o:p></o:p></div>
<div class="MsoNormal">
task and the following task.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenarios<o:p></o:p></div>
<div class="MsoNormal">
In the following case scenarios, you apply what you’ve
learned about designing and implementing<o:p></o:p></div>
<div class="MsoNormal">
control flow. You can find the answers to these questions in
the “Answers” section at<o:p></o:p></div>
<div class="MsoNormal">
the end of this chapter.<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 1: Creating a Cleanup Process<o:p></o:p></div>
<div class="MsoNormal">
In your data management system, there are two data
warehouses (that is, in addition to<o:p></o:p></div>
<div class="MsoNormal">
the operational data store); the principal data warehouse
contains all the data, including all<o:p></o:p></div>
<div class="MsoNormal">
historical data, and the secondary data warehouse is used by
web applications, exposing your<o:p></o:p></div>
<div class="MsoNormal">
data to customers, and should therefore only contain current
data. Your data warehousing<o:p></o:p></div>
<div class="MsoNormal">
solution is already in place, moving data into both data
warehouses.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Suggested Practices Chapter 4 171<o:p></o:p></div>
<div class="MsoNormal">
You have been tasked with creating an additional process to
determine which data is no<o:p></o:p></div>
<div class="MsoNormal">
longer current and must therefore be removed from the
secondary data warehouse.<o:p></o:p></div>
<div class="MsoNormal">
1. How will you determine which rows need to be removed?<o:p></o:p></div>
<div class="MsoNormal">
2. What technique would you use to perform the removal as
efficiently as possible?<o:p></o:p></div>
<div class="MsoNormal">
Case Scenario 2: Integrating External Processes<o:p></o:p></div>
<div class="MsoNormal">
In its data management scenarios, your company uses a mix of
proprietary solutions that your<o:p></o:p></div>
<div class="MsoNormal">
team has developed and third party, off-the-shelf solutions
that to you, a seasoned developer,<o:p></o:p></div>
<div class="MsoNormal">
appear just like black boxes—you can trust these solutions
to work as expected without<o:p></o:p></div>
<div class="MsoNormal">
even a faint clue about how this is actually done.<o:p></o:p></div>
<div class="MsoNormal">
In your data warehousing solution, you need to consolidate
data from a solution of your<o:p></o:p></div>
<div class="MsoNormal">
own and from two diverse black boxes, one of which has a
special data extraction tool (a<o:p></o:p></div>
<div class="MsoNormal">
stand-alone application) that retrieves data from the
internal store and saves it to files in the<o:p></o:p></div>
<div class="MsoNormal">
file system, while the other one exposes its API layer,
providing access to its internal data<o:p></o:p></div>
<div class="MsoNormal">
retrieval functionalities.<o:p></o:p></div>
<div class="MsoNormal">
1. What functionalities does SSIS provide that can be used
to integrate such diverse solutions<o:p></o:p></div>
<div class="MsoNormal">
into a single SSIS process?<o:p></o:p></div>
<div class="MsoNormal">
2. How would you use the SQL Server platform to solve this
problem?<o:p></o:p></div>
<div class="MsoNormal">
Suggested Practices<o:p></o:p></div>
<div class="MsoNormal">
To help you successfully master the exam objectives
presented in this chapter, complete the<o:p></o:p></div>
<div class="MsoNormal">
following tasks.<o:p></o:p></div>
<div class="MsoNormal">
A Complete Data Movement Solution<o:p></o:p></div>
<div class="MsoNormal">
Think about all the processes involved in preparing data to
be consumed by the analytical<o:p></o:p></div>
<div class="MsoNormal">
tools used by your managers when determining company
strategy. The data must be consolidated,<o:p></o:p></div>
<div class="MsoNormal">
cleansed, loaded into the data warehouse (which includes
transforming it appropriately<o:p></o:p></div>
<div class="MsoNormal">
and merging it with existing data), and finally, it must be loaded
into the multidimensional<o:p></o:p></div>
<div class="MsoNormal">
SQL Server Analysis Database.<o:p></o:p></div>
<div class="MsoNormal">
All of these processes need to be performed automatically,
at predefined times, and provide<o:p></o:p></div>
<div class="MsoNormal">
current and coherent results in the end. Otherwise, the
operations and—eventually—<o:p></o:p></div>
<br />
<div class="MsoNormal">
even the future of the company might be at stake.<o:p></o:p></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com1tag:blogger.com,1999:blog-6205953902383299253.post-10820638813545615932014-11-11T15:58:00.001+05:302014-11-11T15:58:18.242+05:30Normalization<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwOaV-fIkXwnRhyphenhyphenwh0CNZKLei1D4aZ_RjNm5hUd_gR5_wmPjot5rL9Iu324Sxp7zDSemh0jDniGZ3ed7iptTtkR4RAdAERgpapIoLAi0PdbctgKLVS7Ai0yYi83O4veUCNG1ecRPI8BIM/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwOaV-fIkXwnRhyphenhyphenwh0CNZKLei1D4aZ_RjNm5hUd_gR5_wmPjot5rL9Iu324Sxp7zDSemh0jDniGZ3ed7iptTtkR4RAdAERgpapIoLAi0PdbctgKLVS7Ai0yYi83O4veUCNG1ecRPI8BIM/s1600/1.jpg" height="433" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeg0srjjcSALy6naX_vZmVl2tQNSs-sL0rD1D3dBXH_BbzG2OKSqk-2v6SCvZLvu-aP-TjbR4486RF-XrBvJVQWGwWkh51FxK55gjCkCKokluhRvTJ2o2TKBRxqvquc1bNn2NkH94n3_s/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeg0srjjcSALy6naX_vZmVl2tQNSs-sL0rD1D3dBXH_BbzG2OKSqk-2v6SCvZLvu-aP-TjbR4486RF-XrBvJVQWGwWkh51FxK55gjCkCKokluhRvTJ2o2TKBRxqvquc1bNn2NkH94n3_s/s1600/1.jpg" height="456" width="640" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5SytbbIko_v6qDrpMNYEGJS56pGEnJP8tlrkyqN14QIQzvWofUCdRt2LhRrdSAif9SlIhbQTvei20Ic24wjjZZpT9UVu3wA09PfecWfV4x4WVtiNmlJeZSBo1CI7eVMoJJqt37KbT4qU/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5SytbbIko_v6qDrpMNYEGJS56pGEnJP8tlrkyqN14QIQzvWofUCdRt2LhRrdSAif9SlIhbQTvei20Ic24wjjZZpT9UVu3wA09PfecWfV4x4WVtiNmlJeZSBo1CI7eVMoJJqt37KbT4qU/s1600/1.jpg" height="456" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFV3vyALMHE6U1zKyQL5xG4xQhJcJfHUs1DlQSX1SMsZmfL94jbiL48YrPv_6y6-Gnef9utV3wR-njnVoNW5mzzvcMKBClwzbEC76KSwHNHzth37PAshJoMHfo2cRcZ1-xeINky_hZoBg/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFV3vyALMHE6U1zKyQL5xG4xQhJcJfHUs1DlQSX1SMsZmfL94jbiL48YrPv_6y6-Gnef9utV3wR-njnVoNW5mzzvcMKBClwzbEC76KSwHNHzth37PAshJoMHfo2cRcZ1-xeINky_hZoBg/s1600/1.jpg" height="456" width="640" /></a></div>
<br /></div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-73098298371398448522014-11-11T10:42:00.002+05:302014-11-11T12:15:25.381+05:30DB_basics structure<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO3Q-oSOuGQgX-bn4vuLYH8TpqPOzVPPwFRqr_-0AQadpG6vvJc4G7YbHVOXgWF5_HqmJ9iFku0Hdl2OyR-TRuHG8ImeNVA8KZlfpAwSlneYLnDJWL36QslD-ipRq7UPe7C5I3PgObGR4/s1600/DB_Basic+info_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO3Q-oSOuGQgX-bn4vuLYH8TpqPOzVPPwFRqr_-0AQadpG6vvJc4G7YbHVOXgWF5_HqmJ9iFku0Hdl2OyR-TRuHG8ImeNVA8KZlfpAwSlneYLnDJWL36QslD-ipRq7UPe7C5I3PgObGR4/s1600/DB_Basic+info_1.jpg" height="422" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUyriOvLWP57kEFTc3DJvdNPSWmGPi_jTUQVUEVEkDFY1A0vLBQJHsXL6ZISjN-7033xlzuvMW3PHHvz41YuNmvV6jVDrxYqa6aRqMnSfy3vkfFU0FMw4YAt08H6DVWB143mLFl38AGQ/s1600/DB_Basic+info_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUyriOvLWP57kEFTc3DJvdNPSWmGPi_jTUQVUEVEkDFY1A0vLBQJHsXL6ZISjN-7033xlzuvMW3PHHvz41YuNmvV6jVDrxYqa6aRqMnSfy3vkfFU0FMw4YAt08H6DVWB143mLFl38AGQ/s1600/DB_Basic+info_2.jpg" height="422" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7hgL8H4jvo7dJo7__R7TDD8wl30Wx4fr-8OJTbM3-QYwKZvOUV0Q3j72U2g6eSt8zNJLy01aNVjhmZbX1levWMU0kS50c1-Y_VJ8hLOdY578HwVFWMtkE1SoiUnOGab53u_k2UlZI4rk/s1600/DB_Basic+info_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7hgL8H4jvo7dJo7__R7TDD8wl30Wx4fr-8OJTbM3-QYwKZvOUV0Q3j72U2g6eSt8zNJLy01aNVjhmZbX1levWMU0kS50c1-Y_VJ8hLOdY578HwVFWMtkE1SoiUnOGab53u_k2UlZI4rk/s1600/DB_Basic+info_3.jpg" height="422" width="640" /></a></div>
<br /></div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-30201032732651452612014-11-10T17:53:00.000+05:302014-11-10T17:53:08.485+05:30Querying Microsoft SQL Server 2012_Realworld_Examtips<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-font-style: italic; mso-bidi-theme-font: minor-bidi;">Real World </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-bidi;">Float Trouble<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">We
remember a case where a customer used FLOAT to represent barcode numbers of<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">products,
and was then surprised by not getting the right product when scanning the<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">products’
barcodes. Also, recently, we got a query about conversion of a FLOAT value to<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">NUMERIC,
resulting in a different value than what was entered. Here’s the case.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">DECLARE
@f AS FLOAT = '29545428.022495';<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">SELECT
CAST(@f AS NUMERIC(28, 14)) AS value;<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">Can you
guess what the output of this code is? Here it is.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">Value<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">---------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">29545428.02249500200000<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-font-style: italic; mso-bidi-theme-font: minor-bidi;">Real world </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-bidi;">Anticipating Errors<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">When you
handle errors in a CATCH block, the number of errors that can occur is quite large,
so it is difficult to anticipate all of them. Also, the types of transactions
or procedures involved might be specialized. Some T-SQL developers prefer to
just return the values of the error functions as in the previous SELECT
statement. This can be most useful for utility stored procedures. In other
contexts, some T-SQL developers use a stored procedure that can be called from
the CATCH block and that will provide a common response for certain commonly
encountered errors.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">THROW
vs. RAISERROR in TRY/CATCH<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">In the
TRY block, you can use either RAISERROR or THROW (with parameters) to generate
an error condition and transfer control to the CATCH block. A RAISERROR in the
TRY block must have a severity level from 11 to 19 to transfer control to the
CATCH block. Whether you use RAISERROR or THROW in the TRY block, SQL Server
will not send an error message to the client.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">In the
CATCH block, you have three options: RAISERROR, THROW with parameters, or THROW
without parameters.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">You can
use a RAISERROR in the CATCH block to report the original error back to the
client, or to raise an additional error that you want to report. The original
error number cannot be re-raised. It must be a custom error message number or,
in this case, the default error number 50000. To return the error number, you
could add it to the @error_message string. Execution of the CATCH block
continues after the RAISERROR statement.You can use a THROW statement with
parameters, like RAISERROR, to re-raise the error in the CATCH block. However,
THROW with parameters always raises errors with a custom error number and a severity
level of 16, so you don't get the exact information. THROW with parameters
terminates the batch, so commands following it are not executed.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">A THROW
without parameters can be used to re-raise the original error message and send it
back to the client. This is by far the best method for reporting the error back
to the caller.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">Now you
get the original message sent back to the client, and under your control,
though it does terminate the batch immediately.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-font-style: italic; mso-bidi-theme-font: minor-bidi;">Exam Tip<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">You must
take care that the THROW with or without parameters is the last statement you want
executed in the CATCH block, because it terminates the batch and does not
execute any remaining commands in the CATCH block.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-font-style: italic; mso-bidi-theme-font: minor-bidi;">Exam Tip<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">1.Understanding
the built-in tools T-SQL provides for generating surrogate keys like the sequence
object, identity column property, and the NEWID and NEWSEQUENTIALID functions,
and their impact on performance, is an important skill for the exam.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">2.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">COALESCE and ISNULL can impact performance when you are combining
sets; for example,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">with
joins or when you are filtering data. Consider an example where you have two
tables T1 and T2 and you need to join them based on a match between T1.col1 and
T2.col1. The attributes do allow NULLs. Normally, a comparison between two
NULLs yields unknown,and this causes the row to be discarded. You want to treat
two NULLs as equal. What some do in such a case is use COALESCE or ISNULL to
substitute a NULL with a value that they know cannot appear in the data. For
example, if the attributes are integers, and you know that you have only
positive integers in your data (you can even have constraints that ensure
this), you might try to use the predicate COALESCE(T1.col1, -1) = COALESCE(T2.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">col1,
-1), or ISNULL(T1.col1, -1) = ISNULL(T2.col1, -1). The problem with this form
is that,because you apply manipulation to the attributes you’re comparing, SQL
Server will not rely on index ordering. This can result in not using available
indexes efficiently. Instead, it is recommended to use the longer form: T1.col1
= T2.col1 OR (T1.col1 IS NULL AND T2.col1 IS NULL), which SQL Server
understands as just a comparison that considers NULLs as equal. With this form,
SQL Server can efficiently use indexing.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">3.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">Understanding the impact of using COALESCE and ISNULL on performance
is an important skill for the exam.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">4.
Often, when joining tables, you join them based on a foreign key–unique key
relationship.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">For
example, there’s a foreign key defined on the supplierid column in the
Production .Products table (the referencing table), referencing the primary key
column supplierid in the Production.Suppliers table (the referenced table).
It’s also important to note that when you define a primary key or unique
constraint, SQL Server creates a unique index on the constraint columns to
enforce the constraint’s uniqueness property. But when you define a foreign
key, SQL Server doesn’t create any indexes on the foreign key columns. Such indexes
could improve the performance of joins based on those relationships. Because
SQL Server doesn’t create such indexes automatically, it’s your responsibility
to identify the cases where they can be useful and create them. So when working
on index tuning, one interesting area to
examine is foreign key columns, and evaluating the benefits of creating indexes
on those.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">5. As
explained in the discussion of window aggregate functions, window functions are
allowed only in the SELECT and ORDER BY clauses of the query. If you need to
refer to those in other clauses—for example, in the WHERE clause—you need to
use a table expression such as a CTE. You invoke the window function in the
inner query’s SELECT clause, assigning the expression with a column alias. Then
you refer to that column alias in the outer query’s WHERE clause. You have a
chance to practice this technique in this lesson’s exercises. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">6
Although full-text search is not on the list of the exam objectives, an
indirect question about it could appear. Remember that full text predicates can
also be a part of the WHERE clause of a query.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">7. The
FREETEXT predicate is less selective than the CONTAINS predicate, and thus it
usually returns more rows than the CONTAINS predicate.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">8.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">Semantic search is available through the table-valued functions
only; it does not support any specific predicates for the WHERE clause of a
query.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;">9.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;"> The FOR XML
clause comes after the ORDER BY clause in a query.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">10. Navigation through XML can be quite
tricky; make sure you understand the complete path.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">11.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">You can move a
table from one schema to another by using the ALTER SCHEMA TRANSFER statement.
Assuming there is no object named Categories in the Sales database schema, the following
statement moves the Production.Categories
table to the Sales database schema. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">ALTER SCHEMA Sales TRANSFER Production.Categories;<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">To move the table back, issue the
following.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">ALTER SCHEMA Production TRANSFER
Sales.Categories;<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">12.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">The unique
constraint does not require the column to be NOT NULL. You can allow NULL in<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">a column and still have a unique
constraint, but only one row can be NULL.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">13.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Because joins
often occur on foreign keys, it can help query performance to create a nonclustered
index on the foreign key in the referencing table. There is already a unique index
on the corresponding column in the referenced table, but if the referencing
table,like Production.Products, has a lot of rows, it may help SQL Server
resolve the join faster if it can use an index on the big table.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">14.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Results of a
view are never ordered. You must add your own ORDER BY when you SELECT from the
view. You can include an ORDER BY in a view only by adding the TOP operator or the
OFFSET FETCH clause to the SELECT clause. Even then, the results of the view
will not be ordered. Therefore, an ORDER BY in a view, even when you can enter
it, is useless.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">15.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Synonyms cannot
refer to other synonyms. They can only refer to database objects such as<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">tables, views, stored procedures, and
functions. In other words, synonym chaining is not allowed.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">16.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Make sure you
understand how modification statements are affected by constraints defined in
the target table.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">17. An important technique in multiple
choice questions in the exam is to first eliminate answers that are obviously
incorrect. For example, suppose you get a question and a few possible answers
that contain code samples. And suppose one of the answers contains code
defining a table that has two columns with an IDENTITY property or two PRIMARY KEY
constraints. You can quickly eliminate such answers from consideration. This
way, you can spend more time on fewer answers.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">18.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Note that
transactions can span batches. This includes both implicit transactions and
explicit transactions—that is, GO statements. However, it is often a best
practice to make sure that each transaction takes place in one batch.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">19.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">An inner COMMIT
statement has no real effect on the transaction, only decrementing @@TRANCOUNT
by 1. Just the outermost COMMIT statement, the one executed when @@TRANCOUNT =
1, actually commits the transaction.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">20.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Note that it
doesn't matter at what level you issue the ROLLBACK command. A transaction can
contain only one ROLLBACK command, and it will roll back the entire transaction
and reset the @@TRANCOUNT counter to 0.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">21. Isolation levels are set per session.
If you do not set a different isolation level in your session, all your
transactions will execute using the default isolation level, READ COMMITTED. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">For on-premise SQL Server instances, this
is READ COMMITTED. In Windows Azure SQL<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Database, the default isolation level is
READ COMMITTED SNAP SHOT.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">22. The statement before the THROW
statement must be terminated by a semicolon (;). This reinforces the best
practice to terminate all T-SQL statements with a semicolon.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">23. You must take care that the THROW with
or without parameters is the last statement you want executed in the CATCH
block, because it terminates the batch and does not execute any remaining
commands in the CATCH block.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">24. You should leave QUOTED_IDENTIFIER set
to ON because that is the `ANSI standard and the SQL Server default.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">25.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">The ability to
parameterize means that sp_excutesql avoids simple concatenations like those
used in the EXEC statement. As a result, it can be used to help prevent SQL
injection.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">26.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">You should use
SQL Server Extended Events instead of SQL Trace and SQL Server Profiler because
Extended Events is more lightweight and SQL Trace and SQL Server Profiler are
deprecated in future versions of SQL Server.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">27 The NOCOUNT setting of ON or OFF stays
with the stored procedure when it is created. Placing a SET NOCOUNT ON at the
beginning of every stored procedure prevents the procedure from returning that
message to the client. In addition, SET NOCOUNT ON can improve the performance
of frequently executed stored procedures because there is less network
communication required when the "rows(s) affected" message is not
returned to the client.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">28.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Always include
the EXEC command when calling a stored procedure. That will avoid getting
unexpected and confusing errors. If the statement is no longer the first
statement in the batch, it will still run.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">29. It is a best practice to name the
parameters when you call stored procedures. Although passing parameter values
by position may be more compact, it is also more error prone. If you pass
parameters by name and the parameter order changes in the stored procedure,
your call of the procedure will still work.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">30.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">When you code a
WHILE loop, it is critical to ensure that something happens in the loop that
will eventually make the WHILE condition evaluate to false so that the WHILE
loop will terminate. Always check the body of the WHILE loop and make sure that
a counter is incremented or a value
changes so that the loop will always terminate under all conditions.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">31.</span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi;"> </span><span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">Even though a
BEGIN/END block is optional in a WHILE loop if you only have one statement,it
is a best practice to include it. The BEGIN/END block helps you organize your
code, makes it easier to read, and makes it easier to modify in the future. Any
statement block in a WHILE loop with more than one statement requires the
BEGIN/END construct.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">32. When an UPDATE or DELETE occurs and no
rows are affected, there is no point in proceeding with the trigger. You can
improve the performance of the trigger by testing whether @@ROWCOUNT is 0 in
the very first line of the trigger. It must be the first line because
@@ROWCOUNT will be set back to 0 by any additional statement. When the AFTER
trigger begins, @@ROWCOUNT will contain the number of rows affected by the
outer INSERT,UPDATE, or DELETE statement.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">33. It is not a good practice to return
result sets from triggers. In SQL Server 2012 and earlier versions, returning a
rowset from a trigger is allowed, but it cannot be relied on. You can also
disable it with the sp_configure option called Disallow Results From Triggers.
In addition,the ability to return result sets from a trigger is deprecated and
will be dropped in the next version of SQL Server after SQL Server 2012.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: 150%;">
<span style="font-family: "Times New Roman","serif"; font-size: 10.0pt; line-height: 150%; mso-bidi-font-family: Segoe-Semibold; mso-bidi-font-size: 8.5pt;">34. Only a nested loops join algorithm
supports non-equijoins.<o:p></o:p></span></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-56958256119783372242014-11-10T17:51:00.003+05:302014-11-10T17:51:46.577+05:30Microsoft.Press.Training.Kit.Exam.70-461.Nov.2012<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<b>Microsoft.Press.Training.Kit.Exam.70-461.Nov.2012<o:p></o:p></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the mathematical branches that the relational
model is based on?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the difference between T-SQL and SQL?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Set theory and predicate logic.<o:p></o:p></div>
<div class="MsoNormal">
2. SQL is standard; T-SQL is the dialect of and extension to
SQL that Microsoft implements in its RDBMS—SQL Server.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Name two aspects in which T-SQL deviates from the
relational model.<o:p></o:p></div>
<div class="MsoNormal">
2. Explain how you can address the two items in question 1
and use T-SQL in a relational way.<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. A relation has a body with a distinct set of tuples. A
table doesn’t have to have a key. T-SQL allows referring to ordinal positions
of columns in the ORDER BY clause.<o:p></o:p></div>
<div class="MsoNormal">
2. Define a key in every table. Refer to attribute names—not
their ordinal positions—in the ORDER BY clause.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Why are the terms “field” and “record” incorrect when
referring to column and row?<o:p></o:p></div>
<div class="MsoNormal">
2. Why is the term “NULL value” incorrect?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Because “field” and “record” describe physical things,
whereas columns and rows are logical elements of a table.<o:p></o:p></div>
<div class="MsoNormal">
2. Because NULL isn’t a value; rather, it’s a mark for a
missing value.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
What is the difference between the WHERE and HAVING clauses?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
WHERE clause is evaluated before rows are grouped, and therefore is evaluated per
row. The HAVING clause is evaluated after rows are grouped, and therefore is
evaluated per group.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Why are you not allowed to refer to a column alias
defined by the SELECT clause in the WHERE clause?<o:p></o:p></div>
<div class="MsoNormal">
2. Why are you not allowed to refer to a column alias
defined by the SELECT clause in the same SELECT clause?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Because the WHERE clause is logically evaluated in a
phase earlier to the one that evaluates the SELECT clause.<o:p></o:p></div>
<div class="MsoNormal">
2. Because all expressions that appear in the same logical
query processing phase are evaluated conceptually at the same point in time.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the forms of aliasing an attribute in T-SQL?<o:p></o:p></div>
<div class="MsoNormal">
2. What is an irregular identifier?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. The forms are <<i>expression</i>> AS <<i>alias</i>>,
<<i>expression</i>> <<i>alias</i>>, and<o:p></o:p></div>
<div class="MsoNormal">
<<i>alias</i>> = <<i>expression</i>>.<o:p></o:p></div>
<div class="MsoNormal">
2. An identifier that does not follow the rules for
formatting identifiers; for<o:p></o:p></div>
<div class="MsoNormal">
example, it starts with a digit, has an embedded space, or
is a reserved T-SQL keyword.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Would you use the type FLOAT to represent a product unit
price?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the difference between NEWID and NEWSEQUENTIALID?<o:p></o:p></div>
<div class="MsoNormal">
3. Which function returns the current date and time value as
a DATETIME2 type?<o:p></o:p></div>
<div class="MsoNormal">
4. When concatenating character strings, what is the
difference between the plus<o:p></o:p></div>
<div class="MsoNormal">
(+) operator and the CONCAT function?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. No, because FLOAT is an approximate data type and cannot
represent all values precisely.<o:p></o:p></div>
<div class="MsoNormal">
2. The NEWID function generates GUID values in random order,
whereas the NEWSEQUENTIAL ID function generates GUIDs that increase in a
sequential order.<o:p></o:p></div>
<div class="MsoNormal">
3. The SYSDATETIME function.<o:p></o:p></div>
<div class="MsoNormal">
4. The + operator by default yields a NULL result on NULL
input, whereas the<o:p></o:p></div>
<div class="MsoNormal">
CONCAT function treats NULLs as empty strings.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the performance benefits in using the WHERE
filter?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the form of a filter predicate that can rely on index
ordering called?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. You reduce network traffic by filtering in the database
server instead of in<o:p></o:p></div>
<div class="MsoNormal">
the client, and you can potentially use indexes to avoid
full scans of the tables<o:p></o:p></div>
<div class="MsoNormal">
involved.<o:p></o:p></div>
<div class="MsoNormal">
2. A search argument, or SARG, for short.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How do you guarantee the order of the rows in the result
of a query?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the difference between the result of a query with
and one without an<o:p></o:p></div>
<div class="MsoNormal">
ORDER BY clause?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. The only way to do so is by adding an ORDER BY clause.<o:p></o:p></div>
<div class="MsoNormal">
2. Without an ORDER BY clause, the result is relational
(from an ordering perspective);<o:p></o:p></div>
<div class="MsoNormal">
with an ORDER BY clause, the result is conceptually what the
standard<o:p></o:p></div>
<div class="MsoNormal">
calls a cursor.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How do you guarantee deterministic results with TOP?<o:p></o:p></div>
<div class="MsoNormal">
2. What are the benefits of using OFFSET-FETCH over TOP?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. By either returning all ties by using the WITH TIES
option or by defining unique<o:p></o:p></div>
<div class="MsoNormal">
ordering to break ties.<o:p></o:p></div>
<div class="MsoNormal">
2. OFFSET-FETCH is standard and TOP isn’t; also,
OFFSET-FETCH supports a skipping<o:p></o:p></div>
<div class="MsoNormal">
capability that TOP doesn’t.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What is the difference between the old and new syntax for
cross joins?<o:p></o:p></div>
<div class="MsoNormal">
2. What are the different types of outer joins?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. The new syntax has the CROSS JOIN keywords between the
table names and<o:p></o:p></div>
<div class="MsoNormal">
the old syntax has a comma.<o:p></o:p></div>
<div class="MsoNormal">
2. Left, right, and full.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What is the difference between self-contained and
correlated subqueries?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the difference between the APPLY and JOIN
operators?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Self-contained subqueries are independent of the outer
query, whereas correlated<o:p></o:p></div>
<div class="MsoNormal">
subqueries have a reference to an element from the table in
the outer<o:p></o:p></div>
<div class="MsoNormal">
query.<o:p></o:p></div>
<div class="MsoNormal">
2. With a JOIN operator, both inputs represent static
relations. With APPLY, the<o:p></o:p></div>
<div class="MsoNormal">
left side is a static relation, but the right side can be a
table expression with<o:p></o:p></div>
<div class="MsoNormal">
correlations to elements from the left table.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Which set operators does T-SQL support?<o:p></o:p></div>
<div class="MsoNormal">
2. Name two requirements for the queries involved in a set
operator.<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. The UNION, INTERSECT, and EXCEPT set operators, as well
as the UNION ALL<o:p></o:p></div>
<div class="MsoNormal">
multiset operator.<o:p></o:p></div>
<div class="MsoNormal">
2. The number of columns in the two queries needs to be the
same, and corresponding<o:p></o:p></div>
<div class="MsoNormal">
columns need to have compatible types.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What makes a query a grouped query?<o:p></o:p></div>
<div class="MsoNormal">
2. What are the clauses that you can use to define multiple
grouping sets in the<o:p></o:p></div>
<div class="MsoNormal">
same query?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. When you use an aggregate function, a GROUP BY clause, or
both.<o:p></o:p></div>
<div class="MsoNormal">
2. GROUPING SETS, CUBE, and ROLLUP.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What is the difference between PIVOT and UNPIVOT?<o:p></o:p></div>
<div class="MsoNormal">
2. What type of language constructs are PIVOT and UNPIVOT
implemented as?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. PIVOT rotates data from a state of rows to a state of
columns; UNPIVOT rotates<o:p></o:p></div>
<div class="MsoNormal">
the data from columns to rows.<o:p></o:p></div>
<div class="MsoNormal">
2. PIVOT and UNPIVOT are implemented as <b>table operators</b>.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the clauses that the different types of window
functions support?<o:p></o:p></div>
<div class="MsoNormal">
2. What do the delimiters UNBOUNDED PRECEDING and UNBOUNDED
FOLLOWING<o:p></o:p></div>
<div class="MsoNormal">
represent?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Partitioning, ordering, and framing clauses.<o:p></o:p></div>
<div class="MsoNormal">
2. The beginning and end of the partition, respectively.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Can
you store indexes from the same full-text catalog to different filegroups?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Yes.
A full-text catalog is a virtual object only; full-text indexes are physical
objects.<o:p></o:p></div>
<div class="MsoNormal">
You can store each full-text index from the same catalog to
a different file<o:p></o:p></div>
<div class="MsoNormal">
group.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How do you search for synonyms of a word with the
CONTAINS predicate?<o:p></o:p></div>
<div class="MsoNormal">
2. Which is a more specific predicate, CONTAINS or FREETEXT?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answers<o:p></o:p></b></div>
<div class="MsoNormal">
1. You have to use the CONTAINS(FTcolumn,
‘FORMSOF(THESAURUS,<o:p></o:p></div>
<div class="MsoNormal">
SearchWord1)’) syntax.<o:p></o:p></div>
<div class="MsoNormal">
2. You use the CONTAINS predicate for more specific
searches.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> How
many full-text search and how many semantic search functions are supported<o:p></o:p></div>
<div class="MsoNormal">
by SQL Server?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> SQL
Server supports two full-text search and three semantic search functions.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> How
can you get an XSD schema together with an XML document from your<o:p></o:p></div>
<div class="MsoNormal">
SELECT statement?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> You
should use the XMLSCHEMA directive in the FOR XML clause.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What do you do in the return clause of the FLWOR
expressions?<o:p></o:p></div>
<div class="MsoNormal">
2. What would be the result of the expression (12, 4, 7) !=
7?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answers<o:p></o:p></b></div>
<div class="MsoNormal">
1. In the return clause, you format the resulting XML of a
query.<o:p></o:p></div>
<div class="MsoNormal">
2. The result would be true.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Which XML data type method would you use to retrieve scalar values from an XML<o:p></o:p></div>
<div class="MsoNormal">
instance?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
value() XML data type method retrieves scalar values from an XML instance.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Can a table or column name contain spaces, apostrophes,
and other nonstandard<o:p></o:p></div>
<div class="MsoNormal">
characters?<o:p></o:p></div>
<div class="MsoNormal">
2. What types of table compression are available?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Yes, table and column names can be delimited identifiers
that contain nonstandard<o:p></o:p></div>
<div class="MsoNormal">
characters.<o:p></o:p></div>
<div class="MsoNormal">
2. You can use either page or row compression on a table.
Page compression includes row compression.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How does SQL Server enforce uniqueness in both primary
key and unique<o:p></o:p></div>
<div class="MsoNormal">
constraints?<o:p></o:p></div>
<div class="MsoNormal">
2. Can a primary key on one table have the same name as the
primary key in<o:p></o:p></div>
<div class="MsoNormal">
another table in the same database?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. SQL Server uses unique indexes to enforce uniqueness for
both primary key<o:p></o:p></div>
<div class="MsoNormal">
and unique constraints.<o:p></o:p></div>
<div class="MsoNormal">
2. No, all table constraints must have unique names in a
database.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Must a view consist of only one SELECT statement?<o:p></o:p></div>
<div class="MsoNormal">
2. What types of views are available in T-SQL?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Technically, yes, but a workaround to this is that you
can unite (using the<o:p></o:p></div>
<div class="MsoNormal">
UNION statement) multiple SELECT statements that together
produce one<o:p></o:p></div>
<div class="MsoNormal">
result set.<o:p></o:p></div>
<div class="MsoNormal">
2. You can create regular views, which are just stored
SELECT statements, or<o:p></o:p></div>
<div class="MsoNormal">
indexed views, which actually materialize the data, in
addition to partitioned<o:p></o:p></div>
<div class="MsoNormal">
views.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What type of data does an inline function return?<o:p></o:p></div>
<div class="MsoNormal">
2. What type of view can an inline function simulate?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Inline functions return tables, and accordingly, are
often referred to as inline<o:p></o:p></div>
<div class="MsoNormal">
table-valued functions.<o:p></o:p></div>
<div class="MsoNormal">
2. An inline table-valued function can simulate a
parameterized view—that is, a<o:p></o:p></div>
<div class="MsoNormal">
view that takes parameters.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Does a synonym store T-SQL or any data?<o:p></o:p></div>
<div class="MsoNormal">
2. Can synonyms be altered?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. No, a synonym is just a name. All that is stored with a
synonym is the object it<o:p></o:p></div>
<div class="MsoNormal">
refers to.<o:p></o:p></div>
<div class="MsoNormal">
2. No, to change a synonym, you must drop and recreate it.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Why is it recommended to specify the target column names
in INSERT<o:p></o:p></div>
<div class="MsoNormal">
statements?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the difference between SELECT INTO and INSERT
SELECT?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Because then you don’t care about the order in which the
columns are defined<o:p></o:p></div>
<div class="MsoNormal">
in the table. Also, you won’t be affected if the column
order is rearranged due<o:p></o:p></div>
<div class="MsoNormal">
to future definition changes, in addition to when columns
that get their values<o:p></o:p></div>
<div class="MsoNormal">
automatically are added.<o:p></o:p></div>
<div class="MsoNormal">
2. SELECT INTO creates the target table and inserts into it
the result of the query.<o:p></o:p></div>
<div class="MsoNormal">
INSERT SELECT inserts the result of the query into an
already existing table.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Which table rows are updated in an UPDATE statement
without a WHERE<o:p></o:p></div>
<div class="MsoNormal">
clause?<o:p></o:p></div>
<div class="MsoNormal">
2. Can you update rows in more than one table in one UPDATE
statement?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. All table rows.<o:p></o:p></div>
<div class="MsoNormal">
2. No, you can use columns from multiple tables as the
source, but update only<o:p></o:p></div>
<div class="MsoNormal">
one table at a time.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Which rows from the target table get deleted by a DELETE
statement without a<o:p></o:p></div>
<div class="MsoNormal">
WHERE clause?<o:p></o:p></div>
<div class="MsoNormal">
2. What is the alternative to a DELETE statement without a
WHERE clause?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. All target table rows.<o:p></o:p></div>
<div class="MsoNormal">
2. The TRUNCATE statement. But there are a few differences
between the two<o:p></o:p></div>
<div class="MsoNormal">
that need to be considered.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How many columns with an IDENTITY property are supported
in one table?<o:p></o:p></div>
<div class="MsoNormal">
2. How do you obtain a new value from a sequence?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. One.<o:p></o:p></div>
<div class="MsoNormal">
2. With the NEXT VALUE FOR function.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What is the purpose of the ON clause in the MERGE
statement?<o:p></o:p></div>
<div class="MsoNormal">
2. What are the possible actions in the WHEN MATCHED clause?<o:p></o:p></div>
<div class="MsoNormal">
3. How many WHEN MATCHED clauses can a single MERGE
statement have?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. The ON clause determines whether a source row is matched
by a target row,<o:p></o:p></div>
<div class="MsoNormal">
and whether a target row is matched by a source row. Based
on the result of<o:p></o:p></div>
<div class="MsoNormal">
the predicate, the MERGE statement knows which WHEN clause
to activate and<o:p></o:p></div>
<div class="MsoNormal">
as a result, which action to take against the target.<o:p></o:p></div>
<div class="MsoNormal">
2. UPDATE and DELETE.<o:p></o:p></div>
<div class="MsoNormal">
3. Two—one with an UPDATE action and one with a DELETE
action.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How many OUTPUT clauses can a single statement have?<o:p></o:p></div>
<div class="MsoNormal">
2. How do you determine which action affected the OUTPUT row
in a MERGE<o:p></o:p></div>
<div class="MsoNormal">
statement?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Two—one with INTO and one without INTO.<o:p></o:p></div>
<div class="MsoNormal">
2. Use the $action function.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Why is it important for SQL Server to maintain the ACID
quality of<o:p></o:p></div>
<div class="MsoNormal">
transactions?<o:p></o:p></div>
<div class="MsoNormal">
2. How does SQL Server implement transaction durability?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. To ensure that the integrity of database data will not be
compromised.<o:p></o:p></div>
<div class="MsoNormal">
2. By first writing all changes to the database transaction
log before making<o:p></o:p></div>
<div class="MsoNormal">
changes to the database data.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How many ROLLBACKs must be executed in a nested
transaction to roll it back?<o:p></o:p></div>
<div class="MsoNormal">
2. How many COMMITs must be executed in a nested transaction
to ensure that<o:p></o:p></div>
<div class="MsoNormal">
the entire transaction is committed?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Only one ROLLBACK. A ROLLBACK always rolls back the
entire transaction, no<o:p></o:p></div>
<div class="MsoNormal">
matter how many levels the transaction has.<o:p></o:p></div>
<div class="MsoNormal">
2. One COMMIT for each level of the nested transaction. Only
the last COMMIT<o:p></o:p></div>
<div class="MsoNormal">
actually commits the entire transaction.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Can readers block readers?<o:p></o:p></div>
<div class="MsoNormal">
2. Can readers block writers?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. No, because shared locks are compatible with other shared
locks.<o:p></o:p></div>
<div class="MsoNormal">
2. Yes, even if only momentarily, because any exclusive lock
request has to wait<o:p></o:p></div>
<div class="MsoNormal">
until the shared lock is released.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. If two transactions never block each other, can a
deadlock between them<o:p></o:p></div>
<div class="MsoNormal">
result?<o:p></o:p></div>
<div class="MsoNormal">
2. Can a SELECT statement be involved in a deadlock?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. No. In order to deadlock, each transaction must already
have locked a resource<o:p></o:p></div>
<div class="MsoNormal">
the other transaction wants, resulting in mutual blocking.<o:p></o:p></div>
<div class="MsoNormal">
2. Yes. If the SELECT statement locks some resource that
keeps a second transaction<o:p></o:p></div>
<div class="MsoNormal">
from finishing, and the SELECT cannot finish because it is
blocked by the<o:p></o:p></div>
<div class="MsoNormal">
same transaction, the deadlock cycle results.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. If your session is in the READ COMMITTED isolation level,
is it possible for one<o:p></o:p></div>
<div class="MsoNormal">
of your queries to read uncommitted data?<o:p></o:p></div>
<div class="MsoNormal">
2. Is there a way to prevent readers from blocking writers
and still ensure that<o:p></o:p></div>
<div class="MsoNormal">
readers only see committed data?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Yes, if the query uses the WITH (NOLOCK) or WITH
(READUNCOMMITTED)<o:p></o:p></div>
<div class="MsoNormal">
table hint. The session value for the isolation level does
not change, just the<o:p></o:p></div>
<div class="MsoNormal">
characteristics for reading that table.<o:p></o:p></div>
<div class="MsoNormal">
2. Yes, that is the purpose of the READ COMMITTED SNAPSHOT
option within the<o:p></o:p></div>
<div class="MsoNormal">
READ COMMITTED isolation level. Readers see earlier versions
of data changes<o:p></o:p></div>
<div class="MsoNormal">
for current transactions, not the currently uncommitted
data.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How can you add custom error messages?<o:p></o:p></div>
<div class="MsoNormal">
2. What is severity level 0 used for?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. You can use the system stored procedure sp_addmessage to
add your own<o:p></o:p></div>
<div class="MsoNormal">
custom error messages.<o:p></o:p></div>
<div class="MsoNormal">
2. When you issue a RAISERROR with severity level 0, only an
informational message<o:p></o:p></div>
<div class="MsoNormal">
is sent. If you add WITH NOWAIT, the message will be sent
without waiting<o:p></o:p></div>
<div class="MsoNormal">
in the output buffer.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the main advantages of using a TRY/CATCH block
over the traditional<o:p></o:p></div>
<div class="MsoNormal">
trapping for @@ERROR?<o:p></o:p></div>
<div class="MsoNormal">
2. Can a TRY/CATCH block span batches?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. The main advantage is that you have one place in your
code that errors will be<o:p></o:p></div>
<div class="MsoNormal">
trapped, so you only need to put error handling in one
place.<o:p></o:p></div>
<div class="MsoNormal">
2. No, you must have one set of TRY/CATCH blocks for each
batch of code.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. Can you generate and execute dynamic SQL in a different
database than the<o:p></o:p></div>
<div class="MsoNormal">
one your code is in?<o:p></o:p></div>
<div class="MsoNormal">
2. What are some objects that cannot be referenced in T-SQL
by using variables?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Yes, because the USE <<i>database</i>> command can
be inserted into a dynamic<o:p></o:p></div>
<div class="MsoNormal">
SQL batch.<o:p></o:p></div>
<div class="MsoNormal">
2. Objects that you cannot use variables for in T-SQL
commands include the<o:p></o:p></div>
<div class="MsoNormal">
database name in a USE statement, the table name in a FROM
clause, column<o:p></o:p></div>
<div class="MsoNormal">
names in the SELECT and WHERE clauses, and lists of literal
values in the IN()<o:p></o:p></div>
<div class="MsoNormal">
and PIVOT() functions.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How can a hacker detect that SQL injection may be
possible?<o:p></o:p></div>
<div class="MsoNormal">
2. Where is the injected code inserted?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. By inserting a single quotation mark and observing an
error message.<o:p></o:p></div>
<div class="MsoNormal">
2. Between an initial single quotation mark, which
terminates the data input<o:p></o:p></div>
<div class="MsoNormal">
string, and a final comment mark, which disables the
internal terminating<o:p></o:p></div>
<div class="MsoNormal">
single quotation mark.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How can you pass information from sp_executesql to the
caller?<o:p></o:p></div>
<div class="MsoNormal">
2. How does sp_executesql help stop SQL injection?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. Use one or more OUTPUT parameters. You can also persist
the data in a permanent<o:p></o:p></div>
<div class="MsoNormal">
or temporary table, but the most direct method is through
the OUTPUT<o:p></o:p></div>
<div class="MsoNormal">
parameter.<o:p></o:p></div>
<div class="MsoNormal">
2. You can use sp_executesql to parameterize user input,
which can prevent any<o:p></o:p></div>
<div class="MsoNormal">
injected code from being executed.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
What is the result of the parsing phase of query execution?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
result of this phase, if the query passed the syntax check, is a tree of
logical<o:p></o:p></div>
<div class="MsoNormal">
operators known as a parse tree.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How would you quickly measure the amount of disk IO a
query is performing?<o:p></o:p></div>
<div class="MsoNormal">
2. How can you get an estimated execution plan in XML format
for further analysis?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answers<o:p></o:p></b></div>
<div class="MsoNormal">
1. You should use the SET STATISTICS IO command.<o:p></o:p></div>
<div class="MsoNormal">
2. You can use the SET SHOWPLAN_XML command.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Which DMO gives you detailed text of queries executed?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> You
can retrieve the text of batches and queries executed from the<o:p></o:p></div>
<div class="MsoNormal">
sys.dm_exec_sql_text DMO.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the two types of parameters for a T-SQL stored
procedure?<o:p></o:p></div>
<div class="MsoNormal">
2. Can a stored procedure span multiple batches of T-SQL
code?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. A T-SQL stored procedure can have input and output
parameters.<o:p></o:p></div>
<div class="MsoNormal">
2. No, a stored procedure can only contain one batch of
T-SQL code.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the two types of DML triggers that can be
created?<o:p></o:p></div>
<div class="MsoNormal">
2. If an AFTER trigger discovers an error, how does it
prevent the DML command<o:p></o:p></div>
<div class="MsoNormal">
from completing?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. You can create AFTER and INSTEAD OF DML-type triggers.<o:p></o:p></div>
<div class="MsoNormal">
2. An AFTER trigger issues a THROW or RAISERROR command to
cause the transaction<o:p></o:p></div>
<div class="MsoNormal">
of the DML command to roll back.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the two types of table-valued UDFS?<o:p></o:p></div>
<div class="MsoNormal">
2. What type of UDF returns only a single value?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. You can create inline or multistatement table-valued
UDFs.<o:p></o:p></div>
<div class="MsoNormal">
2. A scalar UDF returns only a single value.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
What kind of clustering key would you select for an OLTP environment?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> For
an OLTP environment, a short, unique, and sequential clustering key might be<o:p></o:p></div>
<div class="MsoNormal">
the best choice.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
Which clauses of a query should you consider supporting with an index?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> The
list of the clauses you should consider supporting with an index includes, but<o:p></o:p></div>
<div class="MsoNormal">
is not limited to, the WHERE, JOIN, GROUP BY, and ORDER BY
clauses.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> How
would you quickly update statistics for the whole database after an upgrade?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> You
should use the sys.sp_updatestats system procedure.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. What are the commands that are required to work with a
cursor?<o:p></o:p></div>
<div class="MsoNormal">
2. When using the FAST_FORWARD option in the cursor
declaration command,<o:p></o:p></div>
<div class="MsoNormal">
what does it mean regarding the cursor properties?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. DECLARE, OPEN, FETCH in a loop, CLOSE, and DEALLOCATE.<o:p></o:p></div>
<div class="MsoNormal">
2. That the cursor is read-only, forward-only.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
1. How do you create a local temporary table, and how do you
create a global<o:p></o:p></div>
<div class="MsoNormal">
one?<o:p></o:p></div>
<div class="MsoNormal">
2. Can you name constraints in local temporary tables and in
table variables?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
1. You name a local temporary table by using a single number
sign as a prefix and<o:p></o:p></div>
<div class="MsoNormal">
a global one with two number signs as a prefix.<o:p></o:p></div>
<div class="MsoNormal">
2. You can name constraints in local temporary tables,
although it’s not recommended<o:p></o:p></div>
<div class="MsoNormal">
because it can generate name conflicts. You cannot name
constraints<o:p></o:p></div>
<div class="MsoNormal">
in table variables.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> How
would you determine whether SQL Server used the batch processing mode<o:p></o:p></div>
<div class="MsoNormal">
for a specific iterator?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> You
can check the iterator’s Actual Execution Mode property.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span> Why
might you prefer using plan guides instead of optimizer hints?<o:p></o:p></div>
<div class="MsoNormal">
<b> Answer<o:p></o:p></b></div>
<div class="MsoNormal">
<span style="font-family: "Arial","sans-serif";">■■</span>
With plan guides, you do not need to change the query text.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-87454653488108000412014-11-10T16:25:00.000+05:302014-11-10T17:45:12.034+05:30SQL Server Difference FAQs-1<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 class="post-title entry-title" itemprop="name" style="background-color: #fefdfa; color: #d52a33; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 22px; font-stretch: normal; font-weight: normal; margin: 0px; position: relative;">
SQL Server Difference FAQs-1</h3>
<div class="post-header" style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 1.6; margin: 0px 0px 1em;">
<div class="post-header-line-1">
</div>
</div>
<div class="post-body entry-content" id="post-body-1117512328882201968" itemprop="description articleBody" style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; position: relative; width: 586px;">
<div dir="ltr" trbidi="on">
<ol>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What are the Differences between TRUNCATE and Delete?</b></span></span></div>
</li>
</ol>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="25*"></col><col width="109*"></col><col width="122*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Truncate</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Delete</b></span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Truncate is faster</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Delete is comparatively slower</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Removes all rows from a table</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Can remove specific rows with Where clause</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Is DDL Command</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Is DML Command</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Resets identity of the table</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Does not reset identity of the table</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">5</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Removes the data by deallocating the data pages and logs the deallocation.</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Removes one row at a time and records an entry in the transaction log for each deleted row.</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">6</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Cannot be rolled back</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Can be rolled back</span></span></td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in;">
Remarks:<span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 18px;">TRUNCATE TABLE removes all rows from a table, but the table structure and its columns, constraints, indexes, and so on remain. To remove the table definition in addition to its data, use the DROP TABLE statement.</span></div>
<div style="margin-bottom: 0in;">
<span style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; line-height: 18px;"><br /></span></div>
<ol start="2">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Primary key and Unique key?</b></span></span></div>
</li>
</ol>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="25*"></col><col width="109*"></col><col width="122*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Primary Key</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Unique Key</b></span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Creates Clustered index</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Creates Non-Clustered index</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Null values are not allowed.</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Allows only one null value.</span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">We can have only one Primary key in a table. </span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">We can have more than one unique key in a table. </span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Primary key can be made foreign key into another table. </span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Unique key cannot be made foreign key into another table. </span></span></td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in;">
<br /></div>
<ol start="3">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What are the Differences between Clustered Indexes and Non-Clustered Indexes?</b></span></span></div>
</li>
</ol>
<div style="margin-bottom: 0in; margin-left: 0.25in;">
<br /></div>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="24*"></col><col width="110*"></col><col width="122*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Clustered Indexes</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Non-Clustered Indexes</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It reorders the physical storage of records in the table</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It sorts and maintain a separate storage</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">There can be only one Clustered index per table</span></span></td><td width="48%"><span style="color: #333333;"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">We can have 249 non-clustered indexes in a table</span></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">The leaf nodes contain data</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">The leaf node contains pointer to data</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><div lang="en-US">
<span style="color: #333333;"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">To create clustered index Sql server required more memory because the leaf pages in the tree structure will maintain actual data .</span></span></span></div>
</td><td width="48%"><div lang="en-US">
<span style="color: #333333;"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">To create non-clustered index Sql server requires less memory because the leaf pages will contain pointers to actual data</span></span></span></div>
</td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">5</span></span></td><td width="43%"><div lang="en-US">
<span style="color: #333333;"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">By using clustered index retrieving data is more faster,when we compare with non-clustered index.</span></span></span></div>
</td><td width="48%"><div lang="en-US">
<span style="color: #333333;"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">By using non-clustered index retrieving data is slower than clustered index.</span></span></span></div>
</td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in;">
<br /></div>
<ol start="4">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Stored Procedures and User Defined Functions?</b></span></span></div>
</li>
</ol>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="24*"></col><col width="109*"></col><col width="123*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Stored Procedures</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>User Defined Functions</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedure cannot be used in a Select statement</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Function can be used in a Select statement</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored procedure supports Deferred Name Resolution</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Function does not support Deferred Name Resolution</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedures are generally used for performing Business Logic</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Functions are generally used for Computations</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedure need not return a value</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Functions should return a value</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">5</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedures can return any datatype</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Functions cannot return Image</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">6</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedures can accept more number of input parameters than User Defined Functions. Stored Procedures can have upto 21000 input parameters</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Functions accept lesser number of input parameters than Stored Procedures. UDF can have upto 1023 input parameters</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">7</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedures can use Temporary Tables</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Temporary Tables cannot be used in a User Defined Function</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">8</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedures can execute Dynamic SQL</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Functions cannot execute Dynamic SQL</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">9</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Stored Procedure supports error handling</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">User Defined Function does not support error handling. RAISEERROR or @@ERROR are not allowed in UDFs</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">10</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Non-deterministic functions can be used in Stored Procedures.</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Non-deterministic functions cannot be used in User Defined Functions (UDFs). For example, GETDATE() cannot be used in User Defined Functions(UDFs)</span></span></td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in;">
<h2 style="background-color: #f9f9f9; box-sizing: border-box; color: #4466c5; font-family: 'Segoe UI', Arial, sans-serif; font-size: 24px; font-weight: normal; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;">
Basic Difference</h2>
<ol class="orderlist" style="background-color: #f9f9f9; box-sizing: border-box; color: #161616; font-family: 'Segoe UI', Arial, sans-serif; font-size: 22px; line-height: 24px; list-style-type: decimal-leading-zero; margin-bottom: 10px; margin-left: 2px; margin-top: 0px;">
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Function must return a value but in Stored Procedure it is optional( Procedure can return zero or n values).</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Functions can have only input parameters for it whereas Procedures can have input/output parameters .</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Functions can be called from Procedure whereas Procedures cannot be called from Function.</div>
<div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
</div>
</li>
</ol>
<h2 style="background-color: #f9f9f9; box-sizing: border-box; color: #4466c5; font-family: 'Segoe UI', Arial, sans-serif; font-size: 24px; font-weight: normal; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;">
Advance Difference</h2>
<ol class="orderlist" style="background-color: #f9f9f9; box-sizing: border-box; color: #161616; font-family: 'Segoe UI', Arial, sans-serif; font-size: 22px; line-height: 24px; list-style-type: decimal-leading-zero; margin-bottom: 10px; margin-left: 2px; margin-top: 0px;">
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Procedure allows SELECT as well as DML(INSERT/UPDATE/DELETE) statement in it whereas Function allows only SELECT statement in it.</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Procedures can not be utilized in a SELECT statement whereas Function can be embedded in a SELECT statement.</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Stored Procedures cannot be used in the SQL statements anywhere in the WHERE/HAVING/SELECT section whereas Function can be.</div>
<div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
The most important feature of stored procedures over function is to retention and reuse the execution plan while in case of function it will be compiled every time.</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Functions that return tables can be treated as another rowset. This can be used in JOINs with other tables.</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Inline Function can be though of as views that take parameters and can be used in JOINs and other Rowset operations.</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
Exception can be handled by try-catch block in a Procedure whereas try-catch block cannot be used in a Function.</div>
</li>
<li style="box-sizing: border-box; padding: 5px 0px; text-align: justify;"><div style="box-sizing: border-box; font-size: 14px; padding: 0px; vertical-align: top;">
We can go for Transaction Management in Procedure whereas we can't go in Function.</div>
</li>
</ol>
</div>
<ol start="5">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Where and Having clauses?</b></span></span></div>
</li>
</ol>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="23*"></col><col width="110*"></col><col width="123*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Where clause</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Having clause</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It applies to individual rows</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It applies to a group as a whole</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It selects rows before grouping</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It selects rows after grouping</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It cannot contain aggregate functions</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It can contain aggregate functions</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It can be used in select, delete ,insert etc.</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It is used only in select clause</span></span></td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in; margin-left: 0.5in;">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">The
WHERE clause is evaluated <b>before rows are grouped</b>, and therefore is evaluated per
row. The HAVING clause is evaluated<b> after rows are grouped</b>, and therefore is
evaluated per group.</span></div>
<ol start="6">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Union and UnionAll?</b></span></span></div>
</li>
</ol>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="24*"></col><col width="110*"></col><col width="122*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Union</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>UnionAll</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">This is used to eliminate duplicate rows</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It will not eliminate duplicate rows</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">This selects only distinct rows</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It selects all the values</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It can be used to combine any number of queries</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It can be used to combine maximum of 2 queries</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It cannot contain aggregate functions</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">It can contain aggregate functions</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">5</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Union is slower than UnionAll</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">UnionAll is faster than Union</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">6</span></span></td><td width="43%"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Output is in sorted order</span></span></div>
<div style="margin-bottom: 0in;">
<br /></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Example :</b></span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">SELECT Col</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">FROM @Table1</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">UNION</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">SELECT Col</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">FROM @Table2</span></span></div>
<div style="margin-bottom: 0in;">
<br /></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Result:</b></span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></div>
<div>
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">5</span></span></div>
</td><td width="48%"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Output is not in sorted order</span></span></div>
<div style="margin-bottom: 0in;">
<br /></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Example :</b></span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">SELECT Col</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">FROM @Table1</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">UNION ALL</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">SELECT Col</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">FROM @Table2</span></span></div>
<div style="margin-bottom: 0in;">
<br /></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Result:</b></span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></div>
<div>
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">5</span></span></div>
</td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in; margin-left: 0.5in;">
<br /></div>
<div style="margin-bottom: 0in;">
</div>
<ol start="7">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>What is the difference between normal Select statement and a Cursor?</b></span></span></div>
</li>
</ol>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="25*"></col><col width="109*"></col><col width="122*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Select statement</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Cursor</b></span></span></td></tr>
<tr valign="TOP"><td width="10%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Select statements are used for table-level processing</span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Cursors are used for row-level processing</span></span></td></tr>
</tbody></table>
</dd></dl>
<div style="margin-bottom: 0in;">
<br /></div>
<div style="margin-bottom: 0in;">
<span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>8) Difference between Primary Key and Foreign Key</b></span></span></div>
<dl><dd><table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="23*"></col><col width="110*"></col><col width="123*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Primary Key</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;"><b>Foreign Key</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Primary key uniquely identify a record in the table. </span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Foreign key is a field in the table that is primary key in another table. </span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Primary Key cannot accept null values. </span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">Foreign key can accept multiple null values. </span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">By default, Primary key is clustered index and data in the database table is physically organized in the sequence of clustered index. </span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">While Foreign key is non-clustered index. </span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">We can have only one Primary key in a table. </span></span></td><td width="48%"><span style="font-family: Arial, sans-serif;"><span style="font-size: x-small;">We can have more than one foreign key in a table. </span></span></td></tr>
</tbody></table>
</dd></dl>
</div>
</div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-47908617189990288182014-11-10T16:08:00.001+05:302014-12-02T16:01:53.071+05:30SQL SERVER Basics<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
1. FROM<br />2. ON<br />3. OUTER<br />4. WHERE<br />5. GROUP BY<br />6. CUBE | ROLLUP<br />7. HAVING<br />8. SELECT<br />9. DISTINCT<br />10 ORDER BY<br />11. TOP</div>
<div style="text-align: justify;">
As OUTER join is applied subsequent to ON clause, all rows eliminated by the ON clause will still be included by the OUTER join as described in the article <strong><a href="http://blog.sqlauthority.com/2009/03/15/sql-server-interesting-observation-of-on-clause-on-left-join-how-on-clause-effects-resultset-in-left-join/" target="_blank"><span style="color: #384f83;">SQL SERVER – Interesting Observation of ON Clause on LEFT JOIN – How ON Clause Effects Resultset in LEFT JOIN</span></a>.</strong></div>
<br />
Tip:<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0.25in; mso-margin-top-alt: auto; text-align: justify;">
<i><span lang="EN" style="font-family: "Times New Roman","serif"; font-size: 10.5pt; mso-ansi-language: EN; mso-fareast-font-family: "Times New Roman";">When I want to filter records in a query, I usually put
the condition in the WHERE clause. When I make an inner join, I can put the
condition in the ON clause instead, giving the same result. But with left joins
this is not the case. Here is a quote from the SQL Server documentation:</span></i><span lang="EN" style="font-family: "Times New Roman","serif"; font-size: 10.5pt; mso-ansi-language: EN; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<b><i><span lang="EN" style="font-family: "Times New Roman","serif"; font-size: 10.5pt; mso-ansi-language: EN; mso-fareast-font-family: "Times New Roman";">Although the placement of such predicates does not make a
difference for INNER joins, they might cause a different result when OUTER
joins are involved. This is because the predicates in the ON clause are applied
to the table before the join, whereas the WHERE clause is semantically applied
to the result of the join.</span></i></b><span lang="EN" style="font-family: "Times New Roman","serif"; font-size: 10.5pt; mso-ansi-language: EN; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span><br />
<br />
<br />
Views:Views are virtual tables that are compiled at run time. The data associated with views are not physically stored in the view, but it is stored in the base tables of the view.<br />
A view can be made over one or more database tables. Generally we put those columns in view that we need to retrieve/query again and again. Once you have created the view, you can query view like as table. We can make index, trigger on view.<br />
<br />
Types of Views<br />
<br />
In Sql Server we have two types of views.<br />
<br />
01.System Defined Views<br />
<br />
02.User Defined Views-->a)single table b)complex view(on multiple table)<br />
<br />
system defined views:<br />
<br />
01.Information Schema View<br />
02.Catalog View<br />
03.Dynamic Management View<br />
01.Server-scoped Dynamic Management View(dmv)<br />
These are stored only in the Master database.<br />
<br />
02.Database-scoped Dynamic Management View(dmv)<br />
These are stored in each database.<br />
<br />
<br />
Deep on views:<br />
<br />
•SQL SERVER – ORDER BY Does Not Work – Limitation of the View 1<br />
•SQL SERVER – Adding Column is Expensive by Joining Table Outside View – Limitation of the View 2<br />
•SQL SERVER – Index Created on View not Used Often – Limitation of the View 3<br />
•SQL SERVER – SELECT * and Adding Column Issue in View – Limitation of the View 4<br />
•SQL SERVER – COUNT(*) Not Allowed but COUNT_BIG(*) Allowed – Limitation of the View 5<br />
•SQL SERVER – UNION Not Allowed but OR Allowed in Index View – Limitation of the View 6<br />
•SQL SERVER – Cross Database Queries Not Allowed in Indexed View – Limitation of the View 7<br />
•SQL SERVER – Outer Join Not Allowed in Indexed Views – Limitation of the View 8<br />
•SQL SERVER – SELF JOIN Not Allowed in Indexed View – Limitation of the View 9<br />
•SQL SERVER – Keywords View Definition Must Not Contain for Indexed View – Limitation of the View 10<br />
•SQL SERVER – View Over the View Not Possible with Index View – Limitations of the View 11<br />
<br />
<br />
Stored procedure:stored procedure is a precompiled set of one or more SQL statements that is stored on Sql Server.<br />
Benifit of Stored Procedures is that they are executed on the server side and perform a set of actions, before returning the results to the client side.<br />
This allows a set of actions to be executed with minimum time and also reduce the network traffic. Hence stored procedure improve performance to execute sql statements.<br />
<br />
Types of Stored Procedure<br />
01.System Defined Stored Procedure<br />
02.Extended Procedure<br />
03.User Defined Stored Procedure<br />
04.CLR Stored Procedure<br />
<br />
1.System Defined Stored Procedure:These stored procedure are already defined in Sql Server.<br />
These are physically stored in hidden Sql Server Resource Database and logically appear in the sys schema of each user defined and system defined database.<br />
<br />
2.Extended procedures provide an interface to external programs for various maintenance activities.<br />
These extended procedures starts with the xp_ prefix and stored in Master database. Basically these are used to call programs that reside on the server automatically from a stored procedure or a trigger run by the server.<br />
<br />
3.User Defined Stored Procedure:These procedures are created by user for own actions. These can be created in all system databases except the Resource database or in a user-defined database.<br />
<br />
Note<br />
1.We can nest stored procedures and managed code references in Sql Server up to 32 levels only. This is also applicable for function, trigger and view.<br />
<br />
2.The current nesting level of a stored procedures execution is stored in the @@NESTLEVEL function.<br />
<br />
3.In Sql Server stored procedure nesting limit is up to 32 levels, but there is no limit on the number of stored procedures that can be invoked with in a stored procedure<br />
<br />
<br />
<br />
<br />
Function:It is a database object in Sql Server. Basically it is a set of sql statements that accepts only input parameters, perform actions and return the result.<br />
Function can return only single value or a table. We can’t use function to Insert, Update, Delete records in the database table(s).<br />
<br />
Types of Function<br />
01.System Defined Function<br />
02.User Defined Function<br />
<br />
02.User Defined Function:These functions are created by user in system database or in user defined database. We three types of user defined functions.<br />
<br />
01.Scalar Function<br />
02.Inline Table-Valued Function<br />
03.Multi-Statement Table-Valued Function<br />
<br />
Scalar function:User defined scalar function also returns single value as a result of actions perform by function. We return any datatype value from function<br />
<br />
2.Inline table-valued function:User defined inline table-valued function returns a table variable as a result of actions perform by function.<br />
The value of table variable should be derived from a single SELECT statement.<br />
<br />
3.03.Multi-Statement Table-Valued Function<br />
User defined multi-statement table-valued function returns a table variable as a result of actions perform by function. In this a table variable must be explicitly declared and defined whose value can be derived from a multiple sql statements<br />
<br />
<br />
Cursor:<br />
As we know, the cursors are required when we need to update records in a database table in singleton fashion means row by row.<br />
You should avoid the use of cursor. In this article, I am explaining how<br />
you can use cursor alternatives :<br />
like as WHILE loop, Temporary tables and Table variables. We should use cursor in that case when there is no option except cursor.<br />
<br />
Cursor:<br />
A Cursor impacts the performance of the SQL Server since it uses the SQL Server instances' memory, reduce concurrency, decrease network bandwidth<br />
and lock resources. Hence it is mandatory to understand the cursor types and its functions so that you can use suitable cursor according to your needs.<br />
<br />
Types of Cursors<br />
<br />
01.Static Cursors<br />
2.Dynamic cursors<br />
3.forword only cursor<br />
4.keyset driven cursosr<br />
<br />
<br />
Triggers: Triggers are special stored procedures that an RDBMS executes, or fires, automatically.<br />
You can use Data Modifi cation Language (DML) triggers to enforce data modifi cation rules and<br />
Data Definition Language (DDL) triggers to enforce schema modification rules.<br />
Triggers can fire before or after the statement that is modifying the state of a database.<br />
<ol style="background-color: white; border: 0px currentColor; color: #111111; font-family: "Segoe UI", Arial, sans-serif; font-size: 14px; margin: 10px 0px; padding: 0px 0px 0px 40px;" type="i">
<li style="border: 0px currentColor; margin: 0px; padding: 0px;">After Triggers (For Triggers)</li>
<li style="border: 0px currentColor; margin: 0px; padding: 0px;">Instead Of Triggers</li>
</ol>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-27263551818585544422014-11-10T16:05:00.002+05:302014-11-10T16:05:54.858+05:30SQL Server Difference FAQs-2<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 class="post-title entry-title" itemprop="name" style="background-color: #fefdfa; color: #d52a33; font-family: Georgia, Utopia, 'Palatino Linotype', Palatino, serif; font-size: 22px; font-stretch: normal; font-weight: normal; margin: 0px; position: relative;">
SQL Server Difference FAQs-2</h3>
<div class="post-header" style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 1.6; margin: 0px 0px 1em;">
<div class="post-header-line-1">
</div>
</div>
<div class="post-body entry-content" id="post-body-7465270664536919772" itemprop="description articleBody" style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; position: relative; width: 586px;">
<div dir="ltr" trbidi="on">
<ol>
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Instead of Triggers and After Triggers?</b></span></span></div>
</li>
</ol>
<dl><dd><span style="font-family: Arial, Helvetica, sans-serif;"></span><span style="font-family: Arial, Helvetica, sans-serif;"></span>
<br />
<table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="23*"></col></colgroup><colgroup><col width="110*"></col></colgroup><colgroup><col width="123*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>Instead of Triggers</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>After Triggers</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Each table or view can have one INSTEAD OF trigger for each triggering action (UPDATE, DELETE, and INSERT)</span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">A table can have several AFTER triggers for each triggering action.</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">INSTEAD OF triggers fire in place of the triggering action and before constraints are processed.</span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">AFTER triggers fire after the triggering action (INSERT, UPDATE, or DELETE) and after any constraints are processed.</span></span></td></tr>
</tbody></table>
</dd></dl>
<ol start="2">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Views and User-Defined Functions?</b></span></span></div>
</li>
</ol>
<dl><dd><span style="font-family: Arial, Helvetica, sans-serif;"></span><span style="font-family: Arial, Helvetica, sans-serif;"></span>
<br />
<table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="22*"></col></colgroup><colgroup><col width="110*"></col></colgroup><colgroup><col width="123*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>Views</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>User-Defined Functions</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Views cannot accept parameters.</span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">User-Defined Functions can accept parameters.</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">Output of the Views cannot be directly used in the SELECT clause.</span></span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Output of the User-Defined Functions can be directly used in the SELECT clause.</span></span></td></tr>
</tbody></table>
</dd></dl>
<ol start="3">
<li style="margin: 0px 0px 0.25em; padding: 0px;"><div style="margin-bottom: 0in;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>What are the differences between Triggers and Stored Procedures?</b></span></span></div>
</li>
</ol>
<dl><dd><span style="font-family: Arial, Helvetica, sans-serif;"></span><span style="font-family: Arial, Helvetica, sans-serif;"></span>
<br />
<table border="1" cellpadding="7" cellspacing="0"><colgroup><col width="23*"></col></colgroup><colgroup><col width="110*"></col></colgroup><colgroup><col width="123*"></col></colgroup><tbody>
<tr valign="TOP"><td bgcolor="#c0c0c0" width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>S.No</b></span></span></td><td bgcolor="#c0c0c0" width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>Triggers</b></span></span></td><td bgcolor="#c0c0c0" width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;"><b>Stored Procedures</b></span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">1</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Triggers cannot return a value</span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Stored Procedures may return a value</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">2</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">We cannot pass parameters in Triggers</span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">We can pass parameter in Stored Procedures</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">3</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">We can write a Stored procedure within a Trigger</span></span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">We cannot write a Trigger within a Stored Procedure</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">4</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">Triggers are implicitly fired whenever insert, update or delete operations take place on table</span></span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Stored Procedures need to be explicitly called by the programmer</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">5</span></span></td><td width="43%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">Triggers can only be implemented on Tables or Views</span></span></span></td><td width="48%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">Stored procedures can be written for the Database</span></span></td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">6</span></span></td><td width="43%"><div lang="en-US">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">We cannot schedule a trigger.</span></span></span></div>
</td><td width="48%"><div lang="en-US">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">Stored procedures can be scheduled through a job to execute on a predefined time</span></span></span></div>
</td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">7</span></span></td><td width="43%"><div lang="en-US">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">We cannot use the print command inside a trigger.</span></span></span></div>
</td><td width="48%"><div lang="en-US">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">We can use the Print commands inside the stored procedure for debugging purpose</span></span></span></div>
</td></tr>
<tr valign="TOP"><td width="9%"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: x-small;">8</span></span></td><td width="43%"><div lang="en-US">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">We cannot call a trigger from these files.</span></span></span></div>
</td><td width="48%"><div lang="en-US">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #333333;"><span style="font-size: x-small;">We can call a stored procedure from front end (.asp files, .aspx files, .ascx files etc.)</span></span></span></div>
</td></tr>
</tbody></table>
</dd></dl>
</div>
</div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-77063442225401844492014-10-16T11:44:00.001+05:302015-11-18T16:25:18.384+05:30SQL TIPS<div dir="ltr" style="text-align: left;" trbidi="on">
SQL Server triggers execution precedence View(s): 7621 I had created two update triggers for two columns in a table. When i use update statement on this table on which order or precedence trigger will fires? Answer 1) -------------------------------------------------------------------------------- There is no guarantee as to what order they'll fire in. But still you can use sp_settriggerorder to define the first and last trigger to execute. For the rest the order is undefined. If precedence is matters to you then put all the logic in one trigger. <br />
<br />
Replace Function: The reason is in SQL 2005 REPLACE trims trailing spaces whereas in SQL 2008 it preserves the space characters. <br />
<br />
Full cache mode(Lookup) Partial & No cache(Lookup) comparison happens inside SSIS engine itself (Case sensitive) comparison takes place in T-SQL engine and so it will be case insensitive by default (Case In-sensitive) If same case in-sensitive functionality use derived column then lookup <br />
<br />
<div>
<br />
<br />
Checkpoint data is not saved for ForLoop and ForEach Loop containers. Whenever package restarts the For Loop and ForEach Loop containers and the child containers are <br />
run again. So as conclusion for loop a container if a child container in the loop runs successfully, it is not recorded in the checkpoint file, instead it is rerun. <br />
There is work around for this as listed on Microsoft website: put loop task inside the sequence container task. Now one big thing which you have to remember that checkpoint applies for control flow task only it means if there is failure in data-flow task it will rerun the data-flow task again. For example there is data-flow task where out of 50000 records 20000 transferred in to destination. At this point a general error occurs and fails the data-flow task. Now what will checkpoint do will the data-flow continue for rest records or it will start from new when package restart. Answer simply entire data-flow task will restart from beginning. <br />
<br />
<br />
<h2>
Q: The webcast mentions SSIS restartability, but not checkpointing. Why?</h2>
There are several reasons for this:<br />
<ul>
<li>Checkpointing is not that straightforward to implement.</li>
<li>Checkpointing works well for only a limited number of scenarios. Looping or parallelism are difficult to handle.</li>
<li>Checkpoints are not that flexible.</li>
<li>Event handlers are problematic.</li>
<li>Checkpoints do not store variables of type Object.</li>
</ul>
SQL Server MVP Jamie Thomson explains his objections in the blog post <a href="http://sqlblog.com/blogs/jamie_thomson/archive/2011/03/10/why-i-don-t-use-ssis-checkpoint-files.aspx" target="_blank">Why I don't use SSIS checkpoint files</a> (it's an old post, some links are broken). The discussion is also interesting to read.<br />
Personally I prefer to create small modular packages. Each package only does a basic task that shouldn't take too long. For example, load a dimension. I won't create one single huge package that will load all dimensions of a data warehouse. The most time is usually spent in the data flow, which isn't covered by a checkpoint anyway. If I would have an Execute SQL Task at the end of the package taking an hour to run, I will most likely put it in a separate package so it can easily be restarted.<br />
If you have a valid use case for using checkpoint files, you can check out the tip <a href="https://www.mssqltips.com/sqlservertip/1408/integration-services-checkpoints-to-restart-package-from-failure/" target="_blank">Integration Services Checkpoints to restart package from failure</a>.<br />
<br />
<br />
<br />
<br />
<strong>Q</strong><strong>. Would you recommend using “Check Points” in SSIS?</strong><br />
<strong>Ans</strong><strong>:</strong><br />
<div style="text-align: justify;">
As per my experience I could say “NO” as there are compatibility issues with various options hence using checkpoints may give unpredictable results. Checkpoints doesn’t work properly when a SSIS package contains</div>
<ul>
<li>Complex logic</li>
<li>Iterations/Loops</li>
<li>Transactions Enabled</li>
<li>“Object” type variables</li>
<li>Parallel execution</li>
</ul>
<div style="text-align: justify;">
Checkpoints works fine when the package is having straightforward control flow with a single thread.<br />
<br /><br />
<h2>
Q: What are the most efficient ways to run a large aggregate SQL Server Integration Services Job? I split my data flows to do aggregation, then handle the results separately. </h2>
Not exactly a question, but rather a statement on my best practice that aggregations (and sorting) should be done in the SQL Server database, not in the SSIS data flow. The reason for this is that SSIS uses blocking components to do these types of transformations which means they need to read all of the rows into memory before they can output even one single row.<br />
Separating the flow into separate streams has certain merit, since you're doing a "divide and conquer" strategy. High-level this corresponds with the same map-reduce method of big data systems. However, this approach has two options: you either execute the different data flows in parallel or you execute them one after another. The first option still has the issue that everything has to be loaded into memory at once. The second option has a performance impact since a data flow always has to wait for the previous data flow to finish. Both options still need sorted data. This might be resolved by reading from a table with an index supporting the sort order, since then the database engine can just read the sorted data. You still have to mark the input as sorted in the advanced editor of the source component in the data flow. The tip <a href="https://www.mssqltips.com/sqlservertip/1322/merge-multiple-data-sources-with-sql-server-integration-services/" target="_blank">Merge multiple data sources with SQL Server Integration Services</a> shows how you can do this.<br />
<br /><br />
My opinion is that in most cases, the database engine is best suited to handle large set based operations such as aggregating and sorting data. The data flow is capable of handling small data sets which fit in memory without issues. The SSIS package however becomes less scalable for larger data loads. SQL Server can scale reasonable well. If the aggregation is too much even for SQL Server to handle, alternative options such as the map-reduce method can be considered.<br />
<br /></div>
<br />
<br />
<br />
<br />
<div class="MsoNormal">
The both transformations accept one input and give us
multiple outputs<o:p></o:p></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Multicast<o:p></o:p></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Conditionalsplit<o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Directs each row of the source to every o/p<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Directs each row to a single o/p<o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Both transformations can add new columns.<o:p></o:p></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Dervied column<o:p></o:p></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Copy column<o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: #F4F8FB; color: #444444; font-family: "arial" , sans-serif; font-size: 10.0pt;">Can add new columns without any help from
existing columns.</span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: #F4F8FB; color: #444444; font-family: "arial" , sans-serif; font-size: 10.0pt;">can add new columns only through existing
columns<span class="apple-converted-space"> </span></span><o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: #F4F8FB; color: #444444; font-family: "arial" , sans-serif; font-size: 10.0pt;">can assign different transformations and
data types to the new columns</span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
No options available<o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: #F4F8FB; color: #444444; font-family: "arial" , sans-serif; font-size: 10.0pt;">supports error output<span class="apple-converted-space"> </span></span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: #F4F8FB; color: #444444; font-family: "arial" , sans-serif; font-size: 10.0pt;">whereas Copy</span> column can’t support error output<o:p></o:p></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;">Project parameters</span><o:p></o:p></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;">Package parameters</span><o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span class="apple-converted-space"><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;"> </span></span><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; mso-bidi-font-size: 11.5pt;">A project parameter can be shared among all
of the packages in an SSIS project</span><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;">.</span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; mso-bidi-font-size: 11.5pt;">A package parameter
is exactly the same as a project parameter – except that the scope of a
package parameter is the individual package it resides in</span><o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span class="apple-converted-space"><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;"> </span></span><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; mso-bidi-font-size: 11.5pt;">You want to use a project parameter when, at
run-time, the <b>value is the same for
all packages</b>. </span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span class="apple-converted-space"><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;"> </span></span><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; mso-bidi-font-size: 11.5pt;">You want to use a package parameter when, at
run-time, the <b>value is different for
each package.</b> </span><o:p></o:p></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span class="apple-converted-space"><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 11.5pt;"> </span></span><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; mso-bidi-font-size: 11.5pt;">project parameters do *not* have an
expressions property to define their value</span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #424242; font-family: "segoe ui" , sans-serif; font-size: 9.0pt; mso-bidi-font-size: 10.0pt;">Ex:For instance if you
wanted to have a single parameter containing a server name to be used by
multiple package</span><span class="apple-converted-space"><span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 9.0pt; mso-bidi-font-size: 11.5pt;"><o:p></o:p></span></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;" valign="top" width="213"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; line-height: 115%; mso-bidi-font-size: 11.5pt;">Note: Parameters can also pass values to all kinds of objects
in SSIS – basically any property that allows an expression.</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 10.0pt; line-height: 115%; mso-bidi-font-size: 11.5pt;">2.You can think of parameters are the replacement for package
configurations which were used in earlier versions of SSIS.</span><o:p></o:p></div>
<div style="line-height: 14.65pt; margin-top: 9.0pt;">
<span style="color: #424242; font-family: "segoe ui" , sans-serif; font-size: 10.0pt;">3.You can use a parameter
anywhere in an expression by referring it using the following syntax:<o:p></o:p></span></div>
<div style="line-height: 14.65pt; margin-top: 9pt;">
<span style="color: #424242; font-family: "courier new"; font-size: 10.0pt;">@[$<<project ackage="">>::<<parametername>>]</parametername></project></span><span style="color: #424242; font-family: "segoe ui" , sans-serif; font-size: 10.0pt;"><o:p></o:p></span></div>
<div style="line-height: 14.65pt; margin-top: 9pt;">
<span style="color: #424242; font-family: "segoe ui" , sans-serif; font-size: 10.0pt;">E.g.<o:p></o:p></span></div>
<div style="line-height: 14.65pt; margin-top: 9pt;">
<span style="color: #424242; font-family: "segoe ui" , sans-serif; font-size: 10pt; line-height: 14.65pt;">The evaluation order is
similar to using a variable in an expression and then executing a package.
Hence, the value gets evaluated and assigned to the property at Validation
phase.</span><br />
<span style="color: #424242; font-family: "segoe ui" , sans-serif; font-size: 10pt; line-height: 14.65pt;"><br /></span>
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Variable</div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Parameter</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 9.0pt; mso-bidi-font-size: 11.5pt;">Within a package,
SSIS variables have an expression property.</span> </div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 9.0pt; mso-bidi-font-size: 11.5pt;">A variable can be
scoped to the package or an object within the package (there’s no such thing
as a project variable though). </span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="background: white; color: #616161; font-family: "trebuchet ms" , sans-serif; font-size: 9.0pt; mso-bidi-font-size: 11.5pt;">Variables often
consume values from parameters within their expressions (an example of this
is in the next screen shot). Variables can also communicate values to
objects like Execute SQL tasks, For Each containers, Send Mail tasks, and so
on.</span><o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 239.4pt;" valign="top" width="319"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
</td>
</tr>
</tbody></table>
</div>
</div>
<div style="margin-top: 9pt;">
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">control flow defines the tasks used in performing data management operations;</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">it determines the order in which these tasks are executed and the conditions of their execution.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Dataflow:is a special contral flow task used specifically in data movement operations and data transformations.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Lineage columns:used for auditing and never exposed to end users</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Mywords:implement Staging table and other objects in a sepearte dbase.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Usage Staging table:temporarily store source data before cleansing it or merging it with data from other sources.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">staging table-->serve as intermediate layer (b/w DW and source tables) and then starts reqular ETL process.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">DSA:The part of a DW containing staging tables is called the data staging area(DSA).</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Implementing Fact Tables:It is not necessary that all foreign keys together uniquely identify each row of a fact table.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">inferred member:A row in a demension added during fact table load is called an inferred member</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">You can add lineage information to your dimensions and fact tables to audit changes to your DW on a row level(summary) </span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Tasks representing logical units of work can be grouped in containers.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">SSIS does not support receiving email messages.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Design time validation can be disabled for every ssis object using delayvalidition property =>True</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"> A failure constraint will allow the following task to begin if the preceding</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">task has encountered errors and failed.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">The External Process tasks will be executed in sequence, and the process will continue, even if one or more of them fail.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Use a Raw File destination if you have to temporarily store data to be used by SSIS</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">■■ Use the Resolve References dialog box to solve mapping errors.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"> Which data flow transformation would you use if had to combine data from two different</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">database tables that exist on two different servers? </span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Variables and expressions can also be used to extend the elementary functionality of</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">precedence constraints based on information available at run time that usually is not available at design time.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Lookup: more matching rows exist from the referenced dataset,only first one will be retreived</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Mergejoin:more rows will retreived,because all matching data is retreving</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">The Merge transformation is similar to Union All, but with Merge, the sources have to be sorted and the sort position is preserved.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Is it possible to change the settings of an SSIS object at run time?</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">When are property expressions evaluated as a package is running?</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Answer Unlike parameters that are read at the start of package execution, property expressions are updated when the property is accessed by the package during package execution.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">A property expression can change the value of a property in the middle of package execution, so that the new value is read when the property is needed by the package.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">The Recordset Destination is a handy component to use when you do not need to (nor want to) persist your data. One drawback of using the in-memory ADO dataset is that Integration Services does not provide any out-of-box methods to get the row count in the dataset. This is when Row Count transformation becomes invaluable to me.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">setbased update:avoid the usage of delete or update oeration,this recommandation is mostly focused on large fact table.even we need few update or deletes to dim table's</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">using Oledbcommand(row by row) or staging +execute sqltask</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">DFT-->spaces->RC click->entry point package(ssis package design pattern is to make use of parent package to control the execution of several child packages)</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">SSIS 2012 Imporvements:</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Flatfile source :flatfilesource parser:it can now support ragged-right delimited files and embedded qualifiers</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Grouping:DFT,it is like sequence container in controlflow,except it exist only in designer,and also not affect the way dataflow actually runs.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">we can also disable,if compilicate dataflow.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Parameter configurations are stored within a visualstudioprojectfile(.dtproj).To save any changes made in manage parameters values dialogbox,you must save the project</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">1.you can change variable values inside a package execution,but you cannot change parameter values</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">2.From a usage perspective,you usually use parameters to define the contract b/w a package and its caller,whereas you use variables primarily for exchanging</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">information insida a package.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Parameters:</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">parent package and child package require some info to perform its job;like name of the dimensiontable,it should be update.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">package Parameter are explicit way to pass the info,you can easily see what info is required when you open the package.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">it is also easy for ssis to validate whether the value passed parameters were assigned values at runtime</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">what to configuration:</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">1.servername--dev,prod</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">2.contrlow flow--is executed based on conditional expression on it,this expression might depend on a variable value that need to provided before package execution.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">3.sql statement(require to change) for execute sql task</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">SSIS Varaiables supports char,DBNull and object,ssis parameters do not.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">indirect configuration using enviornment varaiables: problem is xml filepath,connectionstring,but moving packages from systems to systems problem,solution is</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">use the enviornment vairable to configure those parameters.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">variables configuration:/set option to override the property value of the variable.</span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;">Myword:engine exposes while configuring,validating,executing a package.</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;">integrate external processes:Execute Process task or a Script task with the appropriate business logic to control the execution of the external applications.</span><br />
<span style="line-height: 19.533332824707px;">To improve reusability and simplify deployment, a Custom task could also be developed to replace the Script task.</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;">Project deployment model:with introduction of project-scoped parameters and connection managers, it becomes possible for individual SSIS packages to share resources</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;">Variables:Variables are not exposed outside of SSIS packages and cannot be accessed from other packages. This shortcoming is reduced with the introduction of</span><br />
<span style="line-height: 19.533332824707px;">parameters, which can be used to pass scalar values to child packages. On the other hand, variables never were the only method available for exchanging data between</span><br />
<span style="line-height: 19.533332824707px;"></span><br />
<span style="line-height: 19.533332824707px;">the elements of an SSIS solution. (Hint: consider files and staging tables.)</span><br />
<div>
<br /></div>
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;">New today</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;">The default value of MaxBufferSize can be changed, but it cannot be larger than 100 MB.</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;">Breakpoints are a powerful design-time troubleshooting option.,You can set a breakpoint on any control task.</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;"> Data viewers enable you to monitor data passing through the pipeline at design time.</span><br />
<span style="line-height: 19.533332824707px;"><br /></span>
<span style="line-height: 19.533332824707px;"></span><br />
<span style="line-height: 19.533332824707px;">Data taps are only available when you are executing a package deployed to the SSISDB catalog.</span><br />
<div>
<br /></div>
</div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"> </span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"><br /></span></div>
<div style="margin-top: 9pt;">
<span style="line-height: 19.533332824707px;"> </span></div>
</div>
<div style="line-height: 14.65pt; margin-top: 9pt;">
<br /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-76527693000001338002014-10-08T16:15:00.001+05:302014-10-08T16:15:13.330+05:30SSIS - Merge join vs Lookup transform Performance – Case Study <div dir="ltr" style="text-align: left;" trbidi="on">
<span lang="EN-US" style="color: #222222; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">Hi ,</span></span><br />
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt;">
<span lang="EN-US" style="color: #222222; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;"></span></span> </div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt;">
<span lang="EN-US" style="color: #222222; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">In this post i'll compare the two join components: the merge join and the lookup join with the relation join in order to determine which solutions is the best possible way to solve your problem regarding joining data from certain data sources. This post is based on SQL Server 2008 R2.<br /><br /><b>Merge Join</b><br /> The merge join is used for joining data from two or more datasources. The more common ETL scenarios will require you to access two or more disparate datasources simultaneously and merge their results together into a single datasource. An example could be a normalized source system and you want to merge the normalized tables into a denormalized table.<br /> The merge join in SSIS allows you to perform an inner or outer join in a streaming fashion. This component behaves in a synchronous way. The component accepts two sorted input streams, and outputs a single stream, that combines the chosen columns into a single structure. It’s not possible to configure a separate non-matched output.<br /><br /><b>Lookup</b><br /> The lookup component in SQL Server Integration Services allows you to perform the equivalent of relational inner and outer hash joins. It’s not using the algorithms stored in the database engine. You would use this component within the context of an integration process, such as a ETL Layer that populates a datawarehouse from multiple non equal source systems.<br /> The transform is written to behave in a synchronous manner in that it does not block the pipeline while it’s doing its work, mostly. In certain cache modes the component will initially block the package’s execution for a period of time.</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-5kW-dSnL1NA/UTckYJEajSI/AAAAAAAABN8/3ro2zJyhi8E/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="242" src="http://3.bp.blogspot.com/-5kW-dSnL1NA/UTckYJEajSI/AAAAAAAABN8/3ro2zJyhi8E/s400/1.jpg" width="400" /></a></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt;">
<span lang="EN-US" style="color: #222222; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;"></span></span><span style="color: #222222; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: DE-CH; mso-no-proof: yes;"><v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"><span style="font-family: Calibri;"> <v:stroke joinstyle="miter"><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"><v:f eqn="sum @0 1 0"><v:f eqn="sum 0 0 @1"><v:f eqn="prod @2 1 2"><v:f eqn="prod @3 21600 pixelWidth"><v:f eqn="prod @3 21600 pixelHeight"><v:f eqn="sum @0 0 1"><v:f eqn="prod @6 1 2"><v:f eqn="prod @7 21600 pixelWidth"><v:f eqn="sum @8 21600 0"><v:f eqn="prod @7 21600 pixelHeight"><v:f eqn="sum @10 21600 0"></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas> <v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f"><o:lock aspectratio="t" v:ext="edit"></o:lock></v:path></v:stroke></span></v:shapetype></span></div>
<span lang="EN-US" style="color: #222222; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span> <br /><br />
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="color: #222222; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">Conclusion: There's only one reason for using the merge join and that is a lack of memory, otherwise always use the lookuptransform. There's done lot of improvement of the lookup transform in SQL Server 2008.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<b style="mso-bidi-font-weight: normal;"><u><span lang="EN-US" style="font-size: 14pt; line-height: 115%; mso-ansi-language: EN-US;"><span style="font-family: Calibri;">Case Study on Merge Join Vs Lookup Performance - I:<o:p></o:p></span></span></u></b></div>
<br /><br />
<table border="0" cellpadding="0" class="MsoNormalTable" style="margin: auto auto auto 12pt; mso-cellspacing: 1.5pt; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"><td style="background-color: transparent; border: rgb(0, 0, 0); padding: 0cm;"><div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;"><b><span style="color: #333333; font-size: 12pt; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">TheViewMaster wrote:</span></b><span style="color: #333333; font-size: 12pt; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
</td></tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"><td style="background-color: transparent; border: rgb(0, 0, 0); padding: 0cm;"><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"><td style="background-color: transparent; border: rgb(0, 0, 0); padding: 0cm; width: 100%;" valign="top" width="100%"><div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span lang="EN-US" style="color: #333333; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">So here we go:<br /> I'm running the tests on my workstation WinXP, 2.93GHz, 2.5gb ram.<br /> The DB is accessed over the LAN.<br /><b>Test1 (Lookup):</b><br /> Source: multi-flat-file source (4 .txt's) with total of 175513 records and 88 columns<br /> Lookup is a query access table 248250 records pulling 61280 records and about 25 columns<br /> 2 outputs - Listing Found (56523 rows) and Error Listing Not found (118990 rows)<br /> Also lookup is Full Cache mode and gives Warning: found duplicate key values.<br /><u>Result:</u><br /> Finished, 4:11:00 PM, Elapsed time: 00:00:15.437<br /> Note: Memory usage of PC peaked at 1.8GB with CPU usage jumping to 100% once.<br /><br /><b>Test 2 (Merge Join):</b><br /> 1st Source: multi-flat-file source (4 .txt's) with total of 175513 records and 88 columns<br /> 2nd source: OLE DB Source with query access table 248250 records pulling 61280 records and about 25 columns with ORDER BY ID. Out put is marked sorted by ID column.<br /> 1st source is Sorted using "Sort transform".<br /> Then "Merge Joined" with ole db via Left outer join (Sort on left)<br /> Then "Conditional Split" based on ISNULL(oledbsource.ID)<br /><u>Result:</u><br /> Finished, 4:49:33 PM, Elapsed time: 00:01:14.235<br /> Note: Memory usage of PC peaked at 2.6GB with CPU usage jumping to 100% twice.<br /><br /><b>Test3 (Script Transform) </b>- <br /> Source: multi-flat-file source (4 .txt's) with total of 175513 records and 88 columns<br /> Script transform to do a lookup based on key column for each row in pipeline.<br /><u>Result:</u><br /> Cancelled after 30 minutes of processing - during which it had process 11547 records (out of 175513)<br /> Note: Memory usage was stable around 1GB and CPU near 5% usage<br /><br /><b>My Conclusion</b>:<br /> Although I was concerned with the performace of lookup transform - for testing whether data to be inserted or updated - it seems thats not the culprit - the root of evil seems to be OLE DB update command and OLE DB Destination source (atm we r using SQL 2000 db - upgrading to 2005 soon).<br /> Although Script transform consumed least amount of machine resources - executing 100K+ sql queries against db will take too long.<br /> Although merge join Elapse time is not bad - resource usage and 3 more steps than lookup are negatives.<br /> So i think next weekends performance testing is how to make faster INSERTs/UPDATEs to DB<br /><br /> Test 1 & 2 are based on Jamie Thomson article –<o:p></o:p></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<a href="http://blogs.conchango.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx"><span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="color: blue; font-family: Calibri;">http://blogs.conchango.com/jamiethomson/archive/2006/09/12/SSIS_3A00_-Checking-if-a-row-exists-and-if-it-does_2C00_-has-it-changed.aspx</span></span></a><span lang="EN-US" style="color: #333333; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span lang="EN-US" style="color: #333333; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><br /><span style="font-family: Calibri;"> Test 3 is based on Greg Van Mullem article – <o:p></o:p></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<a href="http://www.mathgv.com/sql2005docs/SSISTransformScriptETL.htm"><span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="color: blue; font-family: Calibri;">http://www.mathgv.com/sql2005docs/SSISTransformScriptETL.htm</span></span></a><span lang="EN-US" style="color: #333333; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span lang="EN-US" style="color: #333333; font-size: 12pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Segoe UI"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p><span style="font-family: Calibri;"> </span></o:p></span></div>
</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="font-size: 12pt; line-height: 115%; mso-ansi-language: EN-US;"><o:p><span style="font-family: Calibri;"> </span></o:p></span></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<b style="mso-bidi-font-weight: normal;"><u><span lang="EN-US" style="font-size: 14pt; line-height: 115%; mso-ansi-language: EN-US;"><o:p><span style="text-decoration: none;"><span style="font-family: Calibri;"> </span></span></o:p></span></u></b></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<b style="mso-bidi-font-weight: normal;"><u><span lang="EN-US" style="font-size: 14pt; line-height: 115%; mso-ansi-language: EN-US;"><span style="font-family: Calibri;">Case Study on Merge Join Vs Lookup Performance - II:<o:p></o:p></span></span></u></b></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #<b>1</b> shows few points to distinguish between </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Merge Join transformation</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> and </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Lookup transformation</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">. <o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Regarding Lookup:</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">If you want to find rows matching in source 2 based on source 1 input and if you know there will be only one match for every input row, then I would suggest to use Lookup operation. An example would be you </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">OrderDetails</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> table and you want to find the matching </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Order Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> and </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Customer Number</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, then Lookup is a better option.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Regarding Merge Join:</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">If you want to perform joins like fetching all Addresses (Home, Work, Other) from </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Address</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> table for a given Customer in the </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Customer</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> table, then you have to go with Merge Join because the customer can have 1 or more addresses associated with them.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">An example to compare:</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Here is a scenario to demonstrate the performance differences between </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Merge Join</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> and </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Lookup</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">. The data used here is a one to one join, which is the only scenario common between them to compare.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">I have three tables named </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemPriceInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemDiscountInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> and </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemAmount</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">. Create scripts for these tables are provided under SQL scripts section.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Tables</span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemPriceInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> and </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemDiscountInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> both have 13,349,729 rows. Both the tables have the ItemNumber as the common column. ItemPriceInfo has Price information and ItemDiscountInfo has discount information. Screenshot #<b>2</b> shows the row count in each of these tables. Screenshot #<b>3</b> shows top 6 rows to give an idea about the data present in the tables.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">I created two SSIS packages to compare the performance of Merge Join and Lookup transformations. Both the packages have to take the information from tables </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemPriceInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> and </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemDiscountInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, calculate the total amount and save it to the table </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">dbo.ItemAmount</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">First package used </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Merge Join</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> transformation and inside that it used INNER JOIN to combine the data. Screenshots #<b>4</b> and #<b>5</b> show the sample package execution and the execution duration. It took </span><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">05</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> minutes </span><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">14</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> seconds </span><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">719</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> milliseconds to execute the Merge Join transformation based package.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Second package used </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Lookup</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> transformation with Full cache (which is the default setting). creenshots #<b>6</b> and #<b>7</b> show the sample package execution and the execution duration. It took </span><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">11</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> minutes </span><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">03</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> seconds </span><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">610</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> milliseconds to execute the Lookup transformation based package. You might encounter the warning message Information: </span><span lang="EN-US" style="background: rgb(238, 238, 238); color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">The buffer manager has allocated nnnnn bytes, even though the memory pressure has been detected and repeated attempts to swap buffers have failed.</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"> Here is a </span></span><a href="http://blogs.msdn.com/b/mattm/archive/2008/10/18/calculating-the-size-of-your-lookup-cache.aspx"><b><span lang="EN-US" style="color: #0077cc; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; text-decoration: none; text-underline: none;"><span style="font-family: Calibri;">link</span></span></b></a><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;"> that talks about how to calculate lookup cache size. During this package execution, even though the Data flow task completed faster, the Pipeline cleanup took lot of time.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">6.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">This <b>doesn't</b> mean Lookup transformation is bad. It's just that it has to be used wisely. I use that quite often in my projects but again I don't deal with 10+ million rows for lookup everyday. Usually, my jobs handle between 2 and 3 millions rows and for that the performance is really good. Upto 10 million rows, both performed equally well. Most of the time what I have noticed is that the bottleneck turns out to be the destination component rather than the transformations. You can overcome that by having multiple destinations. </span></span><a href="http://stackoverflow.com/questions/6061075/sql-integration-services-to-load-tab-delimited-file/6159600#6159600"><b><span lang="EN-US" style="color: #0077cc; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; text-decoration: none; text-underline: none;"><span style="font-family: Calibri;">Here</span></span></b></a><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;"> is an example that shows the implementation of multiple destinations.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt 22.5pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: DE-CH;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">7.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">Screenshot #<b>8</b> shows the record count in all the three tables. Screenshot #<b>9</b> shows top 6 records in each of the tables.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">Hope that helps.<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">SQL Scripts:</span></b><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CREATE TABLE [dbo].[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">ItemAmount</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">](<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [</span><span lang="EN-US" style="color: darkblue; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">int</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] IDENTITY(</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">1</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">,</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">1</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">ItemNumber</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [nvarchar](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">30</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Price</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [numeric](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">18</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, </span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">2</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Discount</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [numeric](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">18</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, </span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">2</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CalculatedAmount</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [numeric](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">18</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, </span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">2</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CONSTRAINT [PK_ItemAmount] PRIMARY KEY CLUSTERED ([</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] ASC)) ON [PRIMARY]<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">GO<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p><span style="font-family: Calibri;"> </span></o:p></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CREATE TABLE [dbo].[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">ItemDiscountInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">](<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [</span><span lang="EN-US" style="color: darkblue; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">int</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] IDENTITY(</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">1</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">,</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">1</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">ItemNumber</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [nvarchar](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">30</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Discount</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [numeric](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">18</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, </span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">2</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CONSTRAINT [PK_ItemDiscountInfo] PRIMARY KEY CLUSTERED ([</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] ASC)) ON [PRIMARY]<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">GO<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p><span style="font-family: Calibri;"> </span></o:p></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CREATE TABLE [dbo].[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">ItemPriceInfo</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">](<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [</span><span lang="EN-US" style="color: darkblue; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">int</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] IDENTITY(</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">1</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">,</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">1</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">ItemNumber</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [nvarchar](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">30</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="mso-spacerun: yes;"> </span>[</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Price</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] [numeric](</span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">18</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">, </span><span lang="EN-US" style="color: maroon; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">2</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">) NOT NULL,<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: Calibri;"><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">CONSTRAINT [PK_ItemPriceInfo] PRIMARY KEY CLUSTERED ([</span><span lang="EN-US" style="color: #2b91af; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Id</span><span lang="EN-US" style="color: black; font-size: 12pt; line-height: 130%; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">] ASC)) ON [PRIMARY]<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="background: rgb(238, 238, 238); line-height: 130%; margin: 0cm 0cm 7.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><span style="font-family: Calibri;">GO<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #1:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitosSSCYG0TQ5SgUx7HMRHbml7HUD73nyHt3HSFWH-t8wPdd0VBDlXwbK6F-iN8ahW1iNX3zRXxBAq-kaTIs72KxxupDnDvi6qGQ2-DaQdE_aRMiVS4KF1OpImPYcCnCoRruGPyWcvgmg/s1600/Screenshot+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitosSSCYG0TQ5SgUx7HMRHbml7HUD73nyHt3HSFWH-t8wPdd0VBDlXwbK6F-iN8ahW1iNX3zRXxBAq-kaTIs72KxxupDnDvi6qGQ2-DaQdE_aRMiVS4KF1OpImPYcCnCoRruGPyWcvgmg/s320/Screenshot+1.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #2:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-htL1Bg65wo4/UTclnbdOfAI/AAAAAAAABOQ/CzOb38vLoSM/s1600/Screenshot+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://2.bp.blogspot.com/-htL1Bg65wo4/UTclnbdOfAI/AAAAAAAABOQ/CzOb38vLoSM/s320/Screenshot+2.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #3:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-qSvYrqTav0E/UTclqnLZEZI/AAAAAAAABOY/kgacZguXiPo/s1600/Screenshot+3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://4.bp.blogspot.com/-qSvYrqTav0E/UTclqnLZEZI/AAAAAAAABOY/kgacZguXiPo/s320/Screenshot+3.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #4:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-jE7yaP-pLAk/UTcltBAcVzI/AAAAAAAABOg/ocZioTcxpCU/s1600/Screenshot+4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://4.bp.blogspot.com/-jE7yaP-pLAk/UTcltBAcVzI/AAAAAAAABOg/ocZioTcxpCU/s320/Screenshot+4.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #5:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dG6qRuef_Wg/UTclxdVRe3I/AAAAAAAABOo/MylOYm_asuA/s1600/Screenshot+5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://2.bp.blogspot.com/-dG6qRuef_Wg/UTclxdVRe3I/AAAAAAAABOo/MylOYm_asuA/s320/Screenshot+5.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #6:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--Esoi_aMGTs/UTcl1Zk87_I/AAAAAAAABOw/C_8qoGaXoF8/s1600/Screenshot+6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://4.bp.blogspot.com/--Esoi_aMGTs/UTcl1Zk87_I/AAAAAAAABOw/C_8qoGaXoF8/s320/Screenshot+6.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #7:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-79K0ctDzhZs/UTcl4dwKqMI/AAAAAAAABO4/pETRWVYeac4/s1600/Screenshot+7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://2.bp.blogspot.com/-79K0ctDzhZs/UTcl4dwKqMI/AAAAAAAABO4/pETRWVYeac4/s320/Screenshot+7.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #8:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-TTSYLm3jCFw/UTcl7fRadlI/AAAAAAAABPA/961cmTTa6vg/s1600/Screenshot+8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://2.bp.blogspot.com/-TTSYLm3jCFw/UTcl7fRadlI/AAAAAAAABPA/961cmTTa6vg/s320/Screenshot+8.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Calibri;"><b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;">Screenshot #9:</span></b><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span></span></div>
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-UdzZ8GsqS7U/UTcl-zTm2FI/AAAAAAAABPI/fyMREKolJps/s1600/Screenshot+9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="http://4.bp.blogspot.com/-UdzZ8GsqS7U/UTcl-zTm2FI/AAAAAAAABPI/fyMREKolJps/s320/Screenshot+9.jpg" width="320" /></a></div>
<div class="MsoNormal" style="line-height: 130%; margin: 0cm 0cm 10pt; mso-margin-top-alt: auto;">
<span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH; mso-no-proof: yes;"></span><span style="color: black; font-size: 12pt; line-height: 130%; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: DE-CH;"><o:p></o:p></span><br /></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="font-size: 12pt; line-height: 115%; mso-ansi-language: EN-US;"><o:p><span style="font-family: Calibri;"> </span></o:p></span></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="font-size: 12pt; line-height: 115%; mso-ansi-language: EN-US;"><span style="font-family: Calibri;">Source:<o:p></o:p></span></span></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<a href="http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/5afc3806-4681-4b6a-aed9-bdf56127ef49/"><span lang="EN-US" style="font-size: 12pt; line-height: 115%; mso-ansi-language: EN-US;"><span style="color: blue; font-family: Calibri;">http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/5afc3806-4681-4b6a-aed9-bdf56127ef49/</span></span></a><span lang="EN-US" style="font-size: 12pt; line-height: 115%; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<br /><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<a href="http://stackoverflow.com/questions/6735733/what-are-the-differences-between-merge-join-and-lookup-transformations-in-ssis"><span lang="EN-US" style="font-size: 12pt; line-height: 115%; mso-ansi-language: EN-US;"><span style="color: blue; font-family: Calibri;">http://stackoverflow.com/questions/6735733/what-are-the-differences-between-merge-join-and-lookup-transformations-in-ssis</span></span></a></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-35532787514733198182014-09-19T15:30:00.001+05:302014-11-14T10:20:43.049+05:30SSIS Expressions<div dir="ltr" style="text-align: left;" trbidi="on">
Expressions<br />
An expression is a combination of constants, variables, parameters, column references,<br />
expression functions, and/or expression operators, allowing you to prescribe at design time<br />
how a specific value will be determined at run time. Expressions are used to determine values<br />
dynamically in an automated process, rather than having these values set manually and in<br />
advance using constants.<br />
Expressions are written in a special expression language native to SSIS.(c++,c#)<br />
<br />
In SSIS 2012,Expression improvements <br />
<ul>
<li>4000 character limit is removed</li>
<li>New functions – LEFT, TOKEN, and TOKENCOUNT</li>
</ul>
<strong>Left:</strong><br />
<br />
Returns the left part of a character expression with the specified number of characters.<br />
Template:<br />
LEFT( «character_expression», «number» )<br />
Example:<br />
LEFT( [ProductName],3)<br />
<br />
<h2>
TOKEN</h2>
The new TOKEN expression is an interesting one. It returns a string after a specified Token delimiter. You can pass in multiple delimiters for you expression to parse and also specify the occurrence number you would like to return. That means if you set the occurrence to 3 it would return the third instance of the token. SSIS describes this function as:<br />
Returns the specified occurrence of a token in a string. A token may be marked by a delimiter in a specified set of delimiters. The function returns an empty string if the occurrence is not found. The string parameter must evaluate to a character expression, and the occurrence parameter must evaluate to an integer.<br />
Template:<br />
TOKEN( «character_expression», «delimiter_expression», «occurrence» )<br />
Example:<br />
TOKEN("new expressions can be fun"," ",2)<br />
Result:<br />
expressions<br />
<br />
<h2>
TOKENCOUNT</h2>
TOKENCOUNT would likely be used in combination with the previously discussed TOKEN function. The TOKENCOUNT function returns back the number of times a Token delimiter appears in a string value. This would likely be plugged into the TOKEN expressions for the number of occurrences when trying to find the last occurrence. SSIS describes this function as:<br />
<br />
<strong>Returns the number of tokens in a string. A token may be marked by a delimiter in a specified set of delimiters. The string parameter must evaluate to a character expression.</strong><br />
<br />
Template:<br />
TOKENCOUNT( «character_expression», «delimiter_expression» )<br />
Example:<br />
TOKENCOUNT("new expressions can be fun"," ")<br />
Result:<br />
5<br />
<h2>
REPLACENULL</h2>
Again this function answers the SSIS haters who don’t like the fact that there is an ISNULL function in the expression language but it doesn’t work like the T-SQL ISNULL. Currently if you wanted to accomplish the T-SQL ISNULL you would have do write an expression like this:<br />
ISNULL(OrderDateSK) ? 19000101 : OrderDateSK<br />
This uses the ISNULL function that returns back True or False if the field is NULL and also uses a conditional operator to determine how to react when it is NULL. The REPLACENULL function will work much more like the T-SQL ISNULL function. This function is described as:<br />
<strong></strong><br />
<strong>Returns the value of the second expression parameter if the first expression parameter is null.</strong><br />
<br />
Template:<br />
REPLACENULL( «expression», «expression» )<br />
Example:<br />
REPLACENULL( [OrderDateSK] , 19000101 )<br />
Result:<br />
19000101 (if OrderDateSK is evaluated as NULL)<br />
<br />
<span style="color: blue;">FINDSTRING(StringValueToLookInto, StringValueToLookFor,
Occurrence)</span><br />
<span class="LW_CollapsibleArea_Title"><u><span style="color: #0066cc;">Remarks</span></u></span> <br />
<div class="LW_CollapsibleArea_HrDiv">
<hr class="LW_CollapsibleArea_Hr" />
</div>
<div class="sectionblock">
<a href="https://www.blogger.com/null" id="languageReferenceRemarksToggle"></a> FINDSTRING works only with the <strong>DT_WSTR</strong> data type. <span class="parameter">character_expression</span> and <span class="parameter">searchstring</span> arguments that are string literals or data columns with the DT_STR data type are implicitly cast to the DT_WSTR data type before FINDSTRING performs its operation. Other data types must be explicitly cast to the DT_WSTR data type. For more information, see <a href="http://msdn.microsoft.com/en-IN/library/ms141036(v=sql.110).aspx">Integration Services Data Types</a> and <a href="http://msdn.microsoft.com/en-IN/library/ms141704(v=sql.110).aspx">Cast (SSIS Expression)</a>.<br />
FINDSTRING returns null if either <span class="parameter">character_expression</span> or <span class="parameter">searchstring</span> are null.<br />
Use a value of 1 in the <span class="parameter">occurrence</span> argument to get the index of the first occurrence, 2 for the second occurrence and so forth.<br />
The <span class="parameter">occurrence</span> must be an integer with a value greater than 0.</div>
<br />
Ex:<br />
<span style="color: blue;">1. FINDSTRING(“You should say hello to people when you meet”,
“hello”, 1)</span><br />
This will return value 16, which is the place from where the string “hello” starts.<br />
<br />
When this function returns 0, it means that the function did not find any character/string that matches. Following example will return 0 because the string value “bye” is not found.<br />
<br />
2.<span style="color: blue;">FINDSTRING(Produts,"DVD",1) > 0 ? "Company Sells DVD" :
"Company Donot sell DVD"</span><br />
<span style="color: blue;"></span><br />
<span style="color: blue;">3.</span> Following example will show, how we can use FINDSTRING function with a date.
Let say we want to find out what day is today if today is Saturday or Sunday we
want to display “Weekend day WOW” else we want to display Monday to Friday as
“Work Day”. <br />
<br />
<span style="color: blue;">(FINDSTRING((DT_STR,20,1252)DATEPART("dw",GETDATE()),"1",1)
== 1 || FINDSTRING((DT_STR,20,1252)DATEPART("dw",GETDATE()),"7",1) == 1) ?
"Weekend day WOW" : "Work Day"</span><br />
<br />
<br />
More efficient:<br />
<br />
UPPER(SUBSTRING(Name,1,1)) != "A" rather than SUBSTRING(UPPER(Name),1,1) != "A"<br />
,because only one character is converted to uppercase. <br />
<h2 style="text-align: left;">
Examples of Advanced Integration Services Expressions</h2>
This section provides examples of advanced expressions that combine multiple operators and functions. If an expression is used in a precedence constraint or the Conditional Split transformation, it must evaluate to a Boolean. That restriction, however, does not apply to expressions used in property expressions, variables, the Derived Column transformation, or the For Loop container.<br />
The following examples use the <strong>AdventureWorks</strong> and the AdventureWorksDW2012 Microsoft SQL Server databases. Each example identifies the tables it uses.<br />
<div>
<h2 class="LW_CollapsibleArea_TitleDiv">
<div>
<a class="LW_CollapsibleArea_TitleAhref" href="javascript:void(0)" role="button" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img"></span><span class="LW_CollapsibleArea_Title">Boolean Expressions</span></a><br />
<div class="LW_CollapsibleArea_HrDiv">
<hr class="LW_CollapsibleArea_Hr" />
</div>
</div>
</h2>
<div class="sectionblock">
<a href="https://www.blogger.com/null" id="sectionToggle0"></a> <br />
<ul>
<li>This example uses the <strong>Product</strong> table. The expression evaluates the month entry in the <strong>SellStartDate</strong> column and returns TRUE if the month is June or later. <br />
<div class="codeSnippetContainer" id="code-snippet-1" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_cce8d3a4-cf79-44a3-a670-59cec12af576');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_cce8d3a4-cf79-44a3-a670-59cec12af576">
<div style="color: black;">
<pre>DATEPART("mm",SellStartDate) > 6
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Product</strong> table. The expression evaluates the rounded result of dividing the <strong>ListPrice</strong> column by the <strong>StandardCost</strong> column, and returns TRUE if the result is greater than 1.5. <br />
<div class="codeSnippetContainer" id="code-snippet-2" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_67388ca7-2be7-4741-a606-fb5469320589');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_67388ca7-2be7-4741-a606-fb5469320589">
<div style="color: black;">
<pre>ROUND(ListPrice / StandardCost,2) > 1.50
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Product</strong> table. The expression returns TRUE if all three operations evaluate to TRUE. If the <strong>Size</strong> column and the <strong>BikeSize</strong> variable have incompatible data types, the expression requires an explicit cast as shown the second example. The cast to DT_WSTR includes the length of the string. <br />
<div class="codeSnippetContainer" id="code-snippet-3" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_a552ab32-e315-4a54-b1be-29d1850ed636');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_a552ab32-e315-4a54-b1be-29d1850ed636">
<div style="color: black;">
<pre>MakeFlag == TRUE && FinishedGoodsFlag == TRUE && Size != @BikeSize
MakeFlag == TRUE && FinishedGoodsFlag == TRUE && Size != (DT_WSTR,10)@BikeSize
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>CurrencyRate</strong> table. The expression compares values in tables and variables. It returns TRUE if entries in the <strong>FromCurrencyCode</strong> or <strong>ToCurrencyCode</strong> columns are equal to variable values and if the value in <strong>AverageRate</strong> is greater that the value in <strong>EndOfDayRate</strong>. <br />
<div class="codeSnippetContainer" id="code-snippet-4" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_1ef86849-9793-4155-9ff4-1e89ea619ba6');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_1ef86849-9793-4155-9ff4-1e89ea619ba6">
<div style="color: black;">
<pre>(FromCurrencyCode == @FromCur || ToCurrencyCode == @ToCur) && AverageRate > EndOfDayRate
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Currency</strong> table. The expression returns TRUE if the first character in the <strong>Name</strong> column is not a or A. <br />
<div class="codeSnippetContainer" id="code-snippet-5" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_4c4ac62c-2da7-4462-a08d-dd4e9af43b23');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_4c4ac62c-2da7-4462-a08d-dd4e9af43b23">
<div style="color: black;">
<pre>SUBSTRING(UPPER(Name),1,1) != "A"
</pre>
</div>
</div>
</div>
</div>
The following expression provides the same results, but it is more efficient because only one character is converted to uppercase. <br />
<div class="codeSnippetContainer" id="code-snippet-6" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_a264ba99-7166-4652-bf80-c4cc4f99b2a8');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_a264ba99-7166-4652-bf80-c4cc4f99b2a8">
<div style="color: black;">
<pre>UPPER(SUBSTRING(Name,1,1)) != "A"
</pre>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
<div>
<h2 class="LW_CollapsibleArea_TitleDiv">
<div>
<a class="LW_CollapsibleArea_TitleAhref" href="javascript:void(0)" role="button" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img"></span><span class="LW_CollapsibleArea_Title">Non-Boolean Expressions</span></a><br />
<div class="LW_CollapsibleArea_HrDiv">
<hr class="LW_CollapsibleArea_Hr" />
</div>
</div>
</h2>
<div class="sectionblock">
<a href="https://www.blogger.com/null" id="sectionToggle1"></a> Non-Boolean expressions are used in the Derived Column transformation, property expressions, and the For Loop container. <br />
<ul>
<li>This example uses the <strong>Contact</strong> table. The expression removes leading and trailing spaces from the <strong>FirstName</strong>, <strong>MiddleName</strong>, and <strong>LastName</strong> columns. It extracts the first letter of the <strong>MiddleName</strong> column if it is not null, concatenates the middle initial and the values in <strong>FirstName</strong> and <strong>LastName</strong>, and inserts appropriate spaces between values. <br />
<div class="codeSnippetContainer" id="code-snippet-7" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_f26817b3-e74e-4dd3-9a4f-90cb14b37afd');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_f26817b3-e74e-4dd3-9a4f-90cb14b37afd">
<div style="color: black;">
<pre>TRIM(FirstName) + " " + (!ISNULL(MiddleName) ? SUBSTRING(MiddleName,1,1) + " " : "") + TRIM(LastName)
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Contact</strong> table. The expression validates entries in the <strong>Salutation</strong> column. It returns a <strong>Salutation</strong> entry or an empty string. <br />
<div class="codeSnippetContainer" id="code-snippet-8" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_321a8e35-558a-48ff-a372-a0c33596b126');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_321a8e35-558a-48ff-a372-a0c33596b126">
<div style="color: black;">
<pre>(Salutation == "Sr." || Salutation == "Ms." || Salutation == "Sra." || Salutation == "Mr.") ? Salutation : ""
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Product</strong> table. The expression converts the first character in the <strong>Color</strong> column to uppercase and converts remaining characters to lowercase. <br />
<div class="codeSnippetContainer" id="code-snippet-9" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_706fc78e-9dd3-476d-b3b4-b3381e8ca734');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_706fc78e-9dd3-476d-b3b4-b3381e8ca734">
<div style="color: black;">
<pre>UPPER(SUBSTRING(Color,1,1)) + LOWER(SUBSTRING(Color,2,15))
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Product</strong> table. The expression calculates the number of months a product has been sold and returns the string "Unknown" if either the <strong>SellStartDate</strong> or the <strong>SellEndDate</strong> column contains NULL. <br />
<div class="codeSnippetContainer" id="code-snippet-10" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_29cae8c4-2907-43d3-afed-eb966172d494');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_29cae8c4-2907-43d3-afed-eb966172d494">
<div style="color: black;">
<pre>!(ISNULL(SellStartDate)) && !(ISNULL(SellEndDate)) ? (DT_WSTR,2)DATEDIFF("mm",SellStartDate,SellEndDate) : "Unknown"
</pre>
</div>
</div>
</div>
</div>
</li>
<li>This example uses the <strong>Product</strong> table. The expression calculates the markup on the <strong>StandardCost</strong> column and rounds the result to a precision of two. The result is presented as a percentage. <br />
<div class="codeSnippetContainer" id="code-snippet-11" xmlns="">
<div class="codeSnippetContainerTabs">
</div>
<div class="codeSnippetContainerCodeContainer">
<div class="codeSnippetToolBar">
<div class="codeSnippetToolBarText">
<a href="javascript:if (window.epx.codeSnippet)window.epx.codeSnippet.copyCode('CodeSnippetContainerCode_e9e6605d-eb10-4258-a57d-e8caf3a4b7af');" name="CodeSnippetCopyLink" style="display: block;" title="Copy to clipboard.">Copy</a></div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_e9e6605d-eb10-4258-a57d-e8caf3a4b7af">
<div style="color: black;">
<pre>ROUND(ListPrice / StandardCost,2) * 100
</pre>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
<div style="text-align: left;">
</div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-39464310916180456992014-09-17T14:17:00.002+05:302014-10-10T15:31:02.378+05:30FlatFile Datasources<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwmOIYWWeeIY-bP-Hq7eVsiXUgQT5JyGDPVM49uNwRYacCD_EmFhkHi8FPD466okEPnsPL47X1uLz6c03AWxLDOIC039ogSx4P9dzywtbl0r4-SpsCi1chyphenhyphenGtdRkAflgu97WSMDnkLfUw/s1600/Flatfile+DataSources.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwmOIYWWeeIY-bP-Hq7eVsiXUgQT5JyGDPVM49uNwRYacCD_EmFhkHi8FPD466okEPnsPL47X1uLz6c03AWxLDOIC039ogSx4P9dzywtbl0r4-SpsCi1chyphenhyphenGtdRkAflgu97WSMDnkLfUw/s400/Flatfile+DataSources.jpg" /></a><br />
<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-12896589982546340482014-09-15T19:27:00.001+05:302014-09-15T19:27:33.036+05:30What’s new in SSIS for SQL Server 2012<div dir="ltr" style="text-align: left;" trbidi="on">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 14.0pt; line-height: 107%; mso-bidi-font-size: 11.0pt;">What’s new in SSIS for SQL Server 2012</span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Logging Changes</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Undo/Redo</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Package Parameters</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>DQS and SSIS</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Flat File Improvements</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Shared Data Sources</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Script Component Debugging</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Name-based metadata mapping</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>CDC in SSIS</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>Environments</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";">
</span></span></span>10+. Designer Improvements</div>
<span style="font-size: 14.0pt; line-height: 107%; mso-bidi-font-size: 11.0pt;"></span><br />
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
</div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";"> </span></span></span></div>
<br />
<br />
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<span style="font-family: Symbol; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Symbol; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt "Times New Roman";"> </span></span></span></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-17083578480184292582014-09-15T19:00:00.001+05:302014-09-19T16:46:14.398+05:30SSIS Useful<div dir="ltr" style="text-align: left;" trbidi="on">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<i>The dangers:</i></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Dirty
data</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Complex
or poorly defined ETL requirements</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Unexpected
metadata changes</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Unstable
sources/destinations</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Project
managers</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i>What to note?</i></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Success
and failure of operations</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Row
counts</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Run
times</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Validation
information</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Warnings</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="margin-left: 0.5in;">
<i>Why?</i></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Know
what to expect</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Plan
for growth</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo1; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Cover
your assets</div>
<div class="MsoNormal">
In SSIS word’s</div>
<div class="MsoNormal">
<i>It’s all about the log.</i></div>
<div class="MsoNormal">
SSIS logging</div>
<div class="MsoNormal">
SQL Server log</div>
<div class="MsoNormal">
Custom logging</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i>SSIS Package Logging</i></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>It’s already there</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Easy to start</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Flexible events and destinations</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Can be unwieldy</div>
<div class="MsoNormal">
<i>SSIS Catalog Logging</i></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l2 level1 lfo3; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Version 2012 only</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l2 level1 lfo3; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Easiest to configure</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l2 level1 lfo3; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Design time or runtime</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l2 level1 lfo3; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Least flexible</div>
<div class="MsoListParagraphCxSpLast">
<br /></div>
<div class="MsoNormal">
<i>Server/engine logging</i></div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="mso-list: l2 level1 lfo3;">SQL Engine error log</li>
<li class="MsoNormal" style="mso-list: l2 level1 lfo3;">DMVs</li>
<li class="MsoNormal" style="mso-list: l2 level1 lfo3;">Third party tools</li>
<li class="MsoNormal" style="mso-list: l2 level1 lfo3;">Windows log</li>
<li class="MsoNormal" style="mso-list: l2 level1 lfo3;">PerfMon</li>
</ul>
<div class="MsoNormal">
<span style="font-size: 16pt; line-height: 107%; mso-bidi-font-size: 11.0pt;">Perform at your Best</span></div>
<div class="MsoNormal">
<i>It’s not just SSIS</i></div>
<div class="MsoNormal">
Proper query techniques for relational sources</div>
<div class="MsoNormal">
Effective indexing for sources and destinations</div>
<div class="MsoNormal">
Using OPTION (FAST <n>)</n></div>
<div class="MsoNormal">
<i>Streamline your data flows</i></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l4 level1 lfo4; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Transformations matter!</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l4 level1 lfo4; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Know how the blocking properties of
transformations</div>
<div class="MsoNormal">
Nonblocking transforms do not hold buffers</div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l4 level1 lfo4; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Derived Column</div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l4 level1 lfo4; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Conditional Split</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l4 level1 lfo4; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Row Count</div>
<div class="MsoNormal" style="margin-left: 0.25in;">
Partially blocking transforms will
queue up buffers as needed</div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">Merge Join</li>
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">Lookup</li>
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">Union All</li>
</ul>
<div class="MsoNormal">
Fully blocking transforms will not pass any data through
until all of the data has been buffered at that transformation</div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">Sort</li>
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">Aggregate</li>
</ul>
<div class="MsoNormal">
Be aware of memory use!</div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">LOB (large object) columns
will always spool to disk rather than staying in memory.</li>
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">[N]VARCHAR(MAX)</li>
<li class="MsoNormal" style="mso-list: l4 level1 lfo4;">Memory buffers may spill
over to disk</li>
</ul>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Manage your sources</div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l3 level1 lfo5; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Don’t use table drop down list – specify your
query including only the necessary columns</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l3 level1 lfo5; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Be mindful of indexes when writing data
retrieval queries</div>
<div class="MsoNormal">
Manage your destinations</div>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="mso-list: l3 level1 lfo5;">Use FAST LOAD for SQL
Server destinations</li>
<li class="MsoNormal" style="mso-list: l3 level1 lfo5;">Index management (drop?)</li>
</ul>
<div class="MsoNormal">
<i>Go Parallel!</i></div>
<div class="MsoListParagraph" style="mso-list: l3 level1 lfo5; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Parallel operations can yield faster data flows</div>
<div class="MsoNormal">
<br />
<br />
<br />
<br />
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><br />
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
Clean it UP</div>
<div class="MsoNormal">
<i>In ETL, the greatest dangers often lie in the small
things</i></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l5 level1 lfo1; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Like an infection, bad data can fester for a
while until it’s too late</div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l5 level1 lfo1; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Caught early, problems with dirty data are more
easily solved</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
What is dirty data?</div>
<div class="MsoNormal">
<b><i>Types of dirty data:</i></b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l4 level1 lfo2; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Data
type mismatches</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l4 level1 lfo2; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Domain
violations</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l4 level1 lfo2; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Semantic
violations</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l4 level1 lfo2; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Technical
errors</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l4 level1 lfo2; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Simple
inaccuracies</div>
<div class="MsoNormal">
<b><i>Data type mismatches</i></b></div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l2 level2 lfo3; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Non-numeric data in numeric fields</div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l2 level2 lfo3; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Decimal data in integer fields</div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l2 level2 lfo3; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Incorrect precision / rounding</div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l2 level2 lfo3; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Truncation</div>
<div class="MsoNormal">
<b>Domain violations</b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l6 level1 lfo4; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Invalid
dates</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l6 level1 lfo4; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Incorrect
addresses</div>
<div class="MsoNormal">
<b>Semantic violations</b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l7 level1 lfo5; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Data
outside of a reasonable range (such as a person’s age in the thousands of
years)</div>
<div class="MsoNormal">
Inconsistent use of NULL, blanks, and zeroes</div>
<div class="MsoNormal">
<b>Technical errors</b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l3 level1 lfo6; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Improperly formatted dates</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l3 level1 lfo6; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Out-of-alignment flat files</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l3 level1 lfo6; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Too many/too few delimiters</div>
<div class="MsoNormal">
<b>Simple inaccuracies</b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l0 level1 lfo7; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Misspellings</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l0 level1 lfo7; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Duplications</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l0 level1 lfo7; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Improper
formatting (email addresses, phone numbers)</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l0 level1 lfo7; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Case</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
What causes dirty data?</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><i>Causes of dirty data:</i></b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l8 level1 lfo8; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Internal:</div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l8 level2 lfo8; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Unvalidated
user input<span style="mso-tab-count: 1;"> </span></div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l8 level2 lfo8; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Lack
of proper database constraints and/or application logic</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l8 level1 lfo8; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>External:</div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l8 level2 lfo8; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Import
bad data from other systems</div>
<div class="MsoNormal" style="margin-left: 1in; mso-list: l8 level2 lfo8; tab-stops: list 1.0in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>ETL
errors</div>
<div class="MsoNormal">
Now What?</div>
<div class="MsoNormal">
Clean it up</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo9; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Test
your cleansing logic in stage/test/QA first</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo9; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Cleanse directly in production <span style="mso-no-proof: yes;"><img height="28" src="file:///C:\Users\PRADEE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg" width="32" /></span></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l1 level1 lfo9; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span><span style="mso-spacerun: yes;"> </span>Don’t cleanse at all<span style="mso-no-proof: yes;"> <img height="28" src="file:///C:\Users\PRADEE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image003.jpg" width="32" /></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><i>What to do with unresolvable bad data?</i></b></div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l9 level1 lfo10; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Delete</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l9 level1 lfo10; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Update
to NULL or unknown member</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l9 level1 lfo10; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Mark
as suspect</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l9 level1 lfo10; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"> </span></span></span>Write
to triage</div>
<div class="MsoNormal" style="margin-left: 0.5in; mso-list: l9 level1 lfo10; tab-stops: list .5in; text-indent: -0.25in;">
<span style="font-family: "Arial","sans-serif"; font-size: 14pt; line-height: 107%; mso-fareast-font-family: Arial;"><span style="mso-list: Ignore;">•<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span>Stop the ETL<span style="font-size: 14pt; line-height: 107%;"></span></div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]--><span style="font-family: "Calibri","sans-serif"; font-size: 14pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"></span><br />
<span style="font-family: Calibri;"></span> </div>
<div class="MsoNormal">
In Denali, this kind of file is parsed differently – by default, we’ll always look for a row delimiter in unquoted data, and start a new row if it’s seen. So the table above is parsed as one would expect:<br />
<img alt="clip_image001" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44-metablogapi/6866.clip_5F00_image001_5F00_3D9A3E1A.png" height="86" style="background-image: none; border-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image001" width="613" /><br />
This new behavior is on by default, but can be disabled at any time using the <b>AlwaysCheckForRowDelimiters</b> property on the connection manager.<br />
<br />
<h4>
Embedded Qualifiers</h4>
Another custom in delimited files is the use of a qualifier character to “escape” or embed a qualifier character into a qualified string, for example: <br />
<table border="1" cellpadding="0" cellspacing="0"><tbody>
<tr><td valign="top" width="55"><b>ID</b></td><td valign="top" width="276"><b>Title</b></td></tr>
<tr><td valign="top" width="55"><b>1148</b></td><td valign="top" width="276">Can’t Buy a Thrill</td></tr>
<tr><td valign="top" width="55"><b>1149</b></td><td valign="top" width="276">Echoes, Silence, Patience & Grace</td></tr>
</tbody></table>
<br />
To allow the literal commas to be part of the string, the use of qualifiers is typical in a flat file representing this data. However if an apostrophe(') is used for qualifying, the apostrophe in the first row must be escaped, and a typical way to accomplish this is by doubling the qualifier character:<br />
<pre>ID,Title
1148,'Can''t Buy a Thrill'
1149,'Echoes, Silence, Patience & Grace'</pre>
Prior to Denali, such files would always fail to parse: though SSIS supported qualifiers, SSIS had no support for embedded qualifiers, and would treat the first qualifier character (in this case the first apostrophe after the “n” in “Can’t Buy a Thrill”) as the end of that field, and throw an error due to the lack of a delimiter immediately after the apostrophe.<br />
In Denali, this is fixed, and the data above is properly parsed as:<br />
<img alt="clip_image002" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44-metablogapi/2744.clip_5F00_image002_5F00_01023F7D.png" height="65" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="clip_image002" width="295" /><br />
<br />
<a href="http://blogs.msdn.com/b/dataaccesstechnologies/archive/2013/03/13/flat-file-source-cannot-handle-file-with-uneven-number-of-columns-in-each-row.aspx">flat-file-source-cannot-handle-file-with-uneven-number-of-columns-in-each-row.aspx</a></div>
<div class="MsoNormal">
<br /></div>
<h2 class="MsoNormal" style="margin-left: 0.25in; text-align: left;">
SSIS: How to resolve Excel Import 255 character Truncation issue?</h2>
<div class="MsoNormal">
So in our first scenario all went fine, the Ms-Excel scanned the 8 rows and
determined that the length of the column Empcomments would be equal to at least
686 characters. <br />
<br />
In our second example, we inserted a row in between and as you can see the
first 8 rows has maximum 77 characters length in column EmpComments. The 9th row
has 686 characters length so the Package failed to insert and return truncation
error.<br />
<br />
So what is the solution? All we need to tell Ms-Excel is to scan some more
rows before assuming the data type and data length of the columns. Right? <br />
<br />
Yes, that is exactly what we have to do. I went to the registry and changed
the value to 0. When the <b>TypeGuessRows </b>values become 0 it scans the
<b>16,384</b> rows before assuming the data type and data length of the column.
<br />
<br />
After changing the <b>TypeGuessRows </b>values the SSIS package executed
successfully. All 9 rows were imported from Ms-Excel spreadsheet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIpeNsKnl1QvU1OuNbCIU7qi73bjbVny2K9CtShCtlQ1M5EaUKRF2iKwXJSpAKJaUKbYH-1rAcnQwzchNxOZGg108pkZtKsg89BFQw7EW89LQtBl7awc3b0_Y1SGexNDCc0-YYZigNYWxo/s1600/Excel255i.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="119" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIpeNsKnl1QvU1OuNbCIU7qi73bjbVny2K9CtShCtlQ1M5EaUKRF2iKwXJSpAKJaUKbYH-1rAcnQwzchNxOZGg108pkZtKsg89BFQw7EW89LQtBl7awc3b0_Y1SGexNDCc0-YYZigNYWxo/s320/Excel255i.JPG" width="320" /></a></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-47956281873117491292014-09-15T18:53:00.002+05:302014-12-02T08:37:13.815+05:30Help Links<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
https://www.simple-talk.com/sql/t-sql-programming/using-stored-procedures-to-provide-an-application%E2%80%99s-business-logic-layer/?utm_source=ssc&utm_medium=weblink&utm_content=appbizlogiclayer<br />
<br />
http://blogs.msdn.com/b/sqlcat/archive/2013/09/16/top-10-sql-server-integration-services-best-practices.aspx http://blogs.msdn.com/b/sqlperf/archive/2007/05/01/something-about-ssis-performance-counters.aspx http://blogs.msdn.com/b/sqlperf/archive/2007/04/29/set-up-ole-db-source-to-read-from-view-efficiently.aspx<br />
http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fa.timmitchell.net%2Ffiles%2Fdownloads%2Fpresentations%2FReal-WorldSSIS.pptx&ei=De4WVM6cDMqPuAS5sYDgDA&usg=AFQjCNHyGbEh0bbJUz9Oqj9DBy9ffl-DHw&sig2=QTowm6ysX5aEsBxUb_u7nA&bvm=bv.75097201,d.c2E <a href="http://blogs.msdn.com/b/mattm/archive/2011/07/17/flat-file-source-changes-in-denali.aspx">http://blogs.msdn.com/b/mattm/archive/2011/07/17/flat-file-source-changes-in-denali.aspx</a><br />
<br />
<a href="http://www.singhvikash.in/2012/08/ssis-how-to-read-nth-row-from-flat-file.html">http://www.singhvikash.in/2012/08/ssis-how-to-read-nth-row-from-flat-file.html</a><br />
<br />
<a href="http://bisherryli.com/category/ssis-best-practices/">http://bisherryli.com/category/ssis-best-practices/</a><br />
<a href="http://www.sqlscientist.com/2014/03/sql-server-interview-questions.html">http://www.sqlscientist.com/2014/03/sql-server-interview-questions.html</a>
<br />
Publish to SSIS Catalog using PowerShell<a href="http://www.mattmasson.com/2012/06/publish-to-ssis-catalog-using-powershell/">http://www.mattmasson.com/2012/06/publish-to-ssis-catalog-using-powershell/</a>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-21865358282598456892014-09-10T15:40:00.001+05:302014-09-17T09:46:15.698+05:30SQL Server Data Types Vs SSIS Data Types<div dir="ltr" style="text-align: left;" trbidi="on">
<b style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.7900009155273px;"><span style="font-family: Arial, Helvetica, sans-serif;">SQL Server Data Types Vs SSIS Data Types</span></b><br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.7900009155273px;" /><br />
<table border="0" cellpadding="0" cellspacing="0" style="background-color: white; border-collapse: collapse; color: black; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.7900009155273px; width: 680px;"><colgroup><col style="width: 164pt;" width="219"></col><col style="width: 165pt;" width="220"></col><col style="width: 181pt;" width="241"></col></colgroup><tbody>
<tr height="20" style="height: 15pt;"><td class="xl66" height="20" style="height: 15pt; width: 164pt;" width="219"><span style="font-family: Arial, Helvetica, sans-serif;"><b>Sql Server Data Type</b></span></td><td class="xl66" style="border-left-style: none; width: 165pt;" width="220"><span style="font-family: Arial, Helvetica, sans-serif;"><b>SSIS Data Type</b></span></td><td class="xl66" style="border-left-style: none; width: 181pt;" width="241"><span style="font-family: Arial, Helvetica, sans-serif;"><b>SSIS Expression</b></span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Single-Byte Signed Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_I1)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Smallint</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Two-Byte Signed Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_I2)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Int</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Four-Byte Signed Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_I4)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Bigint</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Eight-Byte Signed Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_I8)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Tinyint</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Single-Byte Unsigned Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_UI1)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Two-Byte Unsigned Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_UI2)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Four-Byte Unsigned Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_UI4)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Eight-Byte Unsigned Integer</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_UI8)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Real</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Float</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_R4)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Float</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Double-Precision Float</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_R8)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Char, Varchar</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">String</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_STR, «length», «code_page»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl68" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Nchar, Nvarchar, Sql_Variant, Xml</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="color: purple; font-family: Arial, Helvetica, sans-serif;">Unicode Text Stream</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_WSTR, «length»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Date</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Date</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DATE)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Bit</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Boolean</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_BOOL)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Decimal, Numeric</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Numeric</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_NUMERIC, «precision», «scale»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Decimal</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Decimal</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DECIMAL, «scale»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Smallmoney, Money</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Currency</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_CY)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Uniqueidentifier</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Unique Identifier</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_GUID)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl68" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Binary, Varbinary, Timestamp</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Byte Stream</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_BYTES, «length»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Date</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Database Date</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DBDATE)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Database Time</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DBTIME)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Time(P)</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Database Time With Precision</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DBTIME2, «scale»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Datetime, Smalldatetime</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Database Timestamp</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DBTIMESTAMP)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Datetime2</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Database Timestamp With Precision</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DBTIMESTAMP2, «scale»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Datetimeoffset(P)</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Database Timestamp With Timezone</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_DBTIMESTAMPOFFSET, «scale»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">File Timestamp</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_FILETIME)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Image</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Image</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_IMAGE)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Text</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Text Stream</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_TEXT, «code_page»)</span></td></tr>
<tr height="20" style="height: 15pt;"><td class="xl67" height="20" style="border-top-style: none; height: 15pt;"><span style="font-family: Arial, Helvetica, sans-serif;">Ntext</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">Unicode String</span></td><td class="xl67" style="border-left-style: none; border-top-style: none;"><span style="font-family: Arial, Helvetica, sans-serif;">(DT_NTEXT)</span></td></tr>
</tbody></table>
<br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.7900009155273px;" />
<div class="separator" style="background-color: white; clear: both; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20.7900009155273px; text-align: center;">
<a href="http://3.bp.blogspot.com/-rGEiPlNmUf4/UoOxbeWweJI/AAAAAAAACb8/b5HUG1SLv4Y/s1600/DT.JPG" imageanchor="1" style="color: #741b47; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="351" src="http://3.bp.blogspot.com/-rGEiPlNmUf4/UoOxbeWweJI/AAAAAAAACb8/b5HUG1SLv4Y/s400/DT.JPG" style="border: none; position: relative;" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh4kDUfTdL-VNxWTx5w9ftgBBLviHIS1tETDWGV2QSZhfgSAwRKq0OhlS8NJdAfRc1u_UWl1ZD61a1Enm_9fWCPMCFkEaH2JkSaq2y1WBILS2dVNLMxE_yQjtnV5oEF1aLIwimwLf0ivo/s1600/Data+Types.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh4kDUfTdL-VNxWTx5w9ftgBBLviHIS1tETDWGV2QSZhfgSAwRKq0OhlS8NJdAfRc1u_UWl1ZD61a1Enm_9fWCPMCFkEaH2JkSaq2y1WBILS2dVNLMxE_yQjtnV5oEF1aLIwimwLf0ivo/s320/Data+Types.jpg" /></a></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0tag:blogger.com,1999:blog-6205953902383299253.post-3603295298167774752014-09-10T13:07:00.002+05:302014-09-10T13:07:18.187+05:30SSIS – Transform All String Columns in a Data Flow Stream<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="background: white; line-height: 15pt;">
<span style="color: black; font-family: "Droid Sans"; font-size: 10.5pt; mso-bidi-font-family: Arial;">For my string
columns with a trim and conversion to null(//only operate on columns of type
DT_STR or DT_WSTR)<o:p></o:p></span></div>
<br />
<div style="background: white; line-height: 15pt;">
<span style="color: black; font-family: "Droid Sans"; font-size: 10.5pt; mso-bidi-font-family: Arial;">To set the
output data, use any of the Buffer.Set* methods, passing in the column index (i
in the example) and new data (colData in the example) after applying the
necessary transformation logic. To set a column null, use the Buffer.SetNull
method, passing only the index to the column that needs to be null.</span></div>
<div style="background: white; line-height: 15pt;">
<span style="color: black; font-family: "Droid Sans"; font-size: 10.5pt; mso-bidi-font-family: Arial;"></span> </div>
<div style="background: white; line-height: 15pt;">
<span style="color: black; font-family: "Droid Sans"; font-size: 10.5pt; mso-bidi-font-family: Arial;"><a href="http://www.proactivespeaks.com/2012/04/02/ssis-transform-all-string-columns-in-a-data-flow-stream/">ssis-transform-all-string-columns-in-a-data-flow-stream</a><o:p></o:p></span></div>
</div>
PRADEEPhttp://www.blogger.com/profile/05519797417333022624noreply@blogger.com0