<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>DAC Guy</title>
	<atom:link href="http://dacguy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dacguy.wordpress.com</link>
	<description>DAC Musings</description>
	<lastBuildDate>Mon, 15 Oct 2012 21:49:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dacguy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>DAC Guy</title>
		<link>http://dacguy.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dacguy.wordpress.com/osd.xml" title="DAC Guy" />
	<atom:link rel='hub' href='http://dacguy.wordpress.com/?pushpress=hub'/>
		<item>
		<title>SQL Azure Import/Export Service has hit Production</title>
		<link>http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/</link>
		<comments>http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 20:59:17 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=159</guid>
		<description><![CDATA[Many folks have been anxious about when the service will go into production, the answer is now! A new version of the service has been deployed. The production release of the service comes with: Improved Performance The service has implemented a new connection pooling and parallelization strategy to deliver significantly improved performance for all types [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=159&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Many folks have been anxious about when the service will go into production, the answer is now!  A new version of the service has been deployed.  The production release of the service comes with:
</p>
<p style="margin-left:18pt;"><strong>Improved Performance<br />
</strong></p>
<p style="margin-left:36pt;">The service has implemented a new connection pooling and parallelization strategy to deliver significantly improved performance for all types of databases.  While actual results may vary, the average import or export should now be approximately three times faster!
</p>
<p style="margin-left:36pt;">
 </p>
<p style="margin-left:18pt;"><strong>Improved Resiliency<br />
</strong></p>
<p style="margin-left:36pt;">Several connectivity issues both transient and permanent have been identified and addressed in order to provide a more reliable experience.
</p>
<p style="margin-left:36pt;">
 </p>
<p style="margin-left:18pt;"><strong>New Feature:  Selective Export<br />
</strong></p>
<p style="margin-left:36pt;">Customers who only want to export certain tables for performance reasons or because the data doesn&#8217;t change often can provide a list of tables to export.  The resultant BACPAC will contain the full schema definition plus the table data only for the specified tables.  The selectively exported BACPAC can be imported just like a fully exported BACPAC.  For now, the sample EXE must be used to submit these types of requests.  Customers using the service&#8217;s REST endpoints directly can always bypass the EXE.
</p>
<p style="margin-left:36pt;">
 </p>
<p style="margin-left:18pt;"><strong>New Feature:  Progress Reporting<br />
</strong></p>
<p style="margin-left:36pt;">The current progress for a request will be shown as a percentage in order to provide better feedback on the current state of the request.
</p>
<p style="margin-left:36pt;">
 </p>
<p style="margin-left:18pt;"><strong>Production Support<br />
</strong></p>
<p style="margin-left:36pt;">The service is no longer provided as a CTP, it is a fully supported production service.  Support questions can be moved from the labs section to the main SQL Azure section.
</p>
<p style="margin-left:36pt;">
 </p>
<p style="margin-left:18pt;"><strong>New sample EXE<br />
</strong></p>
<p style="margin-left:36pt;">The new EXE provides a reference implementation of the selective export feature.  Older versions of the EXE will continue to work without disruption.  As always, the sample EXE and its sources are available at the DAC examples CodePlex <a href="http://sqldacexamples.codeplex.com/wikipage?title=Import%20Export%20Service%20Client&amp;referringTitle=Documentation">site</a>.
</p>
<p>
 </p>
<p>
 </p>
<p>The basics on how to use the service are covered in this previously shown video which shows you how to export:
</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='315' src='http://www.youtube.com/embed/Ui7WJE9lSzg?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>
 </p>
<p>Combined with this previously shown video which covers importing:
</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='315' src='http://www.youtube.com/embed/0FjbSslePos?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>
 </p>
<p>Then this new video covers the <strong>new features</strong> now available as a part of the production release:
</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='315' src='http://www.youtube.com/embed/YjOX7XEdV54?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>
 </p>
<p>
 </p>
<p>We hope you find this release provides a vastly improved experience and look forward to your feedback!
</p>
<p>
 </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=159&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Azure Import/Export Service CTP Now Available!</title>
		<link>http://dacguy.wordpress.com/2011/09/10/sql-azure-importexport-service-ctp-now-available/</link>
		<comments>http://dacguy.wordpress.com/2011/09/10/sql-azure-importexport-service-ctp-now-available/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 05:05:35 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=37</guid>
		<description><![CDATA[New and just launched this week – hosted import and exports! We are happy to announce that DACFx is now available as a SQL Azure cloud service as well. While the client side tools are fully supported and are every bit as important, the new hosted service provides DAC at a new level of convenience [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=37&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">New and just launched this week – hosted import and exports! We are happy to announce that DACFx is now available as a SQL Azure cloud service as well. While the client side tools are fully supported and are every bit as important, the new hosted service provides DAC at a new level of convenience to SQL Azure customers. The new service is publically available as a CTP in all SQL Azure datacenters across the world. The service is provided free of charge and no sign-ups or codes are required – just go use it!<br />
</span></p>
<p><span style="font-family:Segoe UI;">The service is designed to directly import and export between SQL Azure and Windows Azure BLOB storage bypassing any need for client side binaries, MSIs or any real work on your part.<br />
</span></p>
<p><span style="font-family:Segoe UI;">To get started using the service, you will need:<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">A SQL Azure server in any datacenter<br />
</span></li>
<li><span style="font-family:Segoe UI;">A Windows Azure storage account<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;">The service hosts some public REST endpoints that you use to submit an import or export request. There are a few ways to submit a request:<br />
</span></p>
<ol>
<li><span style="font-family:Segoe UI;">Use the Windows Azure Portal<br />
</span></li>
<li><span style="font-family:Segoe UI;">Use the reference EXE service client (see next post)<br />
</span></li>
<li><span style="font-family:Segoe UI;">Post HTTP requests directly to the public endpoints<br />
</span></li>
</ol>
<p><span style="font-family:Segoe UI;">Let&#8217;s start with an export. In the video I assume you are starting essentially from scratch:<br />
</span></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='345' src='http://www.youtube.com/embed/Ui7WJE9lSzg?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p><span style="font-family:Segoe UI;">A couple notes on an export request:<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">Export requests will generate some load on the target database<br />
</span></li>
<li><span style="font-family:Segoe UI;">At the beginning of an export request a 0 byte file is written to your storage account<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;">We write a temporary 0 byte file to verify we have write access to the BLOB container you selected. We do not stream your data to your BLOB account during the export process because if the export fails for some reason, you are still charged for storing bits in your BLOB account. We cache your data stream inside the service and the write it out at the end all at once.<br />
</span></p>
<p><span style="font-family:Segoe UI;">Now let&#8217;s import a BACPAC back into SQL Azure with the service:<br />
</span></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='345' src='http://www.youtube.com/embed/0FjbSslePos?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p><span style="font-family:Segoe UI;">Couple notes on an import request:<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">While the import is in progress, you will actually be able to see your database as an active database<br />
</span></li>
<li><span style="font-family:Segoe UI;">We recommend you do not log in to or otherwise modify the database while the import request is in progress<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;">Finally, we do provide some rudimentary status information in this first release. We will add additional details in a subsequent release but for now we can inform you whether your request is Queued, Running, Completed, or Failed.</span><span style="color:red;font-family:Segoe UI;"><br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=37&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/10/sql-azure-importexport-service-ctp-now-available/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Azure Backups</title>
		<link>http://dacguy.wordpress.com/2011/09/10/sql-azure-backups/</link>
		<comments>http://dacguy.wordpress.com/2011/09/10/sql-azure-backups/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 05:00:42 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=35</guid>
		<description><![CDATA[An obvious question many customers ask is whether you can use import and export (service or client) as a backup mechanism. The answer is yes, but there are few caveats. Please remember that both DACFx and the Import/Export Service are in CTP. Second, ensure you read the notes in the import/export post. Third, the export [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=35&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">An obvious question many customers ask is whether you can use import and export (service or client) as a backup mechanism. The answer is yes, but there are few caveats. Please remember that both DACFx and the Import/Export Service are in CTP. Second, ensure you read the notes in the import/export post. Third, the export process is not transactionally consistent. So if you want to ensure your &#8220;backups&#8221; are transactionally consistent you will need to provide consistency separately.<br />
</span></p>
<p><span style="font-family:Segoe UI;">The current recommended way to provide consistency is to create a copy of the database and export from the copy. Red Gate has released a tool that automates the copy/export process quite nicely. Check out their tool at their <a href="http://www.red-gate.com/products/dba/sql-azure-backup/">site</a> and check out the walkthrough:</span></p>
<p><span style="font-family:Segoe UI;"><br />
</span></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='345' src='http://www.youtube.com/embed/u27acKiuyWo?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=35&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/10/sql-azure-backups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>DAC and the SQL Azure July Service Release</title>
		<link>http://dacguy.wordpress.com/2011/09/09/dac-and-the-sql-azure-july-service-release/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/dac-and-the-sql-azure-july-service-release/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 05:20:39 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=81</guid>
		<description><![CDATA[For anyone out there that&#8217;s been using SQL Server 2008 R2 (10.50.*.*) versions of DAC either in SQL Server Management Studio (SSMS) or by directly leveraging the redistributable MSIs there&#8217;s a slight issue in one of DACFx&#8217;s dependencies – Shared Management Objects (SMO) which is used by DACFx to connect to SQL Azure instances. If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=81&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">For anyone out there that&#8217;s been using SQL Server 2008 R2 (10.50.*.*) versions of DAC either in SQL Server Management Studio (SSMS) or by directly leveraging the redistributable MSIs there&#8217;s a slight issue in one of DACFx&#8217;s dependencies – Shared Management Objects (SMO) which is used by DACFx to connect to SQL Azure instances. If you are experiencing issues connecting to SQL Azure, you will need to update SMO.<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">SSMS <a href="http://support.microsoft.com/kb/2507770">update</a><span style="color:#1f497d;"><br />
</span></span></li>
<li><span style="font-family:Segoe UI;">SSMS <a href="http://www.microsoft.com/download/en/details.aspx?id=26727">full install</a><span style="color:#1f497d;"><br />
</span></span></li>
<li><span style="font-family:Segoe UI;">SMO redistributable <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=26728">update</a><br />
</span></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=81&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/dac-and-the-sql-azure-july-service-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Cloud Service Extravaganza!</title>
		<link>http://dacguy.wordpress.com/2011/09/09/cloud-service-extravaganza/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/cloud-service-extravaganza/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 05:15:44 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=45</guid>
		<description><![CDATA[I&#8217;m sure you&#8217;ve heard of the &#8220;cloud&#8221; recently. There are lots of &#8220;cloud services&#8221; that are popping up in and around SQL Azure so I&#8217;d like to take a moment to put a few things into perspective. Here&#8217;s a quick summary for each: SQL Azure A database engine platform as a service SQL Azure Data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=45&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">I&#8217;m sure you&#8217;ve heard of the &#8220;cloud&#8221; recently. There are lots of &#8220;cloud services&#8221; that are popping up in and around SQL Azure so I&#8217;d like to take a moment to put a few things into perspective.<br />
</span></p>
<p><span style="font-family:Segoe UI;">Here&#8217;s a quick summary for each:<br />
</span></p>
<p><span style="font-family:Segoe UI;"><strong>SQL Azure<br />
</strong></span></p>
<ul>
<li><span style="font-family:Segoe UI;">A database engine platform as a service<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;"><strong>SQL Azure Data Sync<br />
</strong></span></p>
<ul>
<li><span style="font-family:Segoe UI;">A service which will synchronize data between database engines<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;"><strong>SQL Azure Import/Export (New – see the next post!)<br />
</strong></span></p>
<ul>
<li><span style="font-family:Segoe UI;">A service that will load data directly between a SQL Azure database and Windows Azure BLOB storage<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;">So to rationalize in a nutshell, SQL Azure is the core database and there are other services which provide additional value and capabilities. The Data Sync service is designed to replicate data between different SQL databases whereas the import/export service is designed specifically for data loading scenarios to and from a file format.<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=45&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/cloud-service-extravaganza/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Example Import/Export Service REST API Usage</title>
		<link>http://dacguy.wordpress.com/2011/09/09/example-importexport-service-rest-api-usage/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/example-importexport-service-rest-api-usage/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 05:10:56 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=36</guid>
		<description><![CDATA[Just like the client-side reference API implementation we have gone a step further to provide a reference implementation over the REST APIs of the service as well! You can see the EXE and its source files at our CodePlex site here.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=36&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">Just like the client-side reference API implementation we have gone a step further to provide a reference implementation over the REST APIs of the service as well! You can see the EXE and its source files at our CodePlex site <a href="http://sqldacexamples.codeplex.com/documentation">here</a>.<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=36&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/example-importexport-service-rest-api-usage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>DAC Concepts</title>
		<link>http://dacguy.wordpress.com/2011/09/09/dac-concepts/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/dac-concepts/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 04:21:03 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=72</guid>
		<description><![CDATA[First, there&#8217;s the issue of terminology. There are lots of names and concepts that swirl around DAC so it&#8217;s important to nail a few of them down before proceeding so that we are on the same page. DAC The general brand that encompasses all subsequent names and concepts DACFx The actual framework consisting of several [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=72&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">First, there&#8217;s the issue of terminology. There are lots of names and concepts that swirl around DAC so it&#8217;s important to nail a few of them down before proceeding so that we are on the same page.<br />
</span></p>
<p><span style="font-family:Segoe UI;text-decoration:underline;">DAC<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">The general brand that encompasses all subsequent names and concepts<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;text-decoration:underline;">DACFx<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">The actual framework consisting of several DLL files<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;text-decoration:underline;">DACPAC<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">The file format used by DACFx to represent the full <strong>definition</strong> of an application (usually schema only). Best analogy: an MSI.<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;text-decoration:underline;">BACPAC<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">The file format used by DACFx to contain the definition of an application as well as its (table) data.<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;">We&#8217;ll start with DACFx because it&#8217;s the foundation of the DAC house. Quite simply, DACFx is a framework that provides services around Microsoft SQL Server. While there are many services that DACFx provides, the highest order services are typically:<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">Build a DACPAC from a set of T-SQL scripts<br />
</span></li>
<li><span style="font-family:Segoe UI;">Extract a DACPAC from a database<br />
</span></li>
<li><span style="font-family:Segoe UI;">Deploy a new database from a DACPAC<br />
</span></li>
<li><span style="font-family:Segoe UI;">Upgrade an existing database (schema) with a new DACPAC<br />
</span></li>
<li><span style="font-family:Segoe UI;">Export a new BACPAC from a database<br />
</span></li>
<li><span style="font-family:Segoe UI;">Import a new database from an existing BACPAC<br />
</span></li>
</ul>
<p><span style="font-family:Segoe UI;">Together, the suite of DACFx services enable:<br />
</span></p>
<ol>
<li><span style="font-family:Segoe UI;">A database application lifecycle<br />
</span></li>
<li><span style="font-family:Segoe UI;">Schema and data portability<br />
</span></li>
</ol>
<p><span style="font-family:Segoe UI;">Please note that all of the services have publically available interfaces that can be called without using any GUIs.<br />
</span></p>
<p><span style="font-family:Segoe UI;">The next few posts will walk through the services and how they can help database developers and administrators.<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=72&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/dac-concepts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>DAC Basics</title>
		<link>http://dacguy.wordpress.com/2011/09/09/dac-basics/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/dac-basics/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 04:19:29 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=71</guid>
		<description><![CDATA[The services DACFx provide revolve around some key concepts and technologies. We&#8217;ll walk through these step by step so you can see how these basic concepts can leveraged together to provide advanced services. Basic Concept 1: The In-Memory Database Model Central to every DACFx service is the need to build and traverse an in-memory model [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=71&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">The services DACFx provide revolve around some key concepts and technologies. We&#8217;ll walk through these step by step so you can see how these basic concepts can leveraged together to provide advanced services.<br />
</span></p>
<p><span style="font-family:Segoe UI;"><strong>Basic Concept 1: The In-Memory Database Model<br />
</strong></span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">Central to every DACFx service is the need to build and traverse an in-memory model of a database. DACFx is a client side library and so it communicates with SQL Server like any other SQL client does – over a standard SQL TDS connection. Before DACFx can provide services over a database, DACFx must deeply understand what a database actually <strong>is</strong>. DACFx has an internal in-memory model that covers all the different database objects, their properties, and state. Database objects are any entity you can create in SQL Server with a &#8220;CREATE&#8221; T-SQL statement. Examples of objects include tables, views, functions, procedures, indices, and constraints.<br />
</span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">Another way to describe the model is to say that SQL Server has a structured physical model for a database. When you create an object in SQL Server, a physical record is written out on disk or disk space is allocated for it. DACFx has an in-memory model that maps to the SQL engine&#8217;s model.<br />
</span></p>
<p style="text-align:center;"><img src="http://dacguy.files.wordpress.com/2011/09/090911_0419_dacbasics11.png?w=450" alt="" /><span style="font-family:Segoe UI;"><br />
</span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">The in-memory database model is vital to all DAC operations because it allows DACFx to provide client-side services without having to change or manipulate a real database.<br />
</span></p>
<p><span style="font-family:Segoe UI;"><strong>Basic Concept 2: The File Format<br />
</strong></span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">DACFx has two associated file formats, the DACPAC and the BACPAC. Both file formats are based on the standard System.IO package format in .NET. Effectively, this means you can modify the file extension of any DACPAC or BACPAC to &#8220;.zip&#8221; and unzip the contents.<br />
</span></p>
<p style="margin-left:36pt;">
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">If you crack open a DACPAC you will find some XML files which contain the full schema definition for a database. All database objects are represented through entities in XML. DACFx also stores associated properties about an entity as well as any relationships it has to other entities.<br />
</span></p>
<p style="margin-left:36pt;">
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">We do not store T-SQL inside the DACPAC! Only the serialized in-memory database model is stored for simple retrieval later on. For example DACFx can quickly read a DACPAC to create an in-memory model of the database defined in the DACPAC. Similarly, DACFx can write out a new DACPAC to disk from an in-memory database model for later use or reference.<br />
</span></p>
<p><span style="font-family:Segoe UI;">    <img src="http://dacguy.files.wordpress.com/2011/09/090911_0419_dacbasics21.png?w=450" alt="" /><span style="color:red;"><br />
</span></span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">You&#8217;ll see in subsequent sections how this simple but vital capability is used in providing a useful service.<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=71&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/dac-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>

		<media:content url="http://dacguy.files.wordpress.com/2011/09/090911_0419_dacbasics11.png" medium="image" />

		<media:content url="http://dacguy.files.wordpress.com/2011/09/090911_0419_dacbasics21.png" medium="image" />
	</item>
		<item>
		<title>Development</title>
		<link>http://dacguy.wordpress.com/2011/09/09/development/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/development/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 04:15:54 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=69</guid>
		<description><![CDATA[Now that you know about the DACFx in-memory database model and its associated serialized representation, the DACPAC, it&#8217;s time to cover how to generate an in-memory model. There are three ways to create an in-memory model: De-serialize (load) a DACPAC into a model Build T-SQL into a model Extract a model from a live database [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=69&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">Now that you know about the DACFx in-memory database model and its associated serialized representation, the DACPAC, it&#8217;s time to cover how to generate an in-memory model. There are three ways to create an in-memory model:<br />
</span></p>
<ol>
<li><span style="font-family:Segoe UI;">De-serialize (load) a DACPAC into a model<br />
</span></li>
<li><span style="font-family:Segoe UI;">Build T-SQL into a model<br />
</span></li>
<li><span style="font-family:Segoe UI;">Extract a model from a live database<br />
</span></li>
</ol>
<p><span style="font-family:Segoe UI;">Number one was covered in the basics section, number 3 will be covered in the next post, that leaves number two.<br />
</span></p>
<p><span style="font-family:Segoe UI;">Database developers and administrators code in T-SQL so naturally DACFx must provide some way to convert T-SQL into an in-memory model. DACFx provides what is referred to as the <a href="http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.dac.daccompilationunit.aspx">compilation unit</a> that allows you to load in arbitrary TSQL scripts into a container along with some other information and compile (or build) an in-memory model from a jumble of T-SQL statements. Once the in-memory model has been created, it can be serialized to disk as a DACPAC. The database projects in Visual Studio 2010 and the upcoming SQL Server Development Tools Code Name &#8220;Juneau&#8221; follow this workflow exactly: when building a project which is T-SQL they emit a DACPAC.<br />
</span></p>
<p><span style="font-family:Segoe UI;">Here&#8217;s a quick example:<br />
</span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">Video Coming Soon!<br />
</span></p>
<p><span style="font-family:Segoe UI;">Declarative programming is pretty straightforward: you must declare the existence of an object, and nothing else. For example you can declare that table T1 exists with some set of columns but you cannot alter table T2 or alter table T3. By and large, alter syntax is not supported by the DACFx compilation service and there&#8217;s a good reason why. DACFx is not a SQL engine! It does not maintain database state and allow you to perform CRUD operations on an instance of a database, it merely creates an in-memory model of a database from defined (by CREATE statements) objects.<br />
</span></p>
<p><span style="font-family:Segoe UI;">Effectively, this cuts down on the programmatic surface area the developer needs to worry about when authoring a database or making a change to an existing one.<br />
</span></p>
<p><span style="font-family:Segoe UI;">For example:<br />
</span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">Video Coming Soon!<br />
</span></p>
<p><span style="font-family:Segoe UI;">The defined database must also be consistent. For example, I can go to a database, create a table T1, create a view V1 that refers to T1 and that&#8217;s perfectly legitimate. Of course, the view is useless, but it&#8217;s still there nonetheless. If I were to create the same view V1 that refers to a nonexistent table, then the create statement will fail because the dependent object doesn&#8217;t exist. Similarly, DACFx compilation validates all of your database object dependencies when being provided with a set of T-SQL scripts and the compilation will fail if it discovers a discrepancy such as in the case above.<br />
</span></p>
<p><span style="font-family:Segoe UI;">DACFx also verifies that your database is contained. Containment in the database context means that the objects defined in the database and any other objects they might depend on are all contained inside the scope of the same database. Containment is an important concept that is best exemplified in SQL Azure.<br />
</span></p>
<p><span style="font-family:Segoe UI;">SQL Azure is a fully contained database model by necessity. All databases in SQL Azure have to be contained because SQL Azure is a multi-tenant environment. In order to guarantee a base level of performance, availability, and security SQL databases have to be scoped to only allow users the ability to consume database level assets. In a nutshell, that&#8217;s why many features available today in the SQL Server box product are not currently available in SQL Azure. Over time, these features will be added into SQL Azure with a contained implementation.<br />
</span></p>
<p><span style="font-family:Segoe UI;">The enforcement of database containment by DACFx does present a bit of an issue for on-premise SQL Server customers if they want to leverage any of the uncontained features in SQL Server. As the contained database model expands, DAC will also expand in lock-step so DAC will become more usable for these types of customers with uncontained feature requirements. For SQL Azure customers (or SQL Server customers without the need for uncontained features), the contained model fits the available features and objects so that there aren&#8217;t any limitations.<br />
</span></p>
<p><span style="font-family:Segoe UI;">DACFx also allows the developer to set the version number, application name, or description either in the project or programmatically in the CompiliationUnit&#8217;s associated properties. You can see that here in Visual Studio 2010:<br />
</span></p>
<p style="margin-left:36pt;"><span style="font-family:Segoe UI;">Video Coming Soon!<br />
</span></p>
<p><span style="font-family:Segoe UI;">We&#8217;ll see how these DAC facets surface later on.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=69&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Extract</title>
		<link>http://dacguy.wordpress.com/2011/09/09/extract/</link>
		<comments>http://dacguy.wordpress.com/2011/09/09/extract/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 04:11:33 +0000</pubDate>
		<dc:creator>dacguy</dc:creator>
				<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://dacguy.wordpress.com/?p=68</guid>
		<description><![CDATA[We&#8217;ve talked about creating an in-memory model of a database from a DACPAC file and straight from T-SQL, but what about from a database itself? Enter the DACFx Extract service. The Extract service connects to a database, reads all of its objects and their properties, and then creates an in-memory model of the database. Similar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=68&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Segoe UI;">We&#8217;ve talked about creating an in-memory model of a database from a DACPAC file and straight from T-SQL, but what about from a database itself? Enter the DACFx <a href="http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.dac.dacextractionunit.aspx">Extract service</a>.<br />
</span></p>
<p><span style="font-family:Segoe UI;">The Extract service connects to a database, reads all of its objects and their properties, and then creates an in-memory model of the database. Similar to how the Build service validates the defined objects, the Extract service also checks for consistency and containment. The validation done here will also result in failures if you have a view that refers to a non-existent table same as with T-SQL! Additionally, unsupported or uncontained objects are blocked because these objects are not yet allowed in SQL Azure or the DAC in-memory model. Finally, once the in-memory model is complete and validated, a DACPAC is written to disk. Let&#8217;s take a look at how to do this with SQL Server Management Studio:<br />
</span></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='420' height='345' src='http://www.youtube.com/embed/D_4nWuMsPQQ?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p><span style="font-family:Segoe UI;">For a full list of supported objects, please see this <a href="http://technet.microsoft.com/en-us/library/ee210549%28SQL.110%29.aspx">link</a> that lists the set of supported objects for DACFx as of SQL Server Code Name &#8220;Denali.&#8221; Note that every release of DACFx will add object support so check back if there&#8217;s an object that&#8217;s an issue for you.<br />
</span></p>
<p><span style="font-family:Segoe UI;">Final note, the Extract service will extract your schema from:<br />
</span></p>
<ul>
<li><span style="font-family:Segoe UI;">SQL Server 2000<br />
</span></li>
<li><span style="font-family:Segoe UI;">SQL Server 2005<br />
</span></li>
<li><span style="font-family:Segoe UI;">SQL Server 2008<br />
</span></li>
<li><span style="font-family:Segoe UI;">SQL Server 2008R2<br />
</span></li>
<li><span style="font-family:Segoe UI;">SQL Server Code Name &#8220;Denali&#8221;<br />
</span></li>
<li><span style="font-family:Segoe UI;">SQL Azure<br />
</span></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dacguy.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dacguy.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dacguy.wordpress.com&#038;blog=27127044&#038;post=68&#038;subd=dacguy&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dacguy.wordpress.com/2011/09/09/extract/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce2b8eec096447058dccd1abec6849d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dacguy</media:title>
		</media:content>
	</item>
	</channel>
</rss>
