<?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/"
	>

<channel>
	<title>Patrick's Bytes</title>
	<atom:link href="http://patrickyong.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://patrickyong.net</link>
	<description>Techie for the past 30 years...</description>
	<lastBuildDate>Wed, 28 Dec 2011 03:50:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Like my WordPress theme?</title>
		<link>http://patrickyong.net/2011/12/28/like-my-wordpress-theme/</link>
		<comments>http://patrickyong.net/2011/12/28/like-my-wordpress-theme/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 03:49:32 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/12/28/like-my-wordpress-theme/</guid>
		<description><![CDATA[The WordPress theme used in my blog was taken from Joe McBride’s blog but offhand I couldn’t find the zip package. So if you are interested, please download mine and modify the sidebar.php accordingly with your profile info. http://patrickyong.net/metro-wp-theme.zip]]></description>
			<content:encoded><![CDATA[<p align="left"><img src="http://patrickyong.net/wp-content/themes/metro-wp-theme/screenshot.png" /></p>
<p>The WordPress theme used in my blog was taken from Joe McBride’s <a href="http://xamlcoder.com/blog/">blog</a> but offhand I couldn’t find the zip package. </p>
<p>So if you are interested, please download mine and modify the sidebar.php accordingly with your profile info.</p>
<p><a title="http://patrickyong.net/metro-wp-theme.zip" href="http://patrickyong.net/metro-wp-theme.zip">http://patrickyong.net/metro-wp-theme.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/12/28/like-my-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing Microsoft.Web.Infrastructure</title>
		<link>http://patrickyong.net/2011/12/23/missing-microsoft-web-infrastructure/</link>
		<comments>http://patrickyong.net/2011/12/23/missing-microsoft-web-infrastructure/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 06:37:20 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ravendb]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/12/23/missing-microsoft-web-infrastructure/</guid>
		<description><![CDATA[Products such as RavenDB which includes an option to deploy it as a IIS web service, however it has dependency on non core .NET Framework assemblies such as in my case Microsoft.Web.Infrastructure. If you do a clean install of IIS on Windows Server and try to deploy RavenDB, you will encounter a Microsoft.Web.Infrastructure.dll not found [...]]]></description>
			<content:encoded><![CDATA[<p>Products such as RavenDB which includes an option to deploy it as a IIS web service, however it has dependency on non core .NET Framework assemblies such as in my case Microsoft.Web.Infrastructure.</p>
<p>If you do a clean install of IIS on Windows Server and try to deploy RavenDB, you will encounter a Microsoft.Web.Infrastructure.dll not found error.</p>
<p>To fix this just download the Web Platform Installer (<a href="http://microsoft.com/web">http://microsoft.com/web</a>) on your Windows Server and install the ASP.NET Web Pages component on your Windows Server</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/12/ScreenClip35.png"><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="ScreenClip(35)" border="0" alt="ScreenClip(35)" src="http://patrickyong.net/wp-content/uploads/2011/12/ScreenClip35_thumb.png" width="621" height="158" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/12/23/missing-microsoft-web-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entity Framework Code First Migrations Beta 1 released</title>
		<link>http://patrickyong.net/2011/12/05/entity-framework-code-first-migrations-beta-1-released/</link>
		<comments>http://patrickyong.net/2011/12/05/entity-framework-code-first-migrations-beta-1-released/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 11:17:36 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General .NET Stuffs]]></category>
		<category><![CDATA[entityframework]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/12/05/entity-framework-code-first-migrations-beta-1-released/</guid>
		<description><![CDATA[Got the news that the migration tool has been updated 5 days ago by the ADO.NET team. You can get the package from NuGet using the command Install-Package EntityFramework.Migrations or Update-Package EntityFramework.Migrations if you have Alpha 3 installed. Going forward the migration tool will be RTM’ed as part of Entity Framework 4.3. For someone coming [...]]]></description>
			<content:encoded><![CDATA[<p>Got the news that the migration tool has been updated 5 days ago by the ADO.NET team. </p>
<p>You can get the package from NuGet using the command Install-Package EntityFramework.Migrations or Update-Package EntityFramework.Migrations if you have Alpha 3 installed. Going forward the migration tool will be RTM’ed as part of Entity Framework 4.3.</p>
<p>For someone coming from Alpha, I see a few changes</p>
<p>1. Settings.cs inside Migration folder has been replaced with Configuration.cs. You have to delete the old Settings.ca file</p>
<p>2. ChangeColumn API is now called AlterColumn </p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/12/05/entity-framework-code-first-migrations-beta-1-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Procedure or function expects parameter &#8216;@something&#8217;, which was not supplied.</title>
		<link>http://patrickyong.net/2011/10/28/procedure-or-function-expects-parameter-something-which-was-not-supplied/</link>
		<comments>http://patrickyong.net/2011/10/28/procedure-or-function-expects-parameter-something-which-was-not-supplied/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 10:52:08 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General .NET Stuffs]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/10/28/procedure-or-function-expects-parameter-something-which-was-not-supplied/</guid>
		<description><![CDATA[Where in actually fact I have already insert the parameter into my SQLCommand object. In the end I realize, the problem is not caused by the parameter but the SQLCommand.CommandType; which I had left out. Caused me 1 hour of unproductive time to look for this. Other common cause which I found online is the [...]]]></description>
			<content:encoded><![CDATA[<p>Where in actually fact I have already insert the parameter into my SQLCommand object. In the end I realize, the problem is not caused by the parameter but the SQLCommand.CommandType; which I had left out. Caused me 1 hour of unproductive time to look for this. </p>
<p>Other common cause which I found online is the use of null value for paramters (especially OUTPUT parameters), you should actually use DBNull.Value. </p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/10/28/procedure-or-function-expects-parameter-something-which-was-not-supplied/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cryptic WCF service not found error</title>
		<link>http://patrickyong.net/2011/10/24/cryptic-wcf-service-not-found-error/</link>
		<comments>http://patrickyong.net/2011/10/24/cryptic-wcf-service-not-found-error/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 14:27:36 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General .NET Stuffs]]></category>
		<category><![CDATA[sync framework]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/10/24/cryptic-wcf-service-not-found-error/</guid>
		<description><![CDATA[When your WCF service returns you the error “The type ‘MyNamespace.MyService’, provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.” The common culprit will inside the .svc file, you just double check the Code behind file or DLL are deployed in the bin [...]]]></description>
			<content:encoded><![CDATA[<p>When your WCF service returns you the error “<strong>The type ‘MyNamespace.MyService’, provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found</strong>.” The common culprit will inside the .svc file, you just double check the Code behind file or DLL are deployed in the bin folder. But one rarely known cause is that your WCF service can’t be activated due to missing dependency, which in my case today I realize I didn’t deploy the Sync Framework. So beware, WCF errors can be quite cryptic sometimes. </p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/10/24/cryptic-wcf-service-not-found-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Azure &#8220;Data Explorer&#8221; announced</title>
		<link>http://patrickyong.net/2011/10/20/sql-azure-data-explorer-announced/</link>
		<comments>http://patrickyong.net/2011/10/20/sql-azure-data-explorer-announced/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 04:13:57 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[sqlazure]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/10/20/sql-azure-data-explorer-announced/</guid>
		<description><![CDATA[The SQL Azure team has announced that they are going to introduce a new feature for SQL Azure code named “Data Explorer” (code name should be named after animals and food!). From the product team’s blog, Data Explorer” is a new concept which provides an innovative way to gain new insights from the data you [...]]]></description>
			<content:encoded><![CDATA[<p>The SQL Azure team has announced that they are going to introduce a new feature for SQL Azure code named “Data Explorer” (code name should be named after animals and food!). From the product team’s blog, Data Explorer” is a new concept which provides an innovative way to gain new insights from the data you care about. And the data you care about need not to be SQL Azure or SQL Server, they can be in any form such as Excel, file (unstructured) and Windows Azure Marketplace (list based)</p>
<p>My complain of traditional data analytics tools such as SQL Server Analysis Services is the lack of integration with external data source to provide more information about your data. So with “Data Explorer”, you can then discover additional data which you may need, as new datasets and data services from the <a href="https://datamarket.azure.com/">Windows Azure Marketplace</a> are automatically recommended for you</p>
<p>“Data Explorer” is not yet available yet but you can sign up for preview here. <a title="https://dataexplorer-signup.sqlazurelabs.com/" href="https://dataexplorer-signup.sqlazurelabs.com/">https://dataexplorer-signup.sqlazurelabs.com</a></p>
<p>For screenshots and detail explanations, check out the official blog <a title="http://blogs.msdn.com/b/dataexplorer/" href="http://blogs.msdn.com/b/dataexplorer/">http://blogs.msdn.com/b/dataexplorer/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/10/20/sql-azure-data-explorer-announced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3rd Party DLL references missing after rebuild?</title>
		<link>http://patrickyong.net/2011/10/18/3rd-party-dll-references-missing-after-rebuild/</link>
		<comments>http://patrickyong.net/2011/10/18/3rd-party-dll-references-missing-after-rebuild/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 08:39:51 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General .NET Stuffs]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/10/18/3rd-party-dll-references-missing-after-rebuild/</guid>
		<description><![CDATA[In Visual Studio 2010, target framework for console, Windows services, and WinForm app is .NET Framework 4.0 Client Profile. When you try to add DLLs such as the famous log4net, you will find VS complains about missing references where you have already added log4net.dll. The problem lies with DLL such as log4net requires the full [...]]]></description>
			<content:encoded><![CDATA[<p>In Visual Studio 2010, target framework for console, Windows services, and WinForm app is .NET Framework 4.0 Client Profile. When you try to add DLLs such as the famous log4net, you will find VS complains about missing references where you have already added log4net.dll. The problem lies with DLL such as log4net requires the full .NET Framework. So solve this just change the target framework.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip29.png"><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="ScreenClip(29)" border="0" alt="ScreenClip(29)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip29_thumb.png" width="512" height="319" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/10/18/3rd-party-dll-references-missing-after-rebuild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Awesome latest generation 4 data centre for Microsoft&#8217;s cloud services</title>
		<link>http://patrickyong.net/2011/10/17/awesome-latest-generation-4-data-centre-for-microsofts-cloud-services/</link>
		<comments>http://patrickyong.net/2011/10/17/awesome-latest-generation-4-data-centre-for-microsofts-cloud-services/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 11:33:41 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Azure]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/10/17/awesome-latest-generation-4-data-centre-for-microsofts-cloud-services/</guid>
		<description><![CDATA[Microsoft don’t active talk about their datacentres especially what they have running inside. Even the team managing the centres known as Microsoft Global Foundation Services (but they have their own website!) doesn’t get much limelight for themself. But today I found out Dave Aiken has a blog post with a couple of videos on what [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft don’t active talk about their datacentres especially what they have running inside. Even the team managing the centres known as Microsoft Global Foundation Services (but they have their own <a href="http://www.globalfoundationservices.com/">website</a>!) doesn’t get much limelight for themself. But today I found out Dave Aiken has a blog post with a couple of videos on what is powering our Windows Azure instances. </p>
<p>Below is a video showing the inside of datacentres running not just Windows Azure but also the more familiar Windows Live (aka Hotmail), Office 365 and XBox Live. Also shown the Dublin datacentre running latest Generation 4 modular datacentre.</p>
<p>&#160;</p>
<p><iframe height="315" src="http://www.youtube.com/embed/hOxA1l1pQIw" frameborder="0" width="560" allowfullscreen="allowfullscreen"></iframe></p>
<p>Grab more videos here <a title="http://www.davidaiken.com/2011/10/07/our-datacenters-are-awesomeness-in-a-box/" href="http://www.davidaiken.com/2011/10/07/our-datacenters-are-awesomeness-in-a-box/">http://www.davidaiken.com/2011/10/07/our-datacenters-are-awesomeness-in-a-box/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/10/17/awesome-latest-generation-4-data-centre-for-microsofts-cloud-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Azure Data Sync CTP is now public</title>
		<link>http://patrickyong.net/2011/10/14/sql-azure-data-sync-ctp-is-now-public/</link>
		<comments>http://patrickyong.net/2011/10/14/sql-azure-data-sync-ctp-is-now-public/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 07:54:20 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[sqlazure]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/10/14/sql-azure-data-sync-ctp-is-now-public/</guid>
		<description><![CDATA[I notice the Data Sync button on the left when I logged in to my Windows Azure portal this morning. SQL Azure Data Sync is the answer for customers having web applications on SQL Azure but would want to have a local on premise copy for different purposes, example would be the web store database [...]]]></description>
			<content:encoded><![CDATA[<p>I notice the Data Sync button on the left when I logged in to my Windows Azure portal this morning. SQL Azure Data Sync is the answer for customers having web applications on SQL Azure but would want to have a local on premise copy for different purposes, example would be the web store database to be sync’ed back to a local SQL Server instance to run Analysis Services. Another example would be to synchronized SQL Azure databases on different region in a geographical distributed database design. </p>
<p>Sync Framework 2.1 and the October 4.0 CTP already provide a basic application framework to synchronize databases from different sources and editions, but most customers would like a out of box solution that works in most cases and leave specific scenarios to the developers. </p>
<p>Since this service is still on CTP, there are no charges of trying it out, however Windows Azure bandwidth charges applied when data are downloaded back to local database or between different regions. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/datasync.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="datasync." border="0" alt="datasync." src="http://patrickyong.net/wp-content/uploads/2011/10/datasync._thumb.png" width="621" height="274" /></a></p>
<p>Since this is a preview, only US and Europe region are available at the moment. Meaning if your SQL Azure database is hosted in the APAC region like me, I believe it will incur some data transfer charges (need to investigate further and ask my local technology evangelist)</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/region.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="region." border="0" alt="region." src="http://patrickyong.net/wp-content/uploads/2011/10/region._thumb.png" width="438" height="254" /></a></p>
<p>I setup an instance of the service that is based on North Central US, note that your subscription info will be updated. Sync pairing are grouped into sync group with specific rule sets applied to a group of databases. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/us.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="us." border="0" alt="us." src="http://patrickyong.net/wp-content/uploads/2011/10/us._thumb.png" width="225" height="147" /></a></p>
<p>Once you have provisioned your Data Sync service, you can choose to setup synchronization between your local SQL Server and Azure or sync between 2 SQL Azure instances.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/sync-options.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="sync options." border="0" alt="sync options." src="http://patrickyong.net/wp-content/uploads/2011/10/sync-options._thumb.png" width="508" height="248" /></a></p>
<p>SQL Azure to SQL Azure is a no brainer, and since my SQL Server sits behind a firewall, I wonder how it works, so I chose the first option. Data Sync Services provides a pretty intuitive UI to setup.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/wizard.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="wizard." border="0" alt="wizard." src="http://patrickyong.net/wp-content/uploads/2011/10/wizard._thumb.png" width="553" height="182" /></a></p>
<p>Now I try to add a local SQL Server to the sync group</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(2)" border="0" alt="ScreenClip(2)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip2_thumb.png" width="456" height="196" /></a></p>
<p>Just like Sync Framework, I have options to choose the sync direction</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip3.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(3)" border="0" alt="ScreenClip(3)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip3_thumb.png" width="453" height="333" /></a></p>
<p>Since the DB will be </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip4.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(4)" border="0" alt="ScreenClip(4)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip4_thumb.png" width="459" height="374" /></a></p>
<p>Now I want to check out whether this works with SQL Express, I proceed to download the agent</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip5.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(5)" border="0" alt="ScreenClip(5)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip5_thumb.png" width="446" height="363" /></a></p>
<p>The agent runs as a Windows Service, so I have to specify the user account to use</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip6.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(6)" border="0" alt="ScreenClip(6)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip6_thumb.png" width="442" height="356" /></a></p>
<p>Strange, I got an error message, let me try grant local admin right to the service account</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip7.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(7)" border="0" alt="ScreenClip(7)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip7_thumb.png" width="444" height="354" /></a></p>
<p>Yup it works!</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip8.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(8)" border="0" alt="ScreenClip(8)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip8_thumb.png" width="430" height="355" /></a></p>
<p>Proceed back to Azure portal to generate the agent key</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/key.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="key" border="0" alt="key" src="http://patrickyong.net/wp-content/uploads/2011/10/key_thumb.png" width="417" height="391" /></a></p>
<p>After that I would have to register the key in my local Agent</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip9.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(9)" border="0" alt="ScreenClip(9)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip9_thumb.png" width="415" height="324" /></a></p>
<p>You have to add the DB you would like to sync by clicking on the Register button</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip10.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(10)" border="0" alt="ScreenClip(10)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip10_thumb.png" width="413" height="329" /></a></p>
<p>Then head back to the portal and click on ‘Get Database List’</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip11.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(11)" border="0" alt="ScreenClip(11)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip11_thumb.png" width="407" height="390" /></a></p>
<p>And yes! Looks like I can use the agent to connect to any database in my local network. Next step is to add a SQL Azure database to the sync group</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip114.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(11)[4]" border="0" alt="ScreenClip(11)[4]" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip114_thumb.png" width="407" height="390" /></a></p>
<p>This part is not as intuitive as I need to enter the details manually. It could be I created the database just now.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip12.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(12)" border="0" alt="ScreenClip(12)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip12_thumb.png" width="397" height="358" /></a></p>
<p>Step 4, set up the schedule when the sync happens and the conflict resolution rules. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip13.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(13)" border="0" alt="ScreenClip(13)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip13_thumb.png" width="390" height="424" /></a></p>
<p>Next you have to define the datasets (tables) to be synchronized. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip14.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(14)" border="0" alt="ScreenClip(14)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip14_thumb.png" width="408" height="150" /></a></p>
<p>For someone with no prior experience of SQL Azure Data Sync, this screen looks a bit puzzling, especially when I have both the local and the cloud version of my database using the same name. Let’s try my luck with the first one, then I click ‘Get Latest Schema’.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip15.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(15)" border="0" alt="ScreenClip(15)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip15_thumb.png" width="369" height="417" /></a></p>
<p>Oops?! Later I realize the first option points to the DB on SQL Azure and it is empty, hence the error. Let’s choose the second one.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip16.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(16)" border="0" alt="ScreenClip(16)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip16_thumb.png" width="361" height="197" /></a></p>
<p>And objects got populated on the screen. Note the message in red ‘Some tables/ columns do not meet the schema requirements. See the Report. You may still create a sync group by selecting the remaining tables/ columns from the list.” Now I click on the ‘See the Report’ link, it will tell me (on the next screen) what’s wrong with my database schema. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip17.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(17)" border="0" alt="ScreenClip(17)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip17_thumb.png" width="394" height="365" /></a></p>
<p>Most of them are caused by the absent of clustered index and use of User Defined Datatypes, which are not supported on SQL Azure.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip18.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(18)" border="0" alt="ScreenClip(18)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip18_thumb.png" width="461" height="183" /></a></p>
<p>Note that I can also define filter for the dataset. Now noted that if at this point you reselect the database from the drop down list on top, you will lost whatever changes you made previously even when you change back to the database you worked on just now. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip19.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(19)" border="0" alt="ScreenClip(19)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip19_thumb.png" width="516" height="621" /></a></p>
<p>Now comes to the end of the process, I saw a deploy instruction on top of the screen.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip20.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(20)" border="0" alt="ScreenClip(20)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip20_thumb.png" width="483" height="118" /></a></p>
<p>And bomb! I got another not-so-helpful error message. I suspect its because my database on the cloud is empty. Let me retry with something simple.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip21.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(21)" border="0" alt="ScreenClip(21)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip21_thumb.png" width="482" height="253" /></a></p>
<p>Hmm, when I reprovision the databse on the local sync agent (Pic 1), the changes are not updated on SQL Azure portal and the Refresh button is greyed out (Pic 2), Looks like I got to wait sometime for the information to be refreshed.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip22.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(22)" border="0" alt="ScreenClip(22)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip22_thumb.png" width="457" height="204" /></a></p>
<p>Pic 1</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip24.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ScreenClip(24)" border="0" alt="ScreenClip(24)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip24_thumb.png" width="625" height="219" /></a>     </p>
<p>Pic 2</p>
<p>So on my 2nd try to add the SQL Azure database the drop down list works</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip25.png"><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="ScreenClip(25)" border="0" alt="ScreenClip(25)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip25_thumb.png" width="473" height="215" /></a></p>
<p>Voilà! This time with the simpler database, the deployment works. I will go back to this later, this post is just to test out Data Sync on a simple scenario.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip26.png"><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="ScreenClip(26)" border="0" alt="ScreenClip(26)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip26_thumb.png" width="631" height="321" /></a></p>
<p>Since the database on SQL Azure is still empty, a sync would have upload all tables in the dataset to the database. Let’s confirm the sync via the log viewer. </p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip27.png"><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="ScreenClip(27)" border="0" alt="ScreenClip(27)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip27_thumb.png" width="620" height="186" /></a></p>
<p>Then I take a look at the SQL Azure database via SQL Server Management Studio to make sure everything works.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip28.png"><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="ScreenClip(28)" border="0" alt="ScreenClip(28)" src="http://patrickyong.net/wp-content/uploads/2011/10/ScreenClip28_thumb.png" width="598" height="385" /></a></p>
<p>Noted that Data Sync Services created it’s own tracking tables for each of the tables in the dataset. I checked my local database and it has the same set of new tables. </p>
<p>That’s my first experience with SQL Azure Data Sync services. Having been playing with Sync Framework for the past 3 years, there are still features not available out of box on Data Sync which a custom application (normally built using Sync Framework) is required; for example:</p>
<ul>
<li>1. Custom synchronization rules</li>
<li>2. Sync with SQL compact</li>
<li>3. Database sync between SQL Azure and non-SQL Server database such as Oracle and MySQL</li>
<li>4. Data sync between 2 or more SQL Server instances on different locations (no SQL Azure instance involved here)</li>
</ul>
<p>My company for instance is working on a product based on scenario 1 and 4. <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://patrickyong.net/wp-content/uploads/2011/10/wlEmoticon-smile.png" /></p>
<p>Microsoft has already published a FAQ on Data Sync <a href="http://www.microsoft.com/windowsazure/faq/#data-sync">here</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/10/14/sql-azure-data-sync-ctp-is-now-public/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sync Framework error at SyncOrchestrator.Synchronize()</title>
		<link>http://patrickyong.net/2011/09/26/sync-framework-error-at-syncorchestrator-synchronize/</link>
		<comments>http://patrickyong.net/2011/09/26/sync-framework-error-at-syncorchestrator-synchronize/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 05:41:53 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[sync framework]]></category>

		<guid isPermaLink="false">http://patrickyong.net/2011/09/26/sync-framework-error-at-syncorchestrator-synchronize/</guid>
		<description><![CDATA[You may hit the following error when you SyncOrchestrator.Synchronize() method Retrieving the COM class factory for component with CLSID {EC413D66-6221-4EBB-AC55-4900FB321011} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0&#215;80040154 (REGDB_E_CLASSNOTREG)). This is because you are running on 64bit Windows but your assembly is in 32bit mode. To change to, just [...]]]></description>
			<content:encoded><![CDATA[<p>You may hit the following error when you SyncOrchestrator.Synchronize() method</p>
<p>Retrieving the COM class factory for component with CLSID {EC413D66-6221-4EBB-AC55-4900FB321011} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0&#215;80040154 (REGDB_E_CLASSNOTREG)).</p>
<p>This is because you are running on 64bit Windows but your assembly is in 32bit mode. To change to, just switch to Configuration Manager and add x64 platform to your solution platform.</p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/09/ScreenClip1.png"><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="ScreenClip" border="0" alt="ScreenClip" src="http://patrickyong.net/wp-content/uploads/2011/09/ScreenClip_thumb1.png" width="586" height="193" /></a></p>
<p><a href="http://patrickyong.net/wp-content/uploads/2011/09/ScreenClip11.png"><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="ScreenClip[1]" border="0" alt="ScreenClip[1]" src="http://patrickyong.net/wp-content/uploads/2011/09/ScreenClip1_thumb.png" width="244" height="158" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://patrickyong.net/2011/09/26/sync-framework-error-at-syncorchestrator-synchronize/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

