<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>SSIS Team Blog</title><link>http://blogs.msdn.com/b/mattm/</link><description>Helpful information and examples on how to use SQL Server Integration Services.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>SQL Server Data Tools – Business Intelligence for Visual Studio 2012 released online</title><link>http://blogs.msdn.com/b/mattm/archive/2013/03/07/sql-server-data-tools-business-intelligence-for-visual-studio-2012-released-online.aspx</link><pubDate>Thu, 07 Mar 2013 00:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10400085</guid><dc:creator>Wee Hyong Tok</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10400085</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2013/03/07/sql-server-data-tools-business-intelligence-for-visual-studio-2012-released-online.aspx#comments</comments><description>&lt;p&gt;Today we are releasing SQL Server Data Tools &amp;ndash; Business Intelligence for Visual Studio 2012 (SSDT BI) templates. With SSDT BI for Visual Studio 2012 you can develop and deploy SQL Server Business intelligence projects. Projects created in Visual Studio 2010 can be opened in Visual Studio 2012 and the other way around without upgrading or downgrading &amp;ndash; it just works.&lt;/p&gt;
&lt;p&gt;The download/install is named to ensure you get the SSDT templates that contain the Business Intelligence projects. The setup for these tools is now available from the web and can be downloaded in multiple languages right here: &lt;span style="text-decoration: underline;"&gt;&lt;a href="http://www.microsoft.com/download/details.aspx?id=36843"&gt;http://www.microsoft.com/download/details.aspx?id=36843&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The setup includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Visual Studio 2012 integrated shell (if you don&amp;rsquo;t have Visual Studio 2012 on your machine)&lt;/li&gt;
&lt;li&gt;Project templates for&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Analysis services projects&lt;/li&gt;
&lt;li&gt;Reporting services projects&lt;/li&gt;
&lt;li&gt;Integration services projects&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/2388.Setup.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/2388.Setup.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;It will be installed as a new shared feature for SQL Server 2012 and can be uninstalled from there.&lt;/p&gt;
&lt;p&gt;This download contains the same features as SQL Server 2012 SP1 and supports the themes introduced for Visual Studio 2012.&lt;/p&gt;
&lt;p&gt;Some screenshots of the templates in Visual Studio 2012:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/8308.NewProject.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/8308.NewProject.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;New project in Visual Studio 2012 black theme&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/8836.SSISProject.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/8836.SSISProject.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Integration services project in Visual Studio 2012 dark theme&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/7848.MultiDimensionalProject.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/7848.MultiDimensionalProject.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Multi-dimensional project in Visual Studio 2012 light theme&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/7065.TabularModelProject.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/7065.TabularModelProject.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tabular model project in Visual Studio 2012 dark theme&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/2626.ReportServicesProject.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44/2626.ReportServicesProject.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Reporting services project in Visual Studio 2012 light theme&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Happy developing!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10400085" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/Visual+Studio+2012/">Visual Studio 2012</category></item><item><title>SSIS 2012: Creating a Simple ETL Package Tutorial</title><link>http://blogs.msdn.com/b/mattm/archive/2012/12/19/ssis-2012-creating-a-simple-etl-package-tutorial.aspx</link><pubDate>Wed, 19 Dec 2012 00:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10379269</guid><dc:creator>Carla Sabotta</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10379269</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/12/19/ssis-2012-creating-a-simple-etl-package-tutorial.aspx#comments</comments><description>&lt;p&gt;There is now a SSIS 2012 version of the&amp;nbsp;"Creating a Simple ETL Package Tutorial". The tutorial and lesson packages work with the AdventureWorksDW2012 database. And, the tutorial includes a new Lesson 6 that shows you how to convert a project to the project deployment model and replace configuration values with parameters.&lt;/p&gt;
&lt;p&gt;The tutorial documentation is at &lt;span style="color: #3366ff;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms169917.aspx"&gt;&lt;span style="color: #3366ff;"&gt;SSIS Tutorial: Creating a Simple ETL Package&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;To download the lesson packages and sample data for the tutorial,&amp;nbsp;navigate to the &lt;span style="color: #3366ff;"&gt;&lt;a href="http://msftisprodsamples.codeplex.com/releases"&gt;&lt;span style="color: #3366ff;"&gt;DOWNLOADS&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; tab of&amp;nbsp;the &lt;strong&gt;Integration Services Product Samples&lt;/strong&gt;&amp;nbsp;project on&amp;nbsp;CodePlex and click&amp;nbsp;the SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip file.&amp;nbsp; To download the AdventureWorksDW2012 database, navigate to the &lt;span style="color: #3366ff;"&gt;&lt;a href="http://msftdbprodsamples.codeplex.com/releases/view/55330"&gt;&lt;span style="color: #3366ff;"&gt;Adventure Works for SQL Server 2012&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; release on the &lt;strong&gt;Database Product Samples&lt;/strong&gt; project on CodePlex.&lt;/p&gt;
&lt;p&gt;This &lt;span style="color: #3366ff;"&gt;&lt;a href="http://msftisprodsamples.codeplex.com/wikipage?title=SS2012%21Creating%20a%20Simple%20ETL%20Package%20Tutorial%3a%20Lesson%20Packages&amp;amp;referringTitle=Home"&gt;&lt;span style="color: #3366ff;"&gt;samples readme&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; provides additional information about running the lesson packages.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10379269" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS+2012/">SSIS 2012</category></item><item><title>Deploy SSIS 2012 projects using catalog.deploy_project Stored Procedure</title><link>http://blogs.msdn.com/b/mattm/archive/2012/12/06/deploy-ssis-2012-projects-using-catalog-deploy-project-stored-procedure.aspx</link><pubDate>Thu, 06 Dec 2012 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10375351</guid><dc:creator>Carla Sabotta</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10375351</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/12/06/deploy-ssis-2012-projects-using-catalog-deploy-project-stored-procedure.aspx#comments</comments><description>&lt;p&gt;In SQL Server 2012, you can use the catalog.deploy_project stored procedure to deploy an SSIS project to the SSIS server. You need to provide the binary contents of the project deployment file (.ispac extension), for the @project_stream parameter, along with the project name and the folder the project will be deployed to. The @project_stream&amp;nbsp;parameter is varbinary(MAX).&lt;/p&gt;
&lt;p&gt;You can retrieve the binary contents of the project file by using a SELECT statement with the OPENROWSET function and the BULK rowset provider. The provider enables you to read data from the file, returning the contents as a single-row, single-column rowset of type varbinary(max).&lt;/p&gt;
&lt;p&gt;In the following example, the SSISPackages_ProjectDeployment project is deployed to the SSIS Packages folder on the SSIS server. The binary data is read from the project file (SSISPackage_ProjectDeployment.ispac) and is stored in the &lt;span class="parameter"&gt;@ProjectBinary&lt;/span&gt; parameter of type varbinary(max). The &lt;span class="parameter"&gt;@ProjectBinary&lt;/span&gt; parameter value is assigned to the &lt;span class="parameter"&gt;@project_stream&lt;/span&gt; parameter.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;DECLARE @ProjectBinary as varbinary(max)&lt;br /&gt;DECLARE @operation_id as bigint&lt;br /&gt;Set @ProjectBinary = (SELECT * FROM OPENROWSET(BULK 'C:\MyProjects\ SSISPackage_ProjectDeployment.ispac', SINGLE_BLOB) as BinaryData)&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;Exec catalog.deploy_project @folder_name = 'SSIS Packages', @project_name = 'DeployViaStoredProc_SSIS', @Project_Stream = @ProjectBinary, @operation_id = @operation_id out&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For instructions and examples on how to use the catalog.create_execution, catalog.set_execution_parameter_value, and catalog.start_execution stored procedures to create, configure and start a package execution, see this topic in BOL.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff; background-color: #ffffff;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/jj820152.aspx"&gt;&lt;span style="color: #0000ff; background-color: #ffffff;"&gt;Deploy and Execute SSIS Packages using Stored Procedures&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10375351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SQL2012/">SQL2012</category></item><item><title>Scheduling SSIS Packages and SSIS Catalog Reports -- Doc Updates</title><link>http://blogs.msdn.com/b/mattm/archive/2012/10/16/scheduling-ssis-packages-and-ssis-catalog-reports-doc-updates.aspx</link><pubDate>Tue, 16 Oct 2012 21:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10360157</guid><dc:creator>Carla Sabotta</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10360157</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/10/16/scheduling-ssis-packages-and-ssis-catalog-reports-doc-updates.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;ve recently updated the SSIS documentation in Books Online (BOL), to add some details around setting SQL Agent job options for packages stored in the SSIS catalog, as well as in MSDB and the file system.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve also added some more information about the troubleshooting reports available for projects that are deployed to the new SSIS server.&lt;/p&gt;
&lt;p&gt;You can find this additional information in the following BOL topics.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh213362.aspx"&gt;Reports for the Integration Services Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/gg471507.aspx"&gt;Schedule a Package by using SQL Server Agent&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In researching these updates, I would like to thank the members of the &lt;a href="http://olympia.sqlpass.org/"&gt;Olympia Area SQL Server User Group&lt;/a&gt; and &lt;a title="Tacoma SQL Server User Group" href="http://tacoma.sqlpass.org/Home.aspx"&gt;Tacoma SQL Server User Group&lt;/a&gt;, and &lt;a href="http://olympia.sqlpass.org/Contacts.aspx"&gt;Greg Larsen&lt;/a&gt; who is the chairperson for the Olympia user group and facilitates the Tacoma user group.&amp;nbsp; Their input on the SSIS documentation and on the product contributed greatly to the documentation updates.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10360157" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SQL2012/">SQL2012</category></item><item><title>Important Note about Upgrading to SSIS 2012 </title><link>http://blogs.msdn.com/b/mattm/archive/2012/09/21/important-note-about-upgrading-to-ssis-2012.aspx</link><pubDate>Fri, 21 Sep 2012 00:26:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10351773</guid><dc:creator>Carla Sabotta</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10351773</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/09/21/important-note-about-upgrading-to-ssis-2012.aspx#comments</comments><description>&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;When you upgrade to SQL Server 2012 Integration Services (SSIS) on a machine that has SSIS 2005 or 2008 installed, SSIS 2012 is installed side-by-side with the earlier version. Unlike upgrades to previous versions, the upgrade process does NOT remove the SSIS 2005 or 2008 files, service, and tools.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;In addition, with this side-by-side install, multiple versions of dtexec utility are installed. To ensure that you run the correct version of the utility, at the command prompt run the utility by entering the full path (&lt;i&gt;&amp;lt;drive&amp;gt;&lt;/i&gt;:\Program Files\Microsoft SQL Server\&amp;lt;version&amp;gt;\DTS\Binn).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: black; font-family: 'Arial','sans-serif'; font-size: 9pt;"&gt;For more information about upgrading to 2012 SSIS, see &lt;a title="Upgrade Integration Services" href="http://msdn.microsoft.com/en-us/library/cc879336.aspx"&gt;Upgrade Integration Services&lt;/a&gt; and &lt;a title="5 Tips for a Smooth SSIS Upgrade to SQL Server 2012" href="http://msdn.microsoft.com/en-us/library/hh667275.aspx"&gt;5 Tips for a Smooth SSIS Upgrade to SQL Server 2012&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10351773" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SQL2012/">SQL2012</category></item><item><title>SSIS Sessions at the 2012 PASS Summit</title><link>http://blogs.msdn.com/b/mattm/archive/2012/09/19/ssis-sessions-at-the-2012-pass-summit.aspx</link><pubDate>Wed, 19 Sep 2012 21:08:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10350982</guid><dc:creator>Matt Masson - MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10350982</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/09/19/ssis-sessions-at-the-2012-pass-summit.aspx#comments</comments><description>&lt;p&gt;There are a whole bunch of SSIS sessions at the &lt;a href="http://www.sqlpass.org/summit/2012/"&gt;PASS Summit&lt;/a&gt; this year – I’m glad to see our product continues to be one of the most popular SQL topics around!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Pre-Conference&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3159"&gt;SSIS Design Patterns&lt;/a&gt;&lt;/strong&gt; (BIA-299-P) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=195"&gt;Andy Leonard&lt;/a&gt;, &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=366"&gt;Jessica Moss&lt;/a&gt;, &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=448"&gt;Matt Masson&lt;/a&gt;, &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=941"&gt;Michelle Ufford&lt;/a&gt;, &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=41"&gt;Tim Mitchell&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Full day of SSIS training from the authors of the &lt;a href="http://www.mattmasson.com/index.php/ssis-design-patterns-book/"&gt;SSIS Design Patterns&lt;/a&gt; book. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Break out Sessions&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3027"&gt;10 Extraordinary Things to Achieve with Integration Services 2012&lt;/a&gt;&lt;/strong&gt; (BIA-322-S) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=424"&gt;Peter Myers&lt;/a&gt;, &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=804"&gt;Matthew Roche&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2907"&gt;Adapting Your ETL Solutions to Use SSIS 2012&lt;/a&gt;&lt;/strong&gt; (BIA-205) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=225"&gt;Devin Knight&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3771"&gt;Become Less Fuzzy About Fuzzy Transformations!&lt;/a&gt;&lt;/strong&gt; (LT-100) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=285"&gt;Amy Lewis&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3340"&gt;Data Cleansing with SSIS 2012&lt;/a&gt;&lt;/strong&gt; (BIA-405-S) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=904"&gt;Brian Knight&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3612"&gt;Enterprise Information Management: Bringing Together SSIS, DQS, and MDS&lt;/a&gt;&lt;/strong&gt; (BIA-316-M) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=804"&gt;Matthew Roche&lt;/a&gt;,&amp;#160; &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=448"&gt;Matt Masson&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3221"&gt;Extending SSIS 2012 Reports with Analytics &lt;/a&gt;&lt;/strong&gt; (BIA-207-M) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=46"&gt;Patrick LeBlanc&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3483"&gt;Real-Time Data Warehouse and Reporting Solutions&lt;/a&gt;&lt;/strong&gt; (BIA-203) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=113"&gt;Carlos Bossy&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2709"&gt;Slowly Changing Dimensions: An Integrated Approach&lt;/a&gt;&lt;/strong&gt; (BIA-314) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=233"&gt;Mark Stacey&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3794"&gt;Understanding the SSIS 2012 Deployment Model&lt;/a&gt;&lt;/strong&gt; (LT-102) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=764"&gt;Bill Fellows&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3008"&gt;Using SSIS 2012 for Data Warehouse ETL&lt;/a&gt;&lt;/strong&gt; (BIA-319) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=4"&gt;Thomas LeBlanc&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3202"&gt;Waiter, There's a Fly in My Data&lt;/a&gt;&lt;/strong&gt; (BIA-101) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=65"&gt;Rafael Salas&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3438"&gt;When ETL Goes Bad: Handling Errors and Data Anomalies in SSIS&lt;/a&gt;&lt;/strong&gt; (BIA-209) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=41"&gt;Tim Mitchell&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3071"&gt;Data in the Sky: Efficient On-Premise to Cloud Data Transfer&lt;/a&gt;&lt;/strong&gt; (CLD-306-M) - &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=448"&gt;Matt Masson&lt;/a&gt;, &lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SpeakerDetails.aspx?spid=825"&gt;Wee Hyong Tok&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Wow, I don’t know how I’m going to fit all these into my schedule…&lt;/p&gt;  &lt;p&gt;Also note that there will be multiple people from the SSIS team at the summit, ready to answer any questions you have, or help with designing your ETL solutions. (It looks like I might have a couple of &lt;a href="http://www.mattmasson.com/index.php/ssis-design-patterns-book/"&gt;book&lt;/a&gt; &lt;a href="http://www.mattmasson.com/index.php/sql2012integrationservices/"&gt;signings&lt;/a&gt; scheduled as well – I’ll post details once they are available).&lt;/p&gt;  &lt;p&gt;Hope to see you there!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10350982" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/Conferences/">Conferences</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/PASS/">PASS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/Conference/">Conference</category></item><item><title>SSIS with AlwaysOn</title><link>http://blogs.msdn.com/b/mattm/archive/2012/09/19/ssis-with-alwayson.aspx</link><pubDate>Wed, 19 Sep 2012 20:51:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10350964</guid><dc:creator>Matt Masson - MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10350964</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/09/19/ssis-with-alwayson.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;In SQL Server 2012, &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff877884.aspx"&gt;&lt;span style="font-family: verdana; color: #0000ff" face="Verdana" color="#0000ff"&gt;AlwaysOn Availability Groups&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: verdana" face="Verdana"&gt; maximizes the availability of a set of user databases for an enterprise. In addition, SSIS introduces new capabilities which allow customers with the ability to easily deploy to a centralized &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh479588.aspx"&gt;&lt;span style="font-family: verdana; color: #0000ff" face="Verdana" color="#0000ff"&gt;SSIS Catalog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: verdana" face="Verdana"&gt; (i.e. SSISDB user database).      &lt;br /&gt;      &lt;br /&gt;In this article, we explore how you can make use of SSIS and AlwaysOn Availability Groups. Using these capabilities, it allows you to provide high-availability of SSISDB and its contents (projects, packages, execution logs, etc). We also discuss how to deal with patching with service packs. &lt;/span&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Important Note:&lt;/strong&gt;&lt;/font&gt; Enabling AlwaysOn with SSISDB does create some complications when you install a cumulative update or service pack which modifies the SSISDB schema. SSISDB patches are installed when the SQL Server instance first starts up, but putting a database into an availability group causes it to be in an OFFLINE state on startup, which will cause the patching process to fail. To address this, you MUST first remove SSISDB from the availability databases, then patch each node, then recreate the availability group.&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;span&gt;&lt;font face="Verdana"&gt;If the above warning hasn’t scared you away, keep reading!&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;font face="Verdana"&gt;SSISDB in Availability Groups&lt;/font&gt;&lt;/h2&gt;  &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;To use SSIS with AlwaysOn, you’ll need to add the SSIS Catalog (SSISDB) into an Availability Group. You’ll need to do the following steps:&lt;/span&gt;&lt;/p&gt;  &lt;li&gt;&lt;font face="Verdana"&gt;Make sure you meet the &lt;a href="http://msdn.microsoft.com/en-us/library/ff878487.aspx"&gt;&lt;span style="font-family: verdana; color: #0000ff" face="Verdana" color="#0000ff"&gt;prerequisites&lt;/span&gt;&lt;/a&gt; for using AlwaysOn&lt;/font&gt; &lt;/li&gt;  &lt;li&gt;&lt;font face="Verdana"&gt;Connect to every node and &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/gg471509.aspx"&gt;&lt;span style="color: #0000ff" color="#0000ff"&gt;&lt;font face="Verdana"&gt;create the SSISDB catalog&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;. &lt;/font&gt;&lt;font face="Verdana"&gt;We need to create the catalog even on secondary nodes to create the other server-level objects (cleanup jobs, keys, accounts etc) that are used by SSIS. &lt;/font&gt;&lt;/li&gt;  &lt;li&gt;&lt;font face="Verdana"&gt;Delete the SSISDB databases on secondary nodes. &lt;/font&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/gg509103.aspx"&gt;&lt;span style="color: #0000ff" color="#0000ff"&gt;&lt;font face="Verdana"&gt;Create an availability group&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;, specifying SSISDB as the user database&lt;/font&gt; &lt;/li&gt;  &lt;li&gt;&lt;font face="Verdana"&gt;Specify secondary replicas. &lt;/font&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;h3&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;Failover&lt;/span&gt;&lt;/h3&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;The primary reason to use SSIS with AlwaysOn is to leverage the &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh213151.aspx"&gt;&lt;span style="font-family: verdana; color: #0000ff" face="Verdana" color="#0000ff"&gt;failover&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: verdana" face="Verdana"&gt; capabilities. When a failover occurs, one of your secondary nodes automatically becomes the new primary node. &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;Unfortunately, when this happens with SSIS, you will get an error (15581) when the system tries to run an package on the new primary node:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;“Please create a master key in the database or open the master key in the session before performing this operation”. &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;This occurs because of the way SSISDB encrypts sensitive information (such as connection string passwords, and certain parameters. To resolve this, the database master key needs to be re-encrypted by the service master key after failover occurs. To resolve it, you’d need to re-encrypt the database master key by running this T-SQL script:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;pre class="scroll"&gt;&lt;font face="Verdana"&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; SSISDB　　　　　　 &lt;br /&gt;&lt;span style="color: #0000ff"&gt;OPEN&lt;/span&gt; master &lt;span style="color: #0000ff"&gt;Key&lt;/span&gt; decryption &lt;span style="color: #0000ff"&gt;by&lt;/span&gt; password = &lt;span style="color: #006080"&gt;'x'&lt;/span&gt; &lt;span style="color: #008000"&gt;-- Password used when creating SSISDB&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;ALTER&lt;/span&gt; Master &lt;span style="color: #0000ff"&gt;Key&lt;/span&gt; &lt;span style="color: #0000ff"&gt;ADD&lt;/span&gt; encryption &lt;span style="color: #0000ff"&gt;by&lt;/span&gt; Service Master Key&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;p&gt;Once the key has been re-encrypted, the new primary node will be able to run SSIS packages.&lt;/p&gt;

  &lt;h3&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;Auto-Detecting Failover&lt;/span&gt;&lt;/h3&gt;

  &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;Having to manually run a script every time failover occurs isn’t ideal. Unfortunately, AlwaysOn doesn’t expose any events we can plug into. To work around this, you can setup a SQL Agent job that polls the replica status, and detects when its node has become the new primary. &lt;/span&gt;&lt;/p&gt;

  &lt;p&gt;&lt;font face="Verdana"&gt;&lt;strong&gt;Step #1:&lt;/strong&gt; We create a table containing with a single row in a database other than SSISDB (say, X):&lt;/font&gt;&lt;/p&gt;

  &lt;pre class="scroll"&gt;&lt;font face="Verdana"&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; X;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; &lt;span style="color: #0000ff"&gt;TABLE&lt;/span&gt; [dbo].[replica_role](&lt;br /&gt;[replica_role] [tinyint] &lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;&lt;br /&gt;)&lt;br /&gt;INSERT &lt;span style="color: #0000ff"&gt;INTO&lt;/span&gt; [dbo].[replica_role] ([replica_role]) (&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; [&lt;span style="color: #0000ff"&gt;role&lt;/span&gt;] &lt;br /&gt;    &lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; sys.dm_hadr_availability_replica_states&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt; is_local = 1&lt;br /&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;p&gt;&lt;font face="Verdana"&gt;&lt;strong&gt;Step #2: &lt;/strong&gt;On every node, create an agent job (ex, “ssisdb_failover”) with a recurring step that runs below T-SQL script every certain amount of time (say, every 2 minutes):&lt;/font&gt;&lt;/p&gt;

  &lt;pre class="scroll"&gt;&lt;font face="Verdana"&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; X;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;DECLARE&lt;/span&gt; @last_role TINYINT;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; @last_role = (&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;TOP&lt;/span&gt; 1 [replica_role]&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; [dbo].[replica_role]&lt;br /&gt;);&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;DECLARE&lt;/span&gt; @&lt;span style="color: #0000ff"&gt;current_role&lt;/span&gt; TINYINT;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; @&lt;span style="color: #0000ff"&gt;current_role&lt;/span&gt; = (&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;ROLE&lt;/span&gt; &lt;br /&gt;   &lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; sys.dm_hadr_availability_replica_states &lt;br /&gt;   &lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt; is_local = 1&lt;br /&gt;);&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;IF&lt;/span&gt; (@last_role = 2 &lt;span style="color: #0000ff"&gt;AND&lt;/span&gt; @&lt;span style="color: #0000ff"&gt;current_role&lt;/span&gt; = 1) &lt;span style="color: #008000"&gt;-- Last time it was secondary, &lt;/span&gt;&lt;br /&gt;                                          &lt;span style="color: #008000"&gt;-- currently it is primary: need re-encrypt &lt;/span&gt;&lt;br /&gt;                                          &lt;span style="color: #008000"&gt;-- the database master key&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; SSISDB;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;OPEN&lt;/span&gt; MASTER &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; DECRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; PASSWORD = &lt;span style="color: #006080"&gt;'x'&lt;/span&gt; &lt;span style="color: #008000"&gt;-- Should be encrypted! See below&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;ALTER&lt;/span&gt; MASTER &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; &lt;span style="color: #0000ff"&gt;ADD&lt;/span&gt; ENCRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; SERVICE MASTER &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;END&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; X;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;UPDATE&lt;/span&gt; dbo.[replica_role] &lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; [replica_role] = @&lt;span style="color: #0000ff"&gt;current_role&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;p&gt;&amp;#160;&lt;/p&gt;

  &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;&lt;strong&gt;Note&lt;/strong&gt;,&lt;strong&gt; &lt;/strong&gt;in the above script, the password for the database master key is in plain text. As a security best practice, you can store it in a table using a &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms179331.aspx"&gt;&lt;span style="font-family: verdana; color: #0000ff" face="Verdana" color="#0000ff"&gt;simple symmetric key encryption&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;, and retrieve it later. For example:&lt;/span&gt;&lt;/p&gt;

  &lt;pre class="scroll"&gt;&lt;font face="Verdana"&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; X;&lt;br /&gt;&lt;span style="color: #008000"&gt;-- Add a column in which to store the encrypted data.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;ALTER&lt;/span&gt; &lt;span style="color: #0000ff"&gt;TABLE&lt;/span&gt; dbo.replica_role&lt;br /&gt;&lt;span style="color: #0000ff"&gt;ADD&lt;/span&gt; ssisdb_pwd VARBINARY(128); &lt;br /&gt;&lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;--&lt;span style="color: #0000ff"&gt;If&lt;/span&gt; there &lt;span style="color: #0000ff"&gt;is&lt;/span&gt; &lt;span style="color: #0000ff"&gt;no&lt;/span&gt; master &lt;span style="color: #0000ff"&gt;key&lt;/span&gt; &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; X, &lt;span style="color: #0000ff"&gt;create&lt;/span&gt; one now. &lt;br /&gt;&lt;span style="color: #0000ff"&gt;IF&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;EXISTS&lt;/span&gt; &lt;br /&gt;(&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; * &lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; sys.symmetric_keys &lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt; symmetric_key_id = 101)&lt;br /&gt; &lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; MASTER &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; ENCRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; &lt;br /&gt; PASSWORD = &lt;span style="color: #006080"&gt;'xxx'&lt;/span&gt; &lt;span style="color: #008000"&gt;-- Your master key password&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; CERTIFICATE ssisdb_cert&lt;br /&gt;&lt;span style="color: #0000ff"&gt;WITH&lt;/span&gt; SUBJECT = &lt;span style="color: #006080"&gt;'SSISDB Password'&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; SYMMETRIC &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; ssisdb_key&lt;br /&gt;&lt;span style="color: #0000ff"&gt;WITH&lt;/span&gt; ALGORITHM = AES_256&lt;br /&gt;ENCRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; CERTIFICATE ssisdb_cert;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #008000"&gt;-- Open the symmetric key with which to encrypt the data.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;OPEN&lt;/span&gt; SYMMETRIC &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; ssisdb_key&lt;br /&gt;DECRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; CERTIFICATE ssisdb_cert;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: #008000"&gt;-- Encrypt the value in the column using the symmetric key.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;UPDATE&lt;/span&gt; dbo.replica_role&lt;br /&gt;&lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; ssisdb_pwd = EncryptByKey(Key_GUID(&lt;span style="color: #006080"&gt;'ssisdb_key'&lt;/span&gt;), N&lt;span style="color: #006080"&gt;'x'&lt;/span&gt;);&lt;br /&gt;GO&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;To retrieve the password, replace the line “&lt;/span&gt;&lt;font face="Verdana"&gt;OPEN MASTER KEY DECRYPTION BY PASSWORD = 'x'&lt;span style="font-family: verdana" face="Verdana"&gt;” in the agent job script with below lines:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

  &lt;div id="codeSnippetWrapper"&gt;
    &lt;pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; X;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;OPEN&lt;/span&gt; SYMMETRIC &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; ssisdb_key DECRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; CERTIFICATE ssisdb_cert; &lt;br /&gt;&lt;span style="color: #0000ff"&gt;DECLARE&lt;/span&gt; @pwd NVARCHAR(&lt;span style="color: #0000ff"&gt;MAX&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; @pwd = (&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;TOP&lt;/span&gt; 1 &lt;span style="color: #0000ff"&gt;CONVERT&lt;/span&gt;(NVARCHAR,DecryptByKey(ssisdb_pwd)) &lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; dbo.replica_role);&lt;br /&gt;&lt;span style="color: #0000ff"&gt;DECLARE&lt;/span&gt; @sqlString NVARCHAR(1024);&lt;br /&gt;&lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; @sqlString = &lt;span style="color: #006080"&gt;'OPEN MASTER KEY DECRYPTION BY PASSWORD = '&lt;/span&gt;&lt;span style="color: #006080"&gt;''&lt;/span&gt; + @pwd +&lt;span style="color: #006080"&gt;''&lt;/span&gt;&lt;span style="color: #006080"&gt;''&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; SSISDB;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;EXECUTE&lt;/span&gt; sp_executesql @sqlString;&lt;br /&gt; &lt;/pre&gt;
  &lt;/div&gt;

  &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;
      &lt;br /&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

  &lt;h3&gt;&lt;span style="font-family: verdana, geneva"&gt;&lt;span face="Verdana"&gt;Patching with Service Packs&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;

  &lt;p&gt;&lt;span style="font-family: verdana, geneva"&gt;&lt;span face="Verdana"&gt;SQL Server service packs usually run in single-user mode, while an availability database must be a &lt;a href="http://msdn.microsoft.com/en-us/library/ff878487.aspx"&gt;multi-user&lt;/a&gt; database. Therefore, during installing a service pack, you may find all availability databases including SSISDB will be taken OFFLINE and thus fail to patch. To address this, you can first remove SSISDB from the availability databases, then patch each node (Failover Cluster Instances have to be in the &lt;a href="http://msdn.microsoft.com/en-us/library/ms189134.aspx"&gt;same patch level&lt;/a&gt;), then add SSISDB back.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

  &lt;div&gt;&lt;span style="font-family: verdana, geneva"&gt;&lt;span face="Verdana"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

  &lt;h3&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;Other Considerations&lt;/span&gt;&lt;/h3&gt;

  &lt;p&gt;&lt;span style="font-family: verdana" face="Verdana"&gt;When an unplanned failover occurs, it is important that the status of SSIS package executions reflect the most up-to-date state. You can restart the instance so that a default SSIS cleanup job will be executed to fix the status of any packages/ deployments that were running at the time the instance went down. The status will be changed to Terminated; temporary data created during project deployment will be removed.&lt;/span&gt;&lt;/p&gt;

  &lt;p&gt;&lt;font face="Verdana"&gt;Note that your SSIS packages will still need to have their own failover logic in them. &lt;/font&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/automatic-restart-of-ssis-packages-after-failover-or-failure.aspx"&gt;&lt;span style="font-family: verdana; color: #0000ff" face="Verdana" color="#0000ff"&gt;This article&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: verdana" face="Verdana"&gt; provides a good starting point for creating highly available packages. &lt;/span&gt;&lt;/p&gt;

  &lt;hr /&gt;

  &lt;p&gt;&lt;em&gt;This post was originally written by Ke Yang and posted back in June – we took the article down when we found the issue with patching SSISDB databases while they are in an availability group. We’ve since updated and re-posted the information!&lt;/em&gt;&lt;/p&gt;

  
&lt;/li&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10350964" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/AlwaysOn/">AlwaysOn</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/High+Availability/">High Availability</category></item><item><title>Video about CDC for Oracle Databases in SSIS 2012</title><link>http://blogs.msdn.com/b/mattm/archive/2012/07/10/video-about-cdc-for-oracle-databases-in-ssis-2012.aspx</link><pubDate>Tue, 10 Jul 2012 22:59:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10328579</guid><dc:creator>Carla Sabotta</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10328579</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/07/10/video-about-cdc-for-oracle-databases-in-ssis-2012.aspx#comments</comments><description>&lt;p&gt;This video presentation Rakesh Parida (MSFT) demonstrates how to perform CDC for Oracle databases using SSIS 2012. You'll learn how the CDC features work, how to create and administer the CDC service, as well as how to&amp;nbsp;use logs and traces to troubleshoot the service.&lt;/p&gt;
&lt;p&gt;The video is availble online at &lt;a href="http://technet.microsoft.com/en-us/sqlserver/jj218898.aspx"&gt;http://technet.microsoft.com/en-us/sqlserver/jj218898.aspx&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;For more information about the CDC for Oracle, see the &lt;a href="http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx"&gt;CDC for Oracle in SQL Server 2012&lt;/a&gt; blog post by Rakesh.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10328579" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SQL2012/">SQL2012</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/CDC/">CDC</category></item><item><title>Balanced Data Distributor (BDD) for SQL Server 2012 is Now Available</title><link>http://blogs.msdn.com/b/mattm/archive/2012/06/20/balanced-data-distributor-bdd-for-sql-server-2012-is-now-available.aspx</link><pubDate>Wed, 20 Jun 2012 12:50:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10322172</guid><dc:creator>Matt Masson - MSFT</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10322172</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/06/20/balanced-data-distributor-bdd-for-sql-server-2012-is-now-available.aspx#comments</comments><description>&lt;p&gt;The Balanced Data Distributor (BDD) transform has updated and &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30147"&gt;released for SQL Server 2012&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The BDD transform makes it easy to split your data flow up on a buffer-by-buffer basis. The two primary scenarios for it are when you want to do parallel inserts into a destination…&lt;/p&gt;  &lt;p&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://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44-metablogapi/2134.image_5F00_1459E9E0.png" width="644" height="274" /&gt;&lt;/p&gt;  &lt;p&gt;… and when you want to parallel work across multiple paths …&lt;/p&gt;  &lt;p&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://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-44-metablogapi/6761.image_5F00_138183F6.png" width="644" height="307" /&gt;&lt;/p&gt;  &lt;p&gt;More information can be found on the links below:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30147"&gt;Download from Microsoft.com&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sqlserver/hh369962"&gt;(Video) Using BDD&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sqlcat.com/sqlcat/b/toolbox/archive/2011/05/25/the-balanced-data-distributor-for-ssis.aspx"&gt;SQLCAT post and description of the component&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10322172" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/Performance/">Performance</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/Denali/">Denali</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SQL2012/">SQL2012</category></item><item><title>Migrating SQL Server 2000 Data Transformation Services (DTS) Packages to SQL Server 2012</title><link>http://blogs.msdn.com/b/mattm/archive/2012/05/04/migrating-sql-server-2000-ssis-packages-to-sql-server-2012.aspx</link><pubDate>Fri, 04 May 2012 18:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10301117</guid><dc:creator>Carla Sabotta</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mattm/rsscomments.aspx?WeblogPostID=10301117</wfw:commentRss><comments>http://blogs.msdn.com/b/mattm/archive/2012/05/04/migrating-sql-server-2000-ssis-packages-to-sql-server-2012.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size: small;"&gt;SQL Server Integration Services (SSIS)&amp;nbsp;2012&amp;nbsp;doesn't support migrating or running DTS packages.&amp;nbsp; You do have the following options for migrating your&amp;nbsp;DTS packages to SSIS 2012.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;Migrate the packages to SSIS 2005&amp;nbsp;or SSIS 2008, and then upgrade the packages&amp;nbsp;to SSIS 2012. For information about migrating packages to 2005 or 2008, see &lt;a href="http://msdn.microsoft.com/en-us/library/ms143501(SQL.90).aspx"&gt;Migrating Data Transformation Services Packages&lt;/a&gt; (2005) and&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms143501(SQL.100).aspx"&gt;Migrating Data Transformation Services Packages&lt;/a&gt;&amp;nbsp;(2008) in Books Online.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;Recreate the SQL Server 2000 Integration Services packages by using SSIS 2012. The &lt;a href="http://msdn.microsoft.com/en-us/library/bb522534.aspx"&gt;What's New&lt;/a&gt; in Books Online&amp;nbsp;provides an overview of the new features in SSIS 2012. The &lt;a href="http://msdn.microsoft.com/en-us/library/ms141134.aspx"&gt;Integration Services (SSIS) Packages&lt;/a&gt; topic describes the elements of an SSIS package.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Here is a list of the DTS functionality that has been discontinued in SSIS 2012.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DTS runtime&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DTS API&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Package Migration Wizard for migrating DTS packages to the next version of &lt;br /&gt;Integration Services&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for DTS package maintenance in SQL Server Management Studio&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Execute DTS 2000 Package task&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Upgrade Advisor scan of DTS packages.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10301117" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SSIS/">SSIS</category><category domain="http://blogs.msdn.com/b/mattm/archive/tags/SQL2012/">SQL2012</category></item></channel></rss>