<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tag 'sql server integration services'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=sql+server+integration+services&amp;orTags=0</link><description>Search results matching tag 'sql server integration services'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>SSIS gotcha – Regional Settings can affect your expressions</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2013/04/09/ssis-gotcha-regional-settings-can-affect-your-expressions.aspx</link><pubDate>Tue, 09 Apr 2013 09:05:33 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:48586</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;I recently stumbled across a nuance of the SSIS expression language which, when you think about, kinda make sense – but it does help to be aware of it. Its concerned with casting of datetime values using the SSIS expression language&lt;/p&gt;  &lt;p&gt;Take the following expression:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;(DT_WSTR,30) @[System::ContainerStartTime]&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That expression casts a datetime value into a string value. If I evaluate that with my OS Regional Settings set to English (United Kingdom) I see this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_5618F800.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_2073BD87.png" width="509" height="181" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If I set my OS Regional Settings to English (United States) I see this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_115CDEAD.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5E20A543.png" width="508" height="174" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Note how that simple change to the regional settings has caused the result of my expression to change. This could have dangerous consequences; for example, if you are using the result of this expression in a dynamically built SQL statement (as I was) then one of two things will happen, either you will get the wrong result or you’ll get an error. Observe how, n my dynamically built SQL statement, I’m CONVERTing a string literal (which is constructed using the above expression) to a datetime value:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_7CF71921.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_74FF76BF.png" width="420" height="110" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;however with a simple change of my regional settings to English (United States) I see this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_4CECC7A0.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_52C76B39.png" width="418" height="123" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;and when you run that particular SQL statement in SSMS:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2AB4BC1A.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_498B2FF8.png" width="544" height="130" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;it blows up!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Definitely one to be aware of! Watch those Regional Settings and their affect on casting of dates in the SSIS expression language!&lt;/p&gt;  &lt;h3&gt;What should you do instead?&lt;/h3&gt;  &lt;p&gt;If you need a failsafe way of constructing a date that doesn’t rely on Regional settings then consider something like the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;(DT_WSTR,4)YEAR( @[System::ContainerStartTime] ) + &amp;quot;-&amp;quot; +        &lt;br /&gt;RIGHT(&amp;quot;0&amp;quot; + (DT_WSTR,2)MONTH( @[System::ContainerStartTime] ), 2) + &amp;quot;-&amp;quot; +         &lt;br /&gt;RIGHT(&amp;quot;0&amp;quot; + (DT_WSTR,2)DAY(@[System::ContainerStartTime] ), 2)&lt;/font&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That expression will build a date string with format YYYY-MM-DD (which is &lt;a href="http://xkcd.com/1179/" target="_blank"&gt;the ISO-ratified unambiguous way of representing a date&lt;/a&gt;) regardless of Regional Settings:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0EE91966.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_62CC1C74.png" width="530" height="199" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SSIS 2012 Deep Dive presentation</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2013/03/22/ssis-2012-deep-dive-presentation.aspx</link><pubDate>Fri, 22 Mar 2013 15:55:10 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:48352</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;&lt;em&gt;This is something I’ve been meaning to blog about for ages but it kept slipping my mind, sorry about that!&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Wee Hyong Tok from the SSIS product team has built a slide deck that covers some of the deep secrets about SSIS2012 including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Catalog deep dive&lt;/li&gt;    &lt;li&gt;Security&lt;/li&gt;    &lt;li&gt;Low level monitoring and troubleshooting&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The slide deck is available to view online at &lt;a href="https://skydrive.live.com/redir?resid=BB8E1FF2CE0CD545!252&amp;amp;authkey=!AMFavRXK0aVq314"&gt;https://skydrive.live.com/redir?resid=BB8E1FF2CE0CD545!252&amp;amp;authkey=!AMFavRXK0aVq314&lt;/a&gt;.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="https://skydrive.live.com/redir?resid=BB8E1FF2CE0CD545!252&amp;amp;authkey=!AMFavRXK0aVq314" target="_blank"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_4BB906A8.png" width="527" height="298" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As its a slide deck its not quite as good as hearing from the presenter himself however there’s still some really useful information in here. If the internals of SSIS float your boat then &lt;a href="https://skydrive.live.com/redir?resid=BB8E1FF2CE0CD545!252&amp;amp;authkey=!AMFavRXK0aVq314" target="_blank"&gt;click through&lt;/a&gt; and take a look (there are only 22 slides).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>sp_ssiscatalog v1.0.2.0 now available for download [SSIS]</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2013/03/11/sp-ssiscatalog-v1-0-2-0-now-available-for-download.aspx</link><pubDate>Mon, 11 Mar 2013 22:51:20 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:48182</guid><dc:creator>jamiet</dc:creator><description>&lt;h2&gt;v1.0.2.0 – what’s in it?&lt;/h2&gt;  &lt;p&gt;Things have been a bit quiet on the sp_ssiscatalog front since &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/12/05/documenting-sp-ssiscatalog.aspx" target="_blank"&gt;I last blogged about it three months ago in December 2012&lt;/a&gt;. Rest-assured development continues apace however and today I’m making available a minor update, v1.0.2.0 which is now available for download &lt;a href="http://ssisreportingpack.codeplex.com/releases/view/103261" target="_blank"&gt;from Codeplex&lt;/a&gt;. For those that don’t know I describe sp_ssiscatalog as:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;sp_ssiscatalog is a stored procedure that makes it easy to query for information that is strewn around the SSIS Catalog.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;There aren’t too many functional changes in this release, it is more focused on making sp_ssiscatalog easier to use. Back in &lt;a title="http://sqlblog.com/blogs/jamie_thomson/archive/2012/12/05/documenting-sp-ssiscatalog.aspx" href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/12/05/documenting-sp-ssiscatalog.aspx" target="_blank"&gt;Documenting sp_ssiscatalog&lt;/a&gt; I explained how I was adding documentation to the messages tab of SSMS. Hence as of this new release when you execute sp_ssiscatalog you will see information such as this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_446C89A2.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5021D0D4.png" width="888" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_599A8F4A.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_05D7162F.png" width="890" height="266" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;which I think should be very useful for anyone that wants to use sp_ssiscatalog to its fullest. Even I who wrote the thing and has been using it day-in, day-out for quite some time now can’t remember the names of all the parameters – now I no longer have to!&lt;/p&gt;  &lt;p&gt;Note that you can turn off the display of the documentation using the @show_docs parameter:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre style="list-style-type:disc;font-family:;background:white;color:;text-align:left;"&gt;&lt;font face="Consolas"&gt;&lt;font size="4"&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;exec&lt;/font&gt;&lt;/span&gt; sp_ssiscatalog&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;@show_docs&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;0&lt;/font&gt;&lt;/strong&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you want to display &lt;em&gt;only&lt;/em&gt; the documentation and not actually have sp_ssiscatalog do any querying of the SSIS Catalog its @show_docs_only:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre style="list-style-type:disc;font-family:;background:white;color:;text-align:left;"&gt;&lt;font face="Consolas"&gt;&lt;span style="color:;"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;strong&gt;exec&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;strong&gt;&lt;font size="2"&gt; sp_ssiscatalog&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;@show_docs_only&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;1&lt;/font&gt;&lt;/strong&gt;
&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you have any suggestions for future enhancements please put them in the comments below or submit them to &lt;a href="http://ssisreportingpack.codeplex.com/discussions" target="_blank"&gt;the discussions page on the Codeplex site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As a reminder, here is the sort of thing you can do with sp_ssiscatalog:&lt;/p&gt;

