<?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 'Integration Services'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=Integration+Services&amp;orTags=0</link><description>Search results matching tag 'Integration Services'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Forcing “Custom Properties” of a Data Flow Transformation to support DTS Expression</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2013/01/30/forcing-custom-properties-of-a-data-flow-transformation-to-support-dts-expression.aspx</link><pubDate>Wed, 30 Jan 2013 16:48:22 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47396</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;Today I was using a 3rd Party Data Flow component that has several Custom Properties for which I need to change some of their values at runtime using a DTS Expression.&lt;/p&gt;  &lt;p&gt;To mimic the situation let’s use the “Percentage Sampling” that has two Custom Properties:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_27FF2363.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/davide_mauri/image_thumb_4E6106AE.png" width="406" height="79" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of the two Custom Properties only some (one in this case) are available also outside that dataflow, so that they can be targeted by a DTS Expression. Such properties are listed under the “Misc.” section of Data Flow properties&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_66F0A3FE.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/davide_mauri/image_thumb_7F140E59.png" width="399" height="318" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and also in the Property Expression Editor window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_2C28FB28.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/davide_mauri/image_thumb_2B50953E.png" width="574" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, what if you need to make also the “hidden” custom properties available for DTS Expression usage? As you may have noticed, the &lt;em&gt;SamplingSeed&lt;/em&gt; is not exposed outside the Data Flow. I tried to search the web, but after several minutes I gave up since I wasn’t able to find anything that could help. I then started to look into the SSIS object model and I found a nice property named &lt;em&gt;expressionType &lt;/em&gt;in the &lt;em&gt;IDTSCustomProperty &lt;/em&gt;interface that tells to the engine if the property value can be specified using DTS Expression or not:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/bb510794.aspx" href="http://msdn.microsoft.com/en-us/library/bb510794.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb510794.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If the value is set to &lt;em&gt;Notify&lt;/em&gt; than the usage of DTS Expression is possible otherwise, if the property is set to &lt;em&gt;None&lt;/em&gt;, as the name implies, DTS Expression cannot be used.&lt;/p&gt;  &lt;p&gt;So all you need to do is to open the .dtsx file, look for the component you want to touch and its properties&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_5C6FCFDE.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/davide_mauri/image_thumb_49BAD627.png" width="527" height="69" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and add (if not exists) or change the &lt;em&gt;expressionType&lt;/em&gt; attribute to &lt;em&gt;Notify&lt;/em&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_221459FD.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/davide_mauri/image_thumb_7A6DDDD2.png" width="520" height="82" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Save the file and voilà, the property is now available for DTS Expression usage!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_39CB9163.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/davide_mauri/image_thumb_401267F1.png" width="544" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now,&lt;strong&gt; just be aware that is a sort of an hack, so double check it works for you.&lt;/strong&gt; On the 3rd party components we’re using it works like a charm, and it just saved that day since without the ability to change some properties at run time, the deployment of our package in production could have been a nightmare.&lt;/p&gt;  &lt;p&gt;I tested this approach both on SQL Server 2012 and SQL Server 2008 and in both cases I hadn’t had any problems.&lt;/p&gt;  &lt;p&gt;Hope this helps someone &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="http://sqlblog.com/blogs/davide_mauri/wlEmoticon-smile_186BEBC7.png" /&gt;, enjoy!&lt;/p&gt;</description></item><item><title>DTLoggedExec 1.1.2008.4 Service Pack 1 released</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/07/25/dtloggedexec-1-1-2008-4-service-pack-1-released.aspx</link><pubDate>Mon, 25 Jul 2011 19:16:39 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:37304</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;Today I’ve released the first Service Pack of &lt;a title="DTLoggedExec" href="http://dtloggedexec.davidemauri.it" target="_blank"&gt;DTLoggedExec&lt;/a&gt; (for those who doesn’t know what it is: DTLoggedExec is a DTExec replacement to run Integration Services packages):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dtloggedexec.codeplex.com"&gt;http://dtloggedexec.codeplex.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This Service Pack fixes some little problems with the .bat and .sql files that comes with DTLoggedExec. All the fixes were already published as single changesets (86188, 86299, 87778, 88124 and 91054) and the Service Pack put them all togheter for users convenience.&lt;/p&gt;  &lt;p&gt;You can download the full DTLoggedExec package with the SP1 already integrated or the single Service Pack 1 that you can integrate manually in your existing installations (all you have to do is to overwrite the existing files):&lt;/p&gt;  &lt;p&gt;&lt;a title="http://dtloggedexec.codeplex.com/releases/view/70641" href="http://dtloggedexec.codeplex.com/releases/view/70641"&gt;http://dtloggedexec.codeplex.com/releases/view/70641&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SQL Server v.Next (Denali) : Breaking change to system databases / database_id / DB_ID()</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2011/07/08/sql-server-v-next-denali-breaking-change-to-system-databases-database-id-db-id.aspx</link><pubDate>Fri, 08 Jul 2011 13:09:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36710</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Currently you may have code that makes decisions based on sys.databases.database_id or the built-in DB_ID() function. I have seen a lot of code out there that checks the database_id, and behaves differently based on the assumption that a value between 1 and 4 (as well as 32,767 - the resource database) means it is a system database, and anything in between (from 5 to 32,766) means it is a user database. I also see code that checks the name of the database (IN ('master', 'model', 'msdb', 'tempdb')). &lt;/p&gt;
&lt;p&gt;In Denali, if you install SQL Server Integration Services, all of the packages and other metadata, as well as operational metrics, are stored in an "SSIS Catalog" now. The catalog is called SSISDB but, other than the fact that it also exists under the Integration Services node in Management Studio's Object Explorer, it is just another database and adopts the next available database_id. On my system, with 11 user databases, the database_id for SSISDB was 16.&amp;nbsp;As you probably already know, there is nothing in sys.databases to indicate that a database is shipped with SQL Server or is otherwise designated as a "system" database.&amp;nbsp;And there is no revealing property exposed by DATABASEPROPERTYEX(), either (nor by DATABASEPROPERTY(), which of course is deprecated in Denali anyway).&lt;/p&gt;
&lt;p&gt;What this means is that you *may* want to consider updating any such code to also check for the name SSISDB. Why do I say *may*? Well, I don't know all of the scenarios you're currently using that cause you to differentiate between system and user databases. It could be for backup purposes, index maintenance, making snapshots, who knows... depending on the task, you may want to conditionally consider SSISDB a system database or a user database. What I do know is that if you want to consider SSISDB a system database, you won't be able to lump it in with other system databases relying solely on database_id / DB_ID().&lt;/p&gt;
&lt;p&gt;As another note, currently it seems there is no way to customize the name of the SSIS catalog when you add Integration Services (whether that is during initial SQL Server setup, or after the fact). What this means for folks who already have a user database named SSISDB before they install Integration Services and create the catalog? Well, unless your database magically has the schema that the UI expects, when you try to expand Integration Services in Object Explorer in SSMS, you get this exception (click to embiggen):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://sqlblog.com/files/folders/36723/download.aspx" title="http://sqlblog.com/files/folders/36723/download.aspx" target="_blank"&gt;&lt;img src="http://sqlblog.com/files/folders/36723/download.aspx" border="1" height="155" width="412"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Here are the interesting and search-friendly parts of the error message:&lt;br&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)&lt;br&gt;An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)&lt;br&gt;Invalid object name 'SSISDB.catalog.catalog_property'. (Microsoft SQL Server, Error: 208) 
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;