&lt;pre style="list-style-type:disc;font-family:;background:white;color:;text-align:left;"&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;span style="color:;"&gt;&lt;font color="#008000"&gt;&lt;strong&gt;--Return all failed executions&amp;#160; &lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/font&gt;&lt;font size="2"&gt;&lt;strong&gt;&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;EXEC&lt;/font&gt;&lt;/span&gt; [dbo]&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;/span&gt;[sp_ssiscatalog]&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;@operation_type&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;'execs'&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;@execs_status_desc&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;'failed'&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre style="list-style-type:disc;font-family:;background:white;color:;text-align:left;"&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;strong&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;span style="color:;"&gt;&lt;font color="#008000"&gt;--Return all executions for a specified folder&lt;/font&gt;&lt;/span&gt;
&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;EXEC&lt;/font&gt;&lt;/span&gt; [dbo]&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;/span&gt;[sp_ssiscatalog]&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;@operation_type&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;'execs'&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;@execs_folder_name&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;'My folder'&lt;/font&gt;&lt;/span&gt;&amp;#160; &lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre style="list-style-type:disc;font-family:;background:white;color:;text-align:left;"&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;strong&gt;
&lt;span style="color:;"&gt;&lt;font color="#008000"&gt;--Return all executions of a specified package in a specified project&lt;/font&gt;&lt;/span&gt;
&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;EXEC&lt;/font&gt;&lt;/span&gt; [dbo]&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;/span&gt;[sp_ssiscatalog]&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;@operation_type&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;'execs'&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;@execs_project_name&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;'My project'&lt;/font&gt;&lt;/span&gt;&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt; @execs_package_name&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:;"&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;'Pkg.dtsx'&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre style="list-style-type:disc;font-family:;background:white;color:;text-align:left;"&gt;&lt;font face="Consolas"&gt;&lt;font size="2"&gt;&lt;span style="color:;"&gt;&lt;font color="#008000"&gt;&lt;strong&gt;&lt;br /&gt;--Return information about the most recent execution&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;
&lt;strong&gt;&lt;span style="color:;"&gt;&lt;font color="#0000ff"&gt;EXEC&lt;/font&gt;&lt;/span&gt; [dbo]&lt;span style="color:;"&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;/span&gt;[sp_ssiscatalog]&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;One last thing, if sp_ssiscatalog is useful to you and you’d like to support future development feel free to donate to my personal beer fund at &lt;a href="http://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;amp;business=jamie@jamie-thomson.net&amp;amp;item_name=Supporting%20sp_ssiscatalog"&gt;http://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;amp;business=jamie@jamie-thomson.net&amp;amp;item_name=Supporting%20sp_ssiscatalog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;
  &lt;hr /&gt;&lt;/p&gt;

&lt;h2&gt;Installation Instructions&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Download the zip file at &lt;a href="http://ssisreportingpack.codeplex.com/releases/view/103261" target="_blank"&gt;DB v1.0.2.0&lt;/a&gt;. It contains two files, SsisReportingPack.dacpac &amp;amp; SSISDB.dacpac &lt;/li&gt;

  &lt;li&gt;Unzip to a folder of your choosing &lt;/li&gt;

  &lt;li&gt;Open a command prompt and change to the directory into which you unzipped the files &lt;/li&gt;

  &lt;li&gt;Execute: 
    &lt;ul&gt;
      &lt;li&gt;&amp;quot;%PROGRAMFILES(x86)%\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe&amp;quot; /a:Publish /tdn:SsisReportingPack /sf:SSISReportingPack.dacpac /v:SSISDB=SSISDB /tsn:(local) 
        &lt;br /&gt;(/tsn specifies the target server, change as appropriate. /tdn specifies the database name, you can call it whatever you like.) &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If everything works OK you’ll see something like the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_7654045F.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_41D33217.png" width="645" height="629" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will (if it doesn’t already exist) create a database called [SsisReportingPack] (or whatever you chose to call it) which contains [dbo].[sp_ssiscatalog].&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_31E3ED53.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_310B8769.png" width="353" height="397" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The current state of a MERGE Destination for SSIS</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/12/07/the-current-state-of-a-merge-destination-for-ssis.aspx</link><pubDate>Fri, 07 Dec 2012 11:18:45 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:46555</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;&lt;a href="http://sqlsmurf.wordpress.com/" target="_blank"&gt;Hugo Tap&lt;/a&gt; asked me &lt;a href="https://twitter.com/sqlsmurf/status/276990938805587968" target="_blank"&gt;on Twitter earlier today&lt;/a&gt; whether or not there existed a SSIS Dataflow Destination component that enabled one to MERGE data into a table rather than INSERT it. Its a common request so I thought it might be useful to summarise the current state of play as regards a MERGE destination for SSIS.&lt;/p&gt;  &lt;p&gt;Firstly, there is no MERGE destination component in the box; that is, when you install SSIS no MERGE Destination will be available. That being said the SSIS team have made available a MERGE destination component via Codeplex which you can get from &lt;a title="http://sqlsrvintegrationsrv.codeplex.com/releases/view/19048" href="http://sqlsrvintegrationsrv.codeplex.com/releases/view/19048"&gt;http://sqlsrvintegrationsrv.codeplex.com/releases/view/19048&lt;/a&gt;. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2F4C9602.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_26E8C0AB.png" width="499" height="400" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I have never used it so cannot vouch for its usefulness although judging by some of the reviews you might not want to set your expectations too high. Your mileage may vary.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the past it has occurred to me that a built-in way to provide MERGE from the SSIS pipeline would be highly valuable. I assume that this would have to be provided by the database into which you were merging hence in March 2010 I submitted the following two requests to Connect:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://connect.microsoft.com/SQLServer/feedback/details/540038/bulk-merge" target="_blank"&gt;BULK MERGE&lt;/a&gt; (111 votes at the time of writing)&lt;/li&gt;    &lt;li&gt;&lt;a href="https://connect.microsoft.com/SQLServer/feedback/details/542924/ssis-bulk-merge-destination" target="_blank"&gt;[SSIS] BULK MERGE Destination&lt;/a&gt; (15 votes)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you think these would be useful feel free to vote them up and add a comment.&lt;/p&gt;  &lt;p&gt;Lastly, this one is nothing to do with SSIS but if you want to perform a minimally logged MERGE using T-SQL Sunil Agarwal has explained how at &lt;a href="http://blogs.msdn.com/b/sqlserverstorageengine/archive/2010/06/03/minimal-logging-and-merge-statement.aspx" target="_blank"&gt;Minimal logging and MERGE statement&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The perils of double-dash comments [T-SQL]</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/12/06/the-perils-of-double-dash-comments-t-sql.aspx</link><pubDate>Thu, 06 Dec 2012 09:21:39 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:46531</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;I was checking my Twitter feed on my way in to work this morning and was alerted to an interesting blog post by &lt;a href="https://twitter.com/ValentinoV42" target="_blank"&gt;Valentino Vranken&lt;/a&gt; that highlights a problem regarding the OLE DB Source in SSIS. In short, using double-dash comments in SQL statements within the OLE DB Source can cause unexpected results. It really is quite an important read if you’re developing SSIS packages so head over to &lt;a href="http://blog.hoegaerden.be/2012/12/05/ssis-ole-db-source-parameters-and-comments-a-dangerous-mix/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+ADevelopersBlog+%28A+Developer%27s+Blog%29" target="_blank"&gt;SSIS OLE DB Source, Parameters And Comments: A Dangerous Mix!&lt;/a&gt; and be educated. Note that the problem is solved in SSIS2012 and Valentino explains exactly why.&lt;/p&gt;  &lt;p&gt;If reading Valentino’s post has switched your brain into “learn mode” perhaps also check out my post &lt;a href="http://consultingblogs.emc.com/jamiethomson/archive/2006/02/21/SSIS_3A00_-SELECT-_2A002E002E002E00_-or-select-from-a-dropdown-in-an-OLE-DB-Source-component_3F00_.aspx" target="_blank"&gt;SSIS: SELECT *... or select from a dropdown in an OLE DB Source component?&lt;/a&gt; which highlights another issue to be aware of when using the OLE DB Source.&lt;/p&gt;  &lt;p&gt;As I was reading Valentino’s post I was reminded of a slidedeck by &lt;a href="https://twitter.com/ChrisAdkin8" target="_blank"&gt;Chris Adkin&lt;/a&gt; entitled &lt;a href="http://www.slideshare.net/chris1adkin/t-sql-coding-guidelines" target="_blank"&gt;T-SQL Coding Guidelines&lt;/a&gt; where he recommends never using double-dash comments:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_5157145A.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_3DC9B4B9.png" width="330" height="277" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That’s good advice!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>sp_ssiscatalog v1.0.1.0 now available for download</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/11/20/sp-ssiscatalog-v1-0-1-0-now-available-for-download.aspx</link><pubDate>Tue, 20 Nov 2012 21:42:09 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:46321</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;13 days ago I wrote a blog post entitled &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/11/07/introducing-sp-ssiscatalog-v1-0-0-0.aspx" target="_blank"&gt;Introducing sp_ssiscatalog (v1.0.0.0)&lt;/a&gt; in which I first made mention of sp_ssiscatalog, an open source stored procedure intended to make it easy to query the SSIS Catalog. I have been working on some enhancements since then and hence &lt;a href="http://ssisreportingpack.codeplex.com/releases/view/98006" target="_blank"&gt;v1.0.1.0 is now available for download from Codeplex&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;What’s new in this release&lt;/h3&gt;  &lt;p&gt;This release includes the following enhancements:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;[execution_id] now gets returned in a call to      &lt;br /&gt;      &lt;br /&gt;&lt;font color="#0000ff"&gt;EXEC &lt;/font&gt;&lt;font color="#000000"&gt;[dbo].[sp_ssiscatalog] &lt;/font&gt;&lt;font color="#434343"&gt;@operation_type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#ff0000"&gt;'exec'&lt;/font&gt;&lt;font color="#808080"&gt;;&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;img src="http://jamiekt.files.wordpress.com/2012/11/exec_execution_id1.jpg" width="870" height="397" /&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Filter events by specifying packages to ignore      &lt;br /&gt;&lt;font color="#0000ff"&gt;EXEC &lt;/font&gt;&lt;font color="#000000"&gt;[dbo].[sp_ssiscatalog] &lt;/font&gt;&lt;font color="#434343"&gt;@operation_type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#ff0000"&gt;'exec'&lt;/font&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;font color="#434343"&gt;@exec_events_packagesexcluded&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#ff0000"&gt;'SomePackage.dtsx,AnotherPackage.dtsx'&lt;/font&gt;&lt;font color="#808080"&gt;;        &lt;br /&gt;&lt;/font&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;[event_message_id] is now returned in a list of events      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;List of executions can now be filtered via a minimum and maximum execution_id      &lt;br /&gt;      &lt;br /&gt;&lt;font color="#0000ff"&gt;EXEC &lt;/font&gt;&lt;font color="#000000"&gt;[dbo].[sp_ssiscatalog] &lt;/font&gt;&lt;font color="#434343"&gt;@operation_type&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#ff0000"&gt;'execs'&lt;/font&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;font color="#434343"&gt;@execs_minimum_execution_id&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;198&lt;/font&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;font color="#434343"&gt;@execs_maximum_execution_id&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt;201&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;img src="http://jamiekt.files.wordpress.com/2012/11/execs_minmax.jpg" width="870" height="397" /&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Events resultsets now have a field, [event_message_context_xml] that contains an XML document containing all [event_message_context] info (if any exists)      &lt;br /&gt;      &lt;br /&gt;&lt;img src="http://jamiekt.files.wordpress.com/2012/11/exec_event_message_context1.jpg" width="868" height="396" /&gt;       &lt;br /&gt;&lt;img src="http://jamiekt.files.wordpress.com/2012/11/exec_event_message_context2.jpg" width="518" height="319" /&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Installation instructions&lt;/h3&gt;  &lt;ol&gt;   &lt;li&gt;Download the zip file at &lt;a href="http://ssisreportingpack.codeplex.com/releases/view/98006" target="_blank"&gt;DB v1.0.1.0&lt;/a&gt;. It contains two files, SsisReportingPack.dacpac &amp;amp; SSISDB.dacpac &lt;/li&gt;    &lt;li&gt;Unzip to a folder of your choosing &lt;/li&gt;    &lt;li&gt;Open a command prompt and change to the directory into which you unzipped the files &lt;/li&gt;    &lt;li&gt;Execute:&lt;/li&gt; &lt;/ol&gt;  &lt;ul&gt;   &lt;li&gt;&amp;quot;%PROGRAMFILES(x86)%\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe&amp;quot; /a:Publish /tdn:SsisReportingPack /sf:SSISReportingPack.dacpac /v:SSISDB=SSISDB /tsn:(local)     &lt;br /&gt;(/tsn specifies the target server. Change as appropriate.)&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;If everything works OK you’ll see something like the following:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_264776A2.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_1E4FD440.png" width="508" height="334" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;or&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0B2EA794.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_631BF874.png" width="513" height="386" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;depending on whether the target database already exists or not&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This will create a database called [SsisReportingPack] which contains [dbo].[sp_ssiscatalog]&lt;/p&gt;  &lt;blockquote&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_39D1CBD9.png" /&gt;&lt;/blockquote&gt;  &lt;p&gt;Feedback is welcomed!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SSIS Reporting Pack – a performance tip</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/11/05/ssis-reporting-pack-a-performance-tip.aspx</link><pubDate>Mon, 05 Nov 2012 22:36:41 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45948</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;SSIS Reporting Pack is a suite of open source SQL Server Reporting Services (SSRS) reports that provide additional insight into the SQL Server Integration Services (SSIS) 2012 Catalog. You can read more about SSIS Reporting Pack &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/tags/SSIS+Reporting+Pack/default.aspx" target="_blank"&gt;here on my blog&lt;/a&gt; or had over to the home page for the project at &lt;a title="http://ssisreportingpack.codeplex.com/" href="http://ssisreportingpack.codeplex.com/"&gt;http://ssisreportingpack.codeplex.com/&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;After having used SSRS Reporting Pack on a real project for a few months now I have come to realise that if you have any sizeable data volumes in [SSISDB] then the reports in SSIS Reporting Pack will suffer from chronic performance problems – I have seen the “execution” report take upwards of 30minutes to return data. To combat this I highly recommend that you create an index on the &lt;font face="Consolas"&gt;[SSISDB].[internal].[event_messages].[operation_id]&lt;/font&gt; &amp;amp; &lt;font face="Consolas"&gt;[SSISDB].[internal].[operation_messages].[operation_id]&lt;/font&gt; fields. &lt;a href="http://www.ssistalk.com/"&gt;Phil Brammer&lt;/a&gt; has experienced similar problems himself and has since made it easy for the rest of us by preparing some scripts to create the indexes that he recommends and he has shared those scripts via his blog at &lt;a href="http://www.ssistalk.com/SSIS_2012_Missing_Indexes.zip"&gt;http://www.ssistalk.com/SSIS_2012_Missing_Indexes.zip&lt;/a&gt;. If you are using SSIS Reporting Pack, or even if you are simply querying [SSISDB], I highly recommend that you download Phil’s scripts and test them out on your own SSIS Catalog(s).&lt;/p&gt;  &lt;p&gt;Those indexes will not solve all problems but they will make some of your reports run quicker. I am working on some further enhancements that should further improve the performance of the reports. Watch this space.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Querying the SSIS Catalog? Here’s a handy query!</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/10/17/querying-the-ssis-catalog-here-s-a-handy-query.aspx</link><pubDate>Wed, 17 Oct 2012 12:05:57 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45618</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;I’ve been working on a SQL Server Integration Services (SSIS) solution for about 6 months now and I’ve learnt many many things that I intend to share on this blog just as soon as I get the time. Here’s a very short starter-for-ten…&lt;/p&gt;  &lt;p&gt;I’ve found the following query to be utterly invaluable when interrogating the SSIS Catalog to discover what is going on in my executions:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre style="font-size:12px;"&gt;&lt;font color="blue"&gt;SELECT &lt;/font&gt;&lt;font color="black"&gt;event_message_id&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="blue"&gt;MESSAGE&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;package_name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;event_name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;message_source_name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;package_path&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;execution_path&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;message_type&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;message_source_type&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;(&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;SELECT&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;em.&lt;/font&gt;&lt;font color="gray"&gt;*&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;FROM&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;SSISDB.catalog.event_messages em&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="blue"&gt;WHERE&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="black"&gt;em.operation_id &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;SELECT &lt;/font&gt;&lt;font color="magenta"&gt;MAX&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;execution_id&lt;/font&gt;&lt;font color="gray"&gt;) &lt;/font&gt;&lt;font color="blue"&gt;FROM &lt;/font&gt;&lt;font color="black"&gt;SSISDB.catalog.executions&lt;/font&gt;&lt;font color="gray"&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AND &lt;/font&gt;&lt;font color="black"&gt;event_name &lt;/font&gt;&lt;font color="gray"&gt;NOT LIKE &lt;/font&gt;&lt;font color="red"&gt;'%Validate%'&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="gray"&gt;)&lt;/font&gt;&lt;font color="black"&gt;q&lt;br /&gt;&lt;/font&gt;&lt;font color="green"&gt;/* Put in whatever WHERE predicates you might like*/&lt;br /&gt;--WHERE	event_name = 'OnError'&lt;br /&gt;--WHERE	package_name = 'Package.dtsx'&lt;br /&gt;--WHERE execution_path LIKE '%&amp;lt;some executable&amp;gt;%'&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;ORDER BY &lt;/font&gt;&lt;font color="black"&gt;message_time &lt;/font&gt;&lt;font color="blue"&gt;DESC&lt;/font&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_541C129A.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_50BA7AF2.png" width="928" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Know it. Learn it. Love it.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Should we be able to deploy a single package to the SSIS Catalog?</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/10/16/should-we-be-able-to-deploy-a-single-package-to-the-ssis-catalog.aspx</link><pubDate>Tue, 16 Oct 2012 08:18:14 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45591</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;My buddy &lt;a href="https://twitter.com/suthathiru" target="_blank"&gt;Sutha Thiru&lt;/a&gt; sent me an email recently asking about my opinion on a particular nuance of the project deployment model in SQL Server Integration Services (SSIS) 2012 and I’d like to share my response as I think it warrants a wider discussion. Sutha asked:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Jamie&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;What is your take on this?       &lt;br /&gt;&lt;/em&gt;&lt;em&gt;&lt;a href="http://www.mattmasson.com/index.php/2012/07/can-i-deploy-a-single-ssis-package-from-my-project-to-the-ssis-catalog/" target="_blank"&gt;http://www.mattmasson.com/index.php/2012/07/can-i-deploy-a-single-ssis-package-from-my-project-to-the-ssis-catalog/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Overnight I was talking to Matt who confirmed that they got no plans to change the deployment model.       &lt;br /&gt;&lt;/em&gt;&lt;em&gt;For example if we have following scenrio how do we do deploy?&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;Sprint 1           &lt;br /&gt;&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;em&gt;Pkg1, 2 &amp;amp; 3 has been developed and deployed to UAT. Once signed off its been deployed to Live.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;Sprint 2           &lt;br /&gt;&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;em&gt;Pkg 4 &amp;amp; 5 been developed. During this time users raised a bug on Pkg2. We want to make the change to Pkg2 and deploy that to UAT and eventually to LIVE without releasing Pkg 4 &amp;amp;5.       &lt;br /&gt;&lt;/em&gt;&lt;em&gt;How do we do it?       &lt;br /&gt;&lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Matt pointed me to his blog entry which I have seen before . &lt;/em&gt;&lt;a href="http://www.mattmasson.com/index.php/2012/02/thoughts-on-branching-strategies-for-ssis-projects/" target="_blank"&gt;http://www.mattmasson.com/index.php/2012/02/thoughts-on-branching-strategies-for-ssis-projects/&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Thanks       &lt;br /&gt;&lt;/em&gt;&lt;em&gt;Sutha&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;My response:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Personally, even though I've experienced the exact problem you just outlined, I agree with the current approach. I steadfastly believe that there should not be a way for an unscrupulous developer to slide in a new version of a package under the covers. Deploying .ispac files brings a degree of rigour to your operational processes.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Yes, that means that we as SSIS developers are going to have to get better at using source control and branching properly but that is no bad thing in my opinion. Claiming to be proper &amp;quot;developers&amp;quot; is a bit of a cheap claim if we don't even do the fundamentals correctly.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I would be interested in the thoughts of others who have used the project deployment model. Do you agree with my point of view?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SSIS Catalog, Windows updates and deployment failures due to System.Core mismatch</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/07/11/ssis-catalog-windows-updates-and-deployment-failures-due-to-system-core-mismatch.aspx</link><pubDate>Wed, 11 Jul 2012 14:36:23 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:44257</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;&lt;em&gt;This is a heads-up for anyone doing development on SSIS. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;On my current project where we are implementing a SQL Server Integration Services (SSIS) 2012 solution we recently encountered a situation where we were unable to deploy any of our projects even though we had successfully deployed in the past. Any attempt to use the deployment wizard resulted in this error dialog:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/clip_image002_1AF90749.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="clip_image002" border="0" alt="clip_image002" src="http://sqlblog.com/blogs/jamie_thomson/clip_image002_thumb_3D6D9604.jpg" width="510" height="257" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The text of the error (for all you search engine crawlers out there) was:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;A .NET Framework error occurred during execution of user-defined routine or aggregate &amp;quot;create_key_information&amp;quot;:        &lt;br /&gt;System.IO.FileLoadException: Could not load file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) ---&amp;gt; System.IO.FileLoadException: The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)        &lt;br /&gt;System.IO.FileLoadException:         &lt;br /&gt;System.IO.FileLoadException:&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SqlServer.IntegrationServices.Server.Security.CryptoGraphy.CreateSymmetricKey(String algorithm)        &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SqlServer.IntegrationServices.Server.Security.CryptoGraphy.CreateKeyInformation(SqlString algorithmName, SqlBytes&amp;amp; key, SqlBytes&amp;amp; IV)        &lt;br /&gt;. (Microsoft SQL Server, Error: 6522)&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After some investigation and a bit of back and forth with some very helpful members of the SSIS product team (hey Matt, Wee Hyong) it transpired that this was due to a .Net Framework fix that had been delivered via Windows Update. I took a look at the server update history and indeed there have been some recently applied .Net Framework updates:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_1C0DF068.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_3AE46446.png" width="654" height="235" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This fix had (in the words of &lt;a href="https://twitter.com/mattmasson" target="_blank"&gt;Matt Masson&lt;/a&gt;) “somehow caused a mismatch on System.Core for SQLCLR” and, as you may know, SQLCLR is used heavily within the SSIS Catalog. The fix was pretty simple – restart SQL Server. This causes the assemblies to be upgraded automatically. If you are using Data Quality Services (DQS) you may have experienced similar problems which are documented at &lt;a href="http://http://msdn.microsoft.com/en-us/library/hh479773.aspx" target="_blank"&gt;Upgrade SQLCLR Assemblies After .NET Framework Update&lt;/a&gt;. I am hoping the SSIS team will follow-up with a more thorough explanation on their &lt;a href="http://blogs.msdn.com/b/mattm/" target="_blank"&gt;blog&lt;/a&gt; soon.&lt;/p&gt;  &lt;p&gt;You DBAs out there may be questioning why Windows Update is set to automatically apply updates on our production servers. We’re checking that out with our hosting provider right now &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://sqlblog.com/blogs/jamie_thomson/wlEmoticon-smile_0088EE65.png" /&gt;&lt;/p&gt;  &lt;p&gt;You have been warned!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>