&lt;p&gt;If you drop or rename the existing SSISDB database, then Management Studio works as expected - you can right-click Integration Services and choose "Create Catalog" and it will create the SSISDB database for you.&lt;/p&gt;&lt;p&gt;Since we can't test upgrades using the CTPs (as they only ship in Evaluation Edition), I am not sure what is going to happen if you upgrade in place when you have SSIS installed *and* you have your own user database called SSISDB. It's possible, I guess, that SSIS will just take over that DB and inject its own schema, but then what if there are conflicts (e.g. you already have a schema named catalog). &lt;/p&gt;
Also not sure what happens to all of the surrounding functionality if you decide to manually rename the database, I'm not sure. I'm not an SSIS guy, so I don't really have the means to test this, and I don't see any official documentation or blogs that talk about this scenario.
&lt;p&gt;For some of this, I guess there's no way to know until RTM - but to play it safe, if you currently happen to have a database called SSISDB, you might consider changing it now if you use SSIS and are planning to move to Denali. &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;</description></item><item><title>Spotlight session at PASS 2011 - Temporal Snapshot Fact Table</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/05/29/spotlight-session-at-pass-2011-temporal-snapshot-fact-table.aspx</link><pubDate>Sun, 29 May 2011 13:44:59 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:35953</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;I’m very happy to announce that my proposal for the Spotlight session I’ve been invited to deliver at PASS 2011 has been accepted!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Temporal Snapshot Fact Table&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;You are designing a BI Solution and your customer ask you to keep a snapshot of the status of all their documents (orders, insurances, contracts, bills...whatever the word &amp;quot;document&amp;quot; may mean) for all the days of the year. They have millions of documents and they want to have in their Data Warehouse all the data they have gathered right from the very first operating day.&lt;/p&gt;    &lt;p&gt;If you have 1 million of documents (on average) and you have to keep a snapshot of them for each one of the 365 days in a year, and you have 10 year of history, you're going to have a 3 billions table just to start with. That's a very big and challenging number, and you may have not the option to buy a Parallel Data Warehouse. &lt;/p&gt;    &lt;p&gt;In this session, we'll see how we can turn the usual snapshot tables into temporal table so that we can store time intervals in order to avoid data duplication, while keeping the Data Warehouse design usable by Analysis Services (that doesn't know what an interval is) and optimizing it to have very good performance even on standard hardware.&lt;/p&gt;    &lt;p&gt;The explained technique is a result of several month of research and has been applied to the Data Warehouse of an insurance company where we had to deal with two times the number said before. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The topic is very interesting and – I bet – very intriguing for many people working in BI and specially with Analysis Services, since it lacks the support of “time intervals” to define the validity period of a fact row. With my SolidQ Italian collegues we’ve been able to find a way to overcome this limitation, allowing the storage of daily snapshots of data with a very high efficency and performance.&lt;/p&gt;  &lt;p&gt;In this session I’m going to share everything we discovered with you. It will be really interesting, I can tell you! Probably one of the most advanced – yes simple - usage of SSAS and Many-To-Many relationship you’re going to see.&lt;/p&gt;</description></item><item><title>Auto-Configuring SSIS Packages</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/03/16/auto-configuring-ssis-packages.aspx</link><pubDate>Wed, 16 Mar 2011 13:32:39 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34189</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;SSIS &lt;a href="http://msdn.microsoft.com/en-us/library/cc671628.aspx"&gt;Package Configurations&lt;/a&gt; are very useful to make packages flexible so that you can change objects properties at run-time and thus make the package configurable without having to open and edit it.&lt;/p&gt;  &lt;p&gt;In a complex scenario where you have dozen of packages (even in in the smallest BI project I worked on I had 50 packages), each package may have its own configuration needs. This means that each time you have to run the package you have to pass the correct Package Configuration. I usually use XML configuration files and I also force everyone that works with me to make sure that an object that is used in several packages has the same name in all package where it is used, in order to simplify configurations usage. Connection Managers are a good example of one of those objects. For example, all the packages that needs to access to the Data Warehouse database must have a Connection Manager named DWH.&lt;/p&gt;  &lt;p&gt;Basically we define a set of “&lt;em&gt;globa&lt;/em&gt;l” objects so that we can have a configuration file for them, so that it can be used by all packages.&lt;/p&gt;  &lt;p&gt;If a package as some specific configuration needs, we create a specific – or “&lt;em&gt;local&lt;/em&gt;” – XML configuration file or we set the value that needs to be configured at runtime using &lt;a title="DTLoggedExec" href="http://dtloggedexec.davidemauri.it" target="_blank"&gt;DTLoggedExec&lt;/a&gt;’s Package Parameters: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://dtloggedexec.davidemauri.it/Package%20Parameters.ashx" href="http://dtloggedexec.davidemauri.it/Package%20Parameters.ashx"&gt;http://dtloggedexec.davidemauri.it/Package%20Parameters.ashx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, how we can improve this even more? I’d like to have a package that, when it’s run, automatically goes “somewhere” and search for global or local configuration, loads it and applies it to itself.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;That’s the basic idea of Auto-Configuring Packages.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The “somewhere” is a SQL Server table, defined in this way&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_39A9B67A.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/davide_mauri/image_thumb_5C0E1F68.png" width="730" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this table you’ll put the values that you want to be used at runtime by your package:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/davide_mauri/image_2207C2B9.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/davide_mauri/image_thumb_6DF32365.png" width="640" height="69" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;ConfigurationFilter &lt;/strong&gt;column specify to which package that configuration line has to be applied. A package will use that line &lt;em&gt;only if&lt;/em&gt; the value specified in the ConfigurationFilter column is equal to its name. In the above sample. only the package named “simple-package” will use the line number two.&lt;/p&gt;  &lt;p&gt;There is an exception here: the &lt;em&gt;$$Global&lt;/em&gt; value indicate a configuration row that has to be applied to &lt;em&gt;any&lt;/em&gt; package. With this simple behavior it’s possible to replicate the “global” and the “local” configuration approach I’ve described before.&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;ConfigurationValue &lt;/strong&gt;contains the value you want to be applied at runtime and the &lt;strong&gt;PackagePath&lt;/strong&gt; contains the object to which that value will be applied. The &lt;strong&gt;ConfiguredValueType&lt;/strong&gt; column defined the data type of the value and the &lt;strong&gt;Checksum &lt;/strong&gt;column is contains a calculated value that is simply the hash value of ConfigurationFilter plus PackagePath so that it can be used as a Primary Key to guarantee uniqueness of configuration rows.&lt;/p&gt;  &lt;p&gt;As you may have noticed the table is very similar to the table originally used by SSIS in order to put DTS Configuration into SQL Server tables:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SQL Server SSIS Configuration Type: &lt;a title="http://msdn.microsoft.com/en-us/library/ms141682.aspx" href="http://msdn.microsoft.com/en-us/library/ms141682.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms141682.aspx&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now, how it works?&lt;/p&gt;  &lt;p&gt;It’s very easy: you just have to call DTLoggedExec with the /AC option:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DTLoggedExec.exe /FILE:”mypackage.dtsx” /AC:&amp;quot;localhost;ssis_auto_configuration;ssiscfg.configuration&amp;quot; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;the AC option expects a string with the following format:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;database_server&amp;gt;;&amp;lt;database_name&amp;gt;;&amp;lt;table_name&amp;gt;;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;only Windows Authentication is supported.&lt;/p&gt;  &lt;p&gt;When DTLoggedExec finds an Auto-Configuration request, it injects a new connection manager in the loaded package. The injected connection manager is named &lt;em&gt;$$DTLoggedExec_AutoConfigure&lt;/em&gt; and is used by the two SQL Server DTS Configuration (&lt;em&gt;$$DTLoggedExec_Global&lt;/em&gt; and &lt;em&gt;$$DTLoggedExec_Local&lt;/em&gt;) also injected by DTLoggedExec, used to load “local” and “global” configuration.&lt;/p&gt;  &lt;p&gt;Now, you may start to wonder why this approach cannot be used without having all this stuff going around, but just passing to a package always two XML DTS Configuration files, (to have to “local” and the “global” configurations) doing something like this:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;DTLoggedExec.exe /FILE:”mypackage.dtsx” /CONF:”global.dtsConfig” /CONF:”mypackage.dtsConfig”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The problem is that this approach doesn’t work if you have, in one of the two configuration file, a value that has to be applied to an object that doesn’t exists in the loaded package. This situation will raise an error that will halt package execution.&lt;/p&gt;  &lt;p&gt;To solve this problem, you may want to create a configuration file for each package. Unfortunately this will make deployment and management harder, since you’ll have to deal with a great number of configuration files.&lt;/p&gt;  &lt;p&gt;The Auto-Configuration approach solve all these problems at once! &lt;/p&gt;  &lt;p&gt;We’re using it in a project where we have hundreds of packages and I can tell you that deployment of packages and their configuration for the pre-production and production environment has never been so easy!&lt;/p&gt;  &lt;p&gt;To use the Auto-Configuration option you have to download the latest DTLoggedExec release:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://dtloggedexec.codeplex.com/releases/view/62218" href="http://dtloggedexec.codeplex.com/releases/view/62218"&gt;http://dtloggedexec.codeplex.com/releases/view/62218&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Feedback, as usual, are very welcome!&lt;/p&gt;</description></item><item><title>DTLoggedExec 1.1.2008.4 Released!</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/03/15/dtloggedexec-1-1-2008-4-released.aspx</link><pubDate>Tue, 15 Mar 2011 11:42:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34148</guid><dc:creator>manowar</dc:creator><description>&lt;P&gt;Today I've relased the latest version of my DTExec replacement tool, &lt;A href="http://dtloggedexec.codeplex.com/"&gt;DTLoggedExec&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The main changes are the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;Used a new strategy for version numbers. Now it will follow the following pattern Major.Minor.TargetSQLServerVersion.Revision&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;B&gt;Added support for Auto Configurations&lt;/B&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;Fixed a bug that reported incorrect number of errors and warnings to Log Providers&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;Fixed a buf that prevented correct casting of values when using /Set and /Param options&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;Errors and Warnings are now counted more precisely. &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;STRONG&gt;Updated database and log import scripts to categorize logs by projects and sections&lt;/STRONG&gt;. E.g.: Project: MyBIProject; Sections: Staging, Datawarehouse&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;Removed unused report stored procedures from database&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;STRONG&gt;Updated Samples&lt;/STRONG&gt;: 12 samples are now available to show ALL DTLoggedExec features&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;B&gt;From this version only SSIS 2008 will be supported&lt;/B&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=wikidoc&gt;&lt;A href="http://dtloggedexec.codeplex.com/releases/view/62218"&gt;http://dtloggedexec.codeplex.com/releases/view/62218&lt;/A&gt;&lt;/P&gt;
&lt;P class=wikidoc&gt;&amp;nbsp;It useful to say something more on a couple of specific points:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;B&gt;From this version only SSIS 2008 will be supported&lt;BR&gt;&lt;/B&gt;Yes,&amp;nbsp;Integration Services&amp;nbsp;2005&amp;nbsp;are not supported anymore. The latest version capable of running SSIS 2005 Packages is the 1.0.0.2.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;STRONG&gt;Updated database and log import scripts to categorize logs by projects and sections&lt;BR&gt;&lt;/STRONG&gt;When you import a log file, you can now assign it to a Project and to a Section of that project. In this way it's easier to gather statistical information for an entire project or a subsection of it. This also allows to store logged data of package belonging to different projects in the same database. For example:&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=wikidoc&gt;&lt;A href="http://dtloggedexec.davidemauri.it/GetFile.aspx?File=/Misc/PrjAnalysis.png"&gt;&lt;IMG style="WIDTH:200px;" border=0 src="http://dtloggedexec.davidemauri.it/GetFile.aspx?File=/Misc/PrjAnalysis.png" width=200&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;STRONG&gt;Updated Samples&lt;BR&gt;&lt;/STRONG&gt;A complete set of samples that shows how to use all DTLoggedExec features are now shipped with the product. Enjoy!&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=wikidoc&gt;&lt;B&gt;Added support for Auto Configurations&lt;BR&gt;&lt;/B&gt;This point will have a post on its own, since it's quite important and is by far the biggest new feature introduced in this release. To explain it in a few words, I can just say that you don't need to waste time with complex DTS configuration files or options, since a package will configure itself automatically. You just need to write a single statement as&amp;nbsp;a parameter for DTLoggedExec. This feature can simplify deployment *a lot* :)&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;DIV class=wikidoc&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=wikidoc&gt;I the next days I'll write the mentioned post on Auto-Configurations and i'll update the documentation&amp;nbsp;available on theDTLoggedExec website:&lt;/DIV&gt;
&lt;DIV class=wikidoc&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=wikidoc&gt;&lt;A href="http://dtloggedexec.davidemauri.it/MainPage.ashx"&gt;http://dtloggedexec.davidemauri.it/MainPage.ashx&lt;/A&gt;&lt;/DIV&gt;</description></item><item><title>PASS Summit 2010 – BI Workshop</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/06/30/pass-summit-2010-bi-workshop.aspx</link><pubDate>Wed, 30 Jun 2010 12:01:10 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:26596</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;PASS Summit 2010 Pre &amp;amp; Post conference &lt;a href="http://sqlpass.eventpoint.com/PrePostConferenceSessions"&gt;are out&lt;/a&gt;! This year I’ll deliver the “&lt;a href="http://sqlpass.eventpoint.com/topic/details/TF1588"&gt;Creating BI Solution from A to Z&lt;/a&gt;” seminar in which, as the title implies, attendees will see how to create a BI solution starting from scratch. Going through the dimensional modeling and the creation of the Datawarehouse, the implementation of the ETL process with SSIS, the creation of cube with Analysis Services and reports with Reporting Services with, if time permits, also a glance at PowerPivot, attendees will get a solid ground on the whole process that drives the creation of a BI solution.&lt;/p&gt;  &lt;p&gt;The workshop will also show all the best practices and the best methodological approach matured in more than 5 years of working in the BI field.&lt;/p&gt;  &lt;p&gt;If you’ll be working on BI or you already have a created an initial BI solution and you want to be sure you’re following the right path, this is workshop is for you!&lt;/p&gt;  &lt;p&gt;Don’t miss it!&lt;/p&gt;</description></item><item><title>SSIS Expression Tester Tool</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/06/13/ssis-expression-tester-tool.aspx</link><pubDate>Sun, 13 Jun 2010 08:56:05 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:26172</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;Thanks to my friend's &lt;a href="http://dougbert.com/blogs/dougbert/archive/2010/06/10/wow-an-ssis-expression-tester-tool.aspx" target="_blank"&gt;Doug blog&lt;/a&gt; I’ve found a very nice tool made by fellow MVP Darren Green which really helps to make SSIS develoepers life easier:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://expressioneditor.codeplex.com/Wikipage?ProjectName=expressioneditor" href="http://expressioneditor.codeplex.com/Wikipage?ProjectName=expressioneditor"&gt;http://expressioneditor.codeplex.com/Wikipage?ProjectName=expressioneditor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In brief the tool allow the testing of SSIS Expression so that one can evaluate and test them before using in SSIS packages. Cool and useful!&lt;/p&gt;</description></item><item><title>SSIS packages incompatibilities between SSIS 2008 and SSIS 2008 R2</title><link>http://sqlblog.com/blogs/marco_russo/archive/2010/05/13/ssis-packages-incompatibilities-between-ssis-2008-and-ssis-2008-r2.aspx</link><pubDate>Thu, 13 May 2010 22:46:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:25131</guid><dc:creator>sqlbi</dc:creator><description>&lt;P&gt;When you install SQL 2008 R2 workstation components you get a newer version of BIDS (BI Developer Studio, included in the workstation components) that replaces BIDS 2008 version (BIDS 2005 still live side-by-side). Everything would be good if you can use the newer version to edit any 2008 AND 2008R2 project.&lt;/P&gt;
&lt;P&gt;SSIS editor doesn't offer a way to set the "compatibility level" of the package, becuase it is almost all unchanged. However, if a package has an ADO.NET Destination Adapter, there is a difference in XML format that requires some manual changes to move a SSIS project back and forth between BIDS 2008 and BIDS 2008R2.&lt;/P&gt;
&lt;P&gt;John Welch &lt;A href="http://agilebi.com/cs/blogs/jwelch/archive/2010/05/13/moving-ssis-packages-with-ado-net-destinations-between-2008-r2-and-2008.aspx"&gt;wrote a very good post&lt;/A&gt; about this issue, explaining how to make the changes if you need to.&lt;/P&gt;</description></item><item><title>DTLoggedExec 1.0 Stable Released!</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2010/05/09/dtloggedexec-1-0-stable-released.aspx</link><pubDate>Sun, 09 May 2010 08:51:43 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24955</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;After serveral years of development I’ve finally released the first non-beta version of &lt;a title="DTLoggedExec" href="http://dtloggedexec.davidemauri.it" target="_blank"&gt;DTLoggedExec&lt;/a&gt;! I’m now very confident that the product is stable and solid and has all the feature that are important to have (at least for me).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DTLoggedExec 1.0     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://dtloggedexec.codeplex.com/releases/view/44689" href="http://dtloggedexec.codeplex.com/releases/view/44689"&gt;http://dtloggedexec.codeplex.com/releases/view/44689&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here’s the release notes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;FIRST NON-BETA RELEASE! :)&lt;/li&gt;    &lt;li&gt;Code cleaned up &lt;/li&gt;    &lt;li&gt;Added SetPackageInfo method to ILogProvider interface to make easier future improvements&lt;/li&gt;    &lt;li&gt;Deprecated the arguments 'ProfileDataFlow', 'ProfilePath', 'ProfileFileName'&lt;/li&gt;    &lt;li&gt;Added the new argument 'ProfileDataFlowFileName' that replaces the old 'ProfileDataFlow', 'ProfilePath', 'ProfileFileName' arguments&lt;/li&gt;    &lt;li&gt;Updated database scripts to support new reports&lt;/li&gt;    &lt;li&gt;Split releases in three different packages for easier maintenance and updates: DTLoggedExec Executable, Samples &amp;amp; Reports&lt;/li&gt;    &lt;li&gt;Fixed Issue #25738 (&lt;a href="http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=25738"&gt;http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=25738&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;Fixed Issue #26479 (&lt;a href="http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=26479"&gt;http://dtloggedexec.codeplex.com/WorkItem/View.aspx?WorkItemId=26479&lt;/a&gt;)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To make things easier to maintain I’ve divided the original package in three different releases. One is the DTLoggedExec executable; samples and reports are now available in separate packages so that I can update them more frequently without having to touch the engine.&lt;/p&gt;  &lt;p&gt;Source code of everything is available through Source Code Control:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://dtloggedexec.codeplex.com/SourceControl/list/changesets" href="http://dtloggedexec.codeplex.com/SourceControl/list/changesets"&gt;http://dtloggedexec.codeplex.com/SourceControl/list/changesets&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As usual, comments and feebacks are more than welcome! (Just use Codeplex, please, so it will be easier for me to keep track of requests and issues)&lt;/p&gt;</description></item></channel></rss>