<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlcat.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/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>SQL Server Customer Advisory Team - SQL Server Best Practices</title><link>http://sqlcat.com/b/</link><description>Enabling SQL Server customers &lt;span&gt;to navigate the most challenging frontiers of large scale data management.&lt;/span&gt;</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.21914 (Build: 5.6.583.21914)</generator><item><title>Building Great Cloud Applications - Decoded</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/05/07/building-great-cloud-applications-decoded.aspx</link><pubDate>Tue, 07 May 2013 23:49:48 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2809</guid><dc:creator>jenlussier</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The application you write on premise is written to a piece of software purchased, installed and configured on a piece of computer hardware that you privately own.&amp;nbsp; The application you write in the cloud is written to a set of services that are available to you as well as the public to exploit.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2013/05/07/writing-a-cloud-application-is-easy-writing-a-good-cloud-application-is-harder.aspx"&gt;Read here&lt;/a&gt; to learn about how they are different.&amp;nbsp; We also provide &lt;a href="http://code.msdn.microsoft.com/Cloud-Fundamentals-in-1a3ab1bd"&gt;Cloud Service fundamentals code on Code Gallery&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2809" width="1" height="1"&gt;</description></item><item><title>Be aware of the difference in isolation levels if porting an application from Windows Azure SQL DB to SQL Server in Windows Azure Virtual Machine</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/04/30/be-aware-of-the-difference-in-isolation-levels-if-porting-an-application-from-windows-azure-sql-db-to-sql-server-in-windows-azure-virtual-machine.aspx</link><pubDate>Wed, 01 May 2013 06:26:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2808</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;Author&lt;/b&gt;: Sanjay Mishra, Tim Wieman&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Technical Reviewers&lt;/b&gt;: Mike Weiner, Shep Sheppard, Prem Mehra, Chuck Heinzelman, James Podgorski, Silvano Coriani, Madhan Arumugam Ramakrishnan, Sunil Agarwal, Guy Bowerman&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee336279.aspx"&gt;Windows Azure SQL Database&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj823132.aspx"&gt;SQL Server in Windows Azure Virtual Machine&lt;/a&gt; are two different data storage options and are best suited for slightly different application scenarios. Refer to the published articles on MSDN for a &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/06/26/data-series-sql-server-in-windows-azure-virtual-machine-vs-sql-database.aspx"&gt;comparison&lt;/a&gt;&amp;nbsp;and &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2013/02/14/choosing-between-sql-server-in-windows-azure-vm-amp-windows-azure-sql-database.aspx"&gt;how to choose&lt;/a&gt; between these options.&lt;/p&gt;
&lt;p&gt;There are certain differences between the two storage options. One important different is the isolation level of the database. Depending upon application design, difference in isolation level can impact the application concurrency, and ultimately, application performance and throughput.&lt;/p&gt;
&lt;p&gt;It is not a common practice to port databases from Windows Azure SQL Database to SQL Server in a Windows Azure VM environment. However, for some&amp;nbsp;specific unique reasons, not covered here, one of our customers performed such a migration and the only change made was to change the connection string.&lt;/p&gt;
&lt;p&gt;During the load test after the porting, we noticed that the performance of the application on SQL Server in Windows Azure VM did not match up to the performance of the application on Windows Azure SQL Database. Upon further investigation, we found much higher volume of&amp;nbsp; lock waits under SQL Server in Windows Azure VM.&lt;/p&gt;
&lt;p&gt;The key difference that impacted the application behavior is the isolation level of the two databases. On Windows Azure SQL Database, the isolation level settings for READ COMMITTED SNAPSHOT and SNAPSHOT ISOLATION are turned on:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;select name, snapshot_isolation_state, is_read_committed_snapshot_on from sys.databases&lt;/span&gt;&lt;/p&gt;
&lt;table align="left" style="border-width:1px;border-style:solid;width:593px;height:44px;" border="1" frame="border"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;snapshot_isolation_state&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;is_read_committed_snapshot_on&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CustomerDB&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On a SQL Server database (running on Windows Azure VirtualMachine, or on-premises), the isolation level settings for READ COMMITTED SNAPSHOT and SNAPSHOT ISOLATION are turned off, by default:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;select name, snapshot_isolation_state, is_read_committed_snapshot_on from sys.databases&lt;/span&gt;&lt;/p&gt;
&lt;table align="left" style="border-width:1px;border-style:solid;width:592px;height:44px;" border="1" frame="border"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;snapshot_isolation_state&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;is_read_committed_snapshot_on&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CustomerDB&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The customer application was designed and developed on Windows Azure SQL Database and it did make use of READ COMMITTED SNAPSHOT ISOLATION (RCSI).&lt;/p&gt;
&lt;p&gt;The performance comparison of the two data storage options, under default settings:&lt;/p&gt;
&lt;table align="left" style="width:589px;height:88px;" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data Platform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Application Response Time (sec)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Application Throughput (web pages / sec)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;Windows Azure SQL Database&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;0.83&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;38&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;SQL Server in Windows Azure VM (default)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;2.94&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;13.9&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;As you can see, the application throughput for SQL Server in Windows Azure VM was almost one-third of the throughput with the database on Windows Azure SQL Database.&amp;nbsp; One of the important goals of the load testing was to ensure application response time under 2 seconds. For SQL Server in Windows Azure VM, under default settings, the application response time was more than the 2 second threshold the customer had set. Analyzing waitstats perfmon counters (counter &amp;ldquo;Lock Waits&amp;rdquo; under object =&amp;gt; &amp;ldquo;SQL Server:Wait Statistics&amp;rdquo;, instance =&amp;gt; &amp;ldquo;Average wait time (ms)&amp;rdquo;), we observed about 1 sec average wait time for locks.&lt;/p&gt;
&lt;p&gt;With RCSI turned on, the average lock wait time came down to a few milliseconds, application throughput significantly improved, and the application response time significantly improved.&lt;/p&gt;
&lt;table align="left" style="width:590px;height:71px;" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data Platform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Application Response Time (sec)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Application Throughput (web pages / sec)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;SQL Server in Windows Azure VM (default)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;2.94&lt;/td&gt;
&lt;td&gt;13.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;SQL Server in Windows Azure VM (with RCSI)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;1.14&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;34.8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;Important Note&lt;/span&gt;:&lt;/b&gt;&amp;nbsp; When turning on &lt;a href="http://msdn.microsoft.com/en-us/library/ms177404(v=sql.105).aspx"&gt;RCSI&lt;/a&gt;, be aware that SQL Server maintains the version store in the TEMPDB database, and you may observe significant activity in TEMPDB.&amp;nbsp; Therefore, appropriate capacity and throughput must be planned for TEMPDB.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;For example, for this specific scenario, after enabling RCSI, the increased throughput demands of TEMPDB necessitated scaling out TEMPDB data files to multiple data disks.&amp;nbsp; Following is the TEMPDB disk I/O throughput comparison before and after RCSI:&lt;/p&gt;
&lt;table align="center" style="width:581px;height:74px;" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;Data Platform&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;Disk Read Bytes / sec&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;Disk Write Bytes / sec&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;SQL Server in Windows Azure VM (default)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;403,031&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;1,504,410&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="color:black;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;SQL Server in Windows Azure VM (with RCSI)&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;26,570,531&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;"&gt;58,219,559&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;Further Reading:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj879332.aspx"&gt;Windows Azure SQL Database and SQL Server -- Performance and Scalability Compared and Contrasted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms189122(v=SQL.105).aspx"&gt;Isolation Levels in the Database Engine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2808" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/read+committed+snapshot+isolation/default.aspx">read committed snapshot isolation</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/RCSI/default.aspx">RCSI</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Blocking/default.aspx">Blocking</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Isolation+Level/default.aspx">Isolation Level</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Virtual+Machine/default.aspx">Virtual Machine</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Windows+Azure+VM/default.aspx">Windows Azure VM</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL_2F00_IaaS/default.aspx">SQL/IaaS</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Azure+SQL+DB/default.aspx">Azure SQL DB</category></item><item><title>Access Azure Blob Stores from HDInsight</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/04/25/access-azure-blob-stores-from-hdinsight.aspx</link><pubDate>Thu, 25 Apr 2013 20:38:57 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2804</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>One of the great enhancements in Microsoft&amp;#39;s HDInsight distribution of Hadoop is the ability to store and access Hadoop data on an Azure Blob Store. We do this via the HDFS API extension called Azure Storage Vault (ASV). This allows you to persist data even after you spin down an HDInsight cluster and to make that data available across multiple programs or clusters from persistent storage. Blob stores can be replicated for redundancy and are highly available. When you need to access the data...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/04/25/access-azure-blob-stores-from-hdinsight.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2804" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Big+Data/default.aspx">Big Data</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Hadoop/default.aspx">Hadoop</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/storage/default.aspx">storage</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/HDInsight/default.aspx">HDInsight</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Azure+Blob+Store/default.aspx">Azure Blob Store</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/ASV/default.aspx">ASV</category></item><item><title>Self-Service BI Works!</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/04/16/self-service-bi-works.aspx</link><pubDate>Tue, 16 Apr 2013 16:51:42 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2803</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>When I talk to people about adding self-service BI to their company&amp;#39;s environment I generally get a list of reasons why it won&amp;#39;t work. Some things I commonly hear: 
 
 I can&amp;#39;t get anyone in IT or on the business side to even try it. 
 The business side doesn&amp;#39;t know how to use the technology. 
 This threatens my job. 
 I just don&amp;#39;t know where to start either politically/culturally or with the technology. 
 I have too many other things to do. 
 How can it possibly be secure...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/04/16/self-service-bi-works.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2803" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/BI/default.aspx">BI</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/PowerPivot/default.aspx">PowerPivot</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Power+View/default.aspx">Power View</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/PASSBAC/default.aspx">PASSBAC</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQLPASS/default.aspx">SQLPASS</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Self_2D00_Service/default.aspx">Self-Service</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/PASS/default.aspx">PASS</category></item><item><title>Batching Techniques for SQL Database Applications in Windows Azure</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/04/09/batching-techniques-for-sql-database-applications-in-windows-azure.aspx</link><pubDate>Tue, 09 Apr 2013 20:33:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2801</guid><dc:creator>Silvano Coriani</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Batching operations to SQL Database significantly improves the performance and scalability of cloud services in Windows Azure. This paper first demonstrates the effectiveness of batching. It then covers the techniques, scenarios, and considerations to help you to use batching successfully in your cloud services. There are fixed processing costs to any interactions with a remote service, such as serialization, network transfer, and deserialization. Packaging many separate transactions into a single batch minimizes these costs.&lt;/p&gt;
&lt;p&gt;In &lt;a title="this" href="http://msdn.microsoft.com/en-us/library/dn132615.aspx"&gt;this&lt;/a&gt; paper, we want to examine various SQL Database batching strategies and scenarios. Although these strategies are also important for on-premises applications that use SQL Server, there are two main reasons for highlighting the use of batching for SQL Database:&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2801" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category></item><item><title>Windows Azure SQL Database and SQL Server - Performance and Scalability Compared and Contrasted</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/02/08/windows-azure-sql-database-and-sql-server-performance-and-scalability-compared-and-contrasted.aspx</link><pubDate>Fri, 08 Feb 2013 22:03:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2790</guid><dc:creator>Silvano Coriani</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Curious about the differences in approaching performance and scalability in SQL Server vs. Windows Azure SQL Database (formerly SQL Azure)? Check out this new paper...&lt;/p&gt;...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/02/08/windows-azure-sql-database-and-sql-server-performance-and-scalability-compared-and-contrasted.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2790" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>Hurricane Sandy Mash-Up: Hive, SQL Server, PowerPivot &amp;amp; Power View</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/02/01/hurricane-sandy-mash-up-hive-sql-server-powerpivot-amp-power-view.aspx</link><pubDate>Sat, 02 Feb 2013 01:36:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2787</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>For my #SQLPASS Summit 2012 talk SQLCAT: Big Data &amp;ndash; All Abuzz About Hive ( slides available to all | recording available to PASS Summit 2012 attendees ) I showed a mash-up of Hive, SQL Server, and Excel data that had been imported to PowerPivot and then displayed via Power View in Excel 2013 (using the new SharePoint-free self-service option). PowerPivot brings together the new world of unstructured data from Hadoop with structured data from more traditional relational and multi-dimensional...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2013/02/01/hurricane-sandy-mash-up-hive-sql-server-powerpivot-amp-power-view.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2787" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/PowerPivot/default.aspx">PowerPivot</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Big+Data/default.aspx">Big Data</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Hadoop/default.aspx">Hadoop</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/hive/default.aspx">hive</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Power+View/default.aspx">Power View</category></item><item><title>SSIS Tips Tricks and Best Practices: SSIS Operational and Tuning Guide</title><link>http://sqlcat.com/sqlCat/b/whitepapers/archive/2013/01/02/ssis-tips-tricks-and-best-practices-ssis-operational-and-tuning-guide.aspx</link><pubDate>Wed, 02 Jan 2013 17:39:58 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2778</guid><dc:creator>sthoward</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;img alt=" " src="http://i.msdn.microsoft.com/dynimg/IC596043.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SSIS Operational and Tuning Guide&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SQL Server Technical Article&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Writer:&lt;/strong&gt; Alexei Khalyako, Carla Sabotta, Silvano Coriani, Sreedhar Pelluru, Steve Howard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technical Reviewer:&lt;/strong&gt; Cindy Gross, David Pless, Mark Simms, Daniel Sol&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Published:&lt;/strong&gt; December 2012&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Applies to:&lt;/strong&gt; SQL Server 2012; Windows Azure SQL Database&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; SQL Server Integration Services (SSIS) can be used effectively as a tool for moving data to and from Windows Azure (WA) SQL Database, as part of the total extract, transform, and load (ETL) solution and as part of the data movement solution. SSIS can be used effectively to move data between sources and destinations in the cloud, and in a hybrid scenario between the cloud and on-premise. This paper outlines SSIS best practices for cloud sources and destinations, discusses project planning for SSIS projects whether the project is all in the cloud or involves hybrid data moves, and walks through an example of maximizing performance on a hybrid move by scaling out the data movement.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;To review the document, please download the &lt;a href="http://download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26-FEF9550EFD44/SSIS%20Operational%20and%20Tuning%20Guide.docx"&gt;SSIS Operational and Tuning Guide&lt;/a&gt; Word document.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2778" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Data+Movement/default.aspx">Data Movement</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>SSIS Tips Tricks and Best Practices: SSIS for Azure and Hybrid Data Movement</title><link>http://sqlcat.com/sqlCat/b/whitepapers/archive/2013/01/02/ssis-tips-tricks-and-best-practices-ssis-for-azure-and-hybrid-data-movement.aspx</link><pubDate>Wed, 02 Jan 2013 17:36:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2777</guid><dc:creator>sthoward</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img alt=" " src="http://i.msdn.microsoft.com/dynimg/IC596043.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SSIS for Azure and Hybrid Data Movement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SQL Server Technical Article&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Writer:&lt;/strong&gt; Alexei Khalyako, Carla Sabotta, Daniel Sol, Silvano Coriani, Sreedhar Pelluru, Steve Howard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Technical Reviewer:&lt;/strong&gt; David Pless&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Published:&lt;/strong&gt; December 2012&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Applies to:&lt;/strong&gt; SQL Server 2012&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; SQL Server Integration Services (SSIS) can be used effectively as a tool for moving data to and from Windows Azure SQL Database, as part of the total extract, transform, and load (ETL) solution and as part of the data movement solution. SSIS can be used effectively to move data between sources and destinations in the cloud, and in a hybrid scenario between the cloud and on-premise. This paper outlines best practices for using SSIS for cloud sources and destinations and for project planning for SSIS projects to be used with Azure or hybrid data moves, and gives an example of maximizing performance on a hybrid move by scaling out the data movement.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;To review the document, please download the &lt;a href="http://download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26-FEF9550EFD44/SSIS%20Hybrid%20and%20Azure.docx"&gt;SSIS for Azure and Hybrid Data Movement&lt;/a&gt; Word document.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2777" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Azure/default.aspx">Azure</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Data+Movement/default.aspx">Data Movement</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/SSIS/default.aspx">SSIS</category></item><item><title>New version of Partition Management Utility supports SQL2012, ColumnStore Indexes</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/12/03/new-version-of-partition-management-utility-supports-sql2012-columnstore-indexes.aspx</link><pubDate>Mon, 03 Dec 2012 20:02:13 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2767</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>A new version of the Partition Management Utility for SQL Server is now available on Codeplex at http://sqlpartitionmgmt.codeplex.com/ . This is a tool that helps you create necessary staging tables and indexes and associated check constraints, to support partition-switch operations against existing partitioned tables. This solves the problem of keeping staging table scripts in synch when a permanent partitioned table evolves to contain new boundary values or column attributes. 
 The latest version...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/12/03/new-version-of-partition-management-utility-supports-sql2012-columnstore-indexes.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2767" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Data+Warehouse/default.aspx">Data Warehouse</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Partitioning/default.aspx">Partitioning</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category></item><item><title>SQL Clinic at PASS Summit 2012</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/11/02/sql-clinic-at-pass-summit-2012.aspx</link><pubDate>Sat, 03 Nov 2012 00:10:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2760</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;SQLCAT joins hands with CSS to bring you SQL Clinic.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Bring your design / architecture questions, and real world troubleshooting issues and get expert help.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Clinic Hours:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Wednesday&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;07:00 &amp;ndash; 08:00&lt;/li&gt;
&lt;li&gt;10:00 &amp;ndash; 18:15&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Thursday&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;07:00 &amp;ndash; 08:00&lt;/li&gt;
&lt;li&gt;10:00 &amp;ndash; 18:30&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;Friday&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;07:00 &amp;ndash; 14:00&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;Note that the Clinic has moved from past years&amp;#39; location to a newer and bigger room.&lt;/p&gt;
&lt;p&gt;It is in Room 4C-3 this year.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are attending PASS Summit, you don&amp;#39;t want to miss out on the SQL Clinic experience.&lt;/p&gt;
&lt;p&gt;See you all there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2760" width="1" height="1"&gt;</description></item><item><title>SQLCAT Sessions at PASS Summit 2012</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/11/02/sqlcat-sessions-at-pass-summit-2012.aspx</link><pubDate>Sat, 03 Nov 2012 00:00:43 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2759</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;SQLCAT will be deeply involved in the PASS Summit 2012. There wil be several technical sessions providing indepth technical learnings and best practices derived from real-world customer experiences.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width:922px;height:1197px;" border="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="4"&gt;
&lt;p&gt;&lt;b&gt;Wednesday, November 07, 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;10:15 AM - 11:30 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2900" target="_blank"&gt;[AD-307-M] SQLCAT: What Are the Largest SQL Server Projects in the World?&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:609]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=745" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;10:15 AM - 11:30 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2686" target="_blank"&gt;[BIA-305-A] SQLCAT: Big Data &amp;ndash; All Abuzz About Hive&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:606-607]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=741" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;10:15 AM - 11:30 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3590" target="_blank"&gt;[CLD-309-A] SQLCAT: Best Practices and Lessons Learned on SQL Server in an Azure VM&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:613-614]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=779" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;10:15 AM - 11:30 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3599" target="_blank"&gt;[BID-302-M] Mobile Business Intelligence&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:6E]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=782" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;1:30 PM - 2:45 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3602" target="_blank"&gt;[CLD-302-M] SQLCAT: How Do I Troubleshoot My Database Now that It Is in the Cloud?&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:305-TCC]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=784" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;1:30 PM - 2:45 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2691" target="_blank"&gt;[DBA-403-M] SQLCAT: SQLOS Memory Manager Changes in SQL Server 2012&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:301-TCC]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=742" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;1:30 PM - 2:45 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3542" target="_blank"&gt;[DBA-305-M] SQLCAT: Many-Core Processors, SSDs, Large Memory: How to Benefit SQL Server&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:613-614]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=771" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;3:00 PM - 4:15 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2980" target="_blank"&gt;[DBA-315-A] SQLCAT: AlwaysOn HA/DR Design Patterns, Architectures and Best Practices&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:609]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=748" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;4:45 PM - 6:00 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3555" target="_blank"&gt;[AD-402-A] SQLCAT: Real-World Case Study of Mission-Critical Active/Active Remote DCs&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:303-TCC]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=774" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;4:45 PM - 6:00 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2988" target="_blank"&gt;[DBA-314-M] SQLCAT: AlwaysOn Unplugged &amp;ndash; Everything You Want to Know About AlwaysOn&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:305-TCC]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=750" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;4:45 PM - 6:00 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3543" target="_blank"&gt;[DBA-306-M] SQLCAT: How Does Microsoft Run Its SAP Landscape on Windows and SQL Server?&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:307-308]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=772" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;4:45 PM - 6:00 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3652" target="_blank"&gt;[BIA-304-M] Configuring Kerberos for SharePoint 2010 BI in 7 Steps&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:606-607]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=789" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="4"&gt;
&lt;p&gt;&lt;b&gt;Thursday, November 08, 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;10:15 AM - 11:30 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3500" target="_blank"&gt;[AD-300-M] Bootstrapping Data Warehousing in Azure for Use with Hadoop&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:612]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=769" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;1:30 PM - 2:45 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3620" target="_blank"&gt;[BID-300-M] Running Reporting Services in SharePoint Integrated Mode: How and Why&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:608]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=786" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;3:00 PM - 4:15 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3600" target="_blank"&gt;[CLD-300-M] SQLCAT: SQL Azure Design Patterns and Best Practices&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:609]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=783" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;5:00 PM - 6:15 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2981" target="_blank"&gt;[DBA-323-A] SQLCAT: SQL Server 2012 AlwaysOn HA/DR Customer Panel&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:608]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=796" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;5:00 PM - 6:15 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3070" target="_blank"&gt;[BIA-206-M] BI Power Hour&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:602-604]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=757" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="4"&gt;
&lt;p&gt;&lt;b&gt;Friday, November 09, 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;8:00 AM - 9:15 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=2901" target="_blank"&gt;[CLD-303-A] SQLCAT: What Are the Largest Azure Projects in the World?&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:608]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=746" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;9:45 AM - 11:00 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3571" target="_blank"&gt;[CLD-304-M] SQLCAT: Architecture Patterns and Lessons Learned from Azure ISV Projects&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:606-607]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=778" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115"&gt;
&lt;p&gt;1:00 PM - 2:15 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2012/Sessions/SessionDetails.aspx?sid=3521" target="_blank"&gt;[CLD-308-A] SQLCAT: How SQL Azure Supports Large-Scale Customer Deployments&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;[RM:307-308]&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.sqlpass.org/summit/2011/SummitContent/iCalDownload.aspx?dfsid=770" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;See you all at PASS Summit 2012.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2759" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Data+Warehouse/default.aspx">Data Warehouse</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/OLTP/default.aspx">OLTP</category></item><item><title>Impact of Adding a Node to a Windows Cluster on the Possible Owners property of existing SQL Server Failover Cluster Instances</title><link>http://sqlcat.com/sqlCat/b/technicalnotes/archive/2012/08/15/impact-of-adding-a-node-to-a-windows-cluster-on-the-possible-owners-property-of-existing-sql-server-failover-cluster-instances.aspx</link><pubDate>Wed, 15 Aug 2012 18:33:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2731</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Author&lt;/b&gt;: Sanjay Mishra &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Contributor&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;David P Smith (ServiceU)&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Technical Reviewers&lt;/b&gt;: Charles (Curt) Mathews, James Podgorski, Eric Kang, Prem Mehra, Min He&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span&gt;It is common to have more than one SQL Server Failover Cluster Instance (FCI) within a single Windows Server Failover Cluster (WSFC). It is also fairly common that not all nodes in the WSFC are the possible owners of all the FCIs within that WSFC. One such scenario is when you have a FCI + AG solution (&lt;a href="http://sqlcat.com/sqlcat/b/whitepapers/archive/2012/06/22/alwayson-architecture-guide-building-a-high-availability-and-disaster-recovery-solution-by-using-failover-cluster-instances-and-availability-groups.aspx" target="_blank"&gt;AlwaysOn Architecture Guide: Building a High Availability and Disaster Recovery Solution by Using Failover Cluster Instances and Availability Groups&lt;/a&gt;&lt;/span&gt;&lt;a href="http://download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26-FEF9550EFD44/Building_a_HA_and_DR_Solution_using_AlwaysON_SQL_FCIs_and_AGs%20v1.docx)"&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, where multiple FCIs reside within a single WSFC, and an availability group is created across the FCIs, as shown in the Figure 1 below:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/3681.image_5F00_6138E900.png"&gt;&lt;img style="border:0px currentcolor;display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/5153.image_5F00_thumb_5F00_55A32BC1.png" width="607" height="233" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Figure 1: An FCI+AG solution across two data centers (FCI being used for HA and AG being used for DR)&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;In this deployment,&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;Possible owners of SMFCI601\SM_FCI_601 = {PE2970-01, PE2970-02}.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;Possible owners of SMFCI602\SM_FCI_602 = {R900-03, R900-04}.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;High level steps to build such a solution are:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Step 1&lt;/b&gt;: Build the primary site failover cluster instance SMFCI601\SM_FCI_601 on nodes PE2970-01 and PE2970-02.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Step 2&lt;/b&gt;: Add the DR site nodes R900-03 and R900-04, to the same Windows cluster, and then create the secondary failover cluster instance SMFCI602\SM_FCI_602 on R900-03 and R900-04.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Step 3&lt;/b&gt;: Create the AG across the two instances SMFCI601\SM_FCI_601 and SMFCI602\SM_FCI_602.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;After building the primary site failover cluster instance (Step 1 above, shown in Figure 2 below), you will see the possible owners of the resources for the failover cluster instance resource group SMFCI601\SM_FCI_601 as shown in the Figure 3.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/2045.image_5F00_7C050F0C.png"&gt;&lt;img style="border:0px currentcolor;display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/4617.image_5F00_thumb_5F00_7B98DC17.png" width="302" height="269" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Figure 2: Topology after Completing Step 1 (2-node FCI created at the primary data center)&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/2465.image_5F00_14287968.png"&gt;&lt;img style="border:0px currentcolor;display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/5618.image_5F00_thumb_5F00_3A8A5CB3.png" width="519" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Figure 3: Possible owners of the FCI network name resource after Completing Step 1 (2-node FCI created at the primary data center)&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;This is correct, and as expected.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;During Step 2, the two nodes from the DR site (R900-03 and R900-04) are first added to the WSFC (Figure 4). Once these two nodes are added to the WSFC, you will see that the newly added nodes have been unexpectedly added as possible owners (Figure 5) for all the resources of the previously existing FCI (SMFCI601\SM_FCI_601).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/5224.image_5F00_1E0D6AD3.png"&gt;&lt;img style="border:0px currentcolor;display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/8272.image_5F00_thumb_5F00_1DA137DE.png" width="612" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Figure 4: Two nodes from the DR site added to the WSFC&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/6253.image_5F00_7D19F82B.png"&gt;&lt;img style="border:0px currentcolor;display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/5001.image_5F00_thumb_5F00_237BDB77.png" width="512" height="385" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Figure 5: Possible owners list of the FCI network name resource of the primary FCI, after adding two nodes from the DR site to the WSFC&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;This is neither intended nor desired&lt;/b&gt;. R900-03 and R900-04 can never be the possible owners of any resources of SMFCI601\SM_FCI_601. So, why does this happen? It is the way SQL Server FCI setup works with Windows clustering. When a node is added to the WSFC, the node is added as a possible owner for all existing FCIs. This works well in some scenarios, but doesn&amp;rsquo;t work well in the scenario we are discussing in this article.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;The possible owners list must be manually modified each time you add a node to the WSFC. Figure 6 shows corrected possible owners list for one resource (the FCI network name on the primary).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/8244.image_5F00_5ECF4135.png"&gt;&lt;img style="border:0px currentcolor;display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/8168.image_5F00_thumb_5F00_42524F55.png" width="524" height="393" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Figure 6: Possible owners list of the FCI network name resource of the primary FCI, after manually correcting the list&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Repeat this for all resources (other than disks, the disk resources don&amp;rsquo;t demonstrate this behavior), such as:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;FCI network name&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;FCI IP address&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;SQL instance&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;SQL Agent&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:small;"&gt;Any other resources part of the resource group must be checked for correct possible owners.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;And repeat this for each FCI in your topology. Note that the possible owners list for the resources in each FCI will differ from other FCIs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;The possible owners list must be appropriately modified before proceeding to create the availability group across the FCIs (Step 3 listed above), otherwise AG creation will fail, because there will be overlap between the possible owners of the two instances hosting the AG replicas.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span&gt;This should not be confused with the possible owners list for the availability group resource. You should not alter the possible owners list for the availability group (&lt;a href="http://sqlcat.com/sqlcat/b/msdnmirror/archive/2012/03/30/do-not-use-windows-failover-cluster-manager-to-perform-availability-group-failover.aspx" target="_blank"&gt;DO NOT use Windows Failover Cluster Manager to perform Availability Group Failover&lt;/a&gt;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2731" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Availability/default.aspx">Availability</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Disaster+Recovery/default.aspx">Disaster Recovery</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Database+Mirroring/default.aspx">Database Mirroring</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Planned+Downtime/default.aspx">Planned Downtime</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Denali/default.aspx">Denali</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Availability+Groups/default.aspx">Availability Groups</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Failover+Clustering/default.aspx">Failover Clustering</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/HADR/default.aspx">HADR</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/sql+server+2012/default.aspx">sql server 2012</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/AlwaysOn/default.aspx">AlwaysOn</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Cluster/default.aspx">Cluster</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Failover/default.aspx">Failover</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Unplanned+Downtime/default.aspx">Unplanned Downtime</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/GeoCluster/default.aspx">GeoCluster</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Failover+Cluster+Instance/default.aspx">Failover Cluster Instance</category></item><item><title>Review a working option to setup a SQL Server 2012 BI solution using Azure’s IaaS VMs</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/07/17/review-a-working-option-to-setup-a-sql-server-2012-bi-solution-using-azure-s-iaas-vms.aspx</link><pubDate>Wed, 18 Jul 2012 02:13:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2719</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>By: Nicholas Dritsas 
 Reviewers: James Podgorski, Olivier Matrat, Sanjay Mishra 
 Overview 
 Azure&amp;rsquo;s Iaas VMs plus Virtual Networks can be used to configure easily a set of servers/VMs to host the main components of a BI solution. This process assumes you already have an Azure subscription plus access to add new VMs and Virtual Networks. 
 Setting up a virtual network 
 
 Go to the Azure portal here: https://windows.azure.com/ . Ensure you connect to the preview portal. 
 Select +New...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/07/17/review-a-working-option-to-setup-a-sql-server-2012-bi-solution-using-azure-s-iaas-vms.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2719" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/BI/default.aspx">BI</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+2012/default.aspx">SQL 2012</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/VM/default.aspx">VM</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/iaas/default.aspx">iaas</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/windows+azure+virtual+machine/default.aspx">windows azure virtual machine</category></item><item><title>AlwaysOn Architecture Guide: Building a High Availability and Disaster Recovery Solution by Using Failover Cluster Instances and Availability Groups</title><link>http://sqlcat.com/sqlCat/b/whitepapers/archive/2012/06/22/alwayson-architecture-guide-building-a-high-availability-and-disaster-recovery-solution-by-using-failover-cluster-instances-and-availability-groups.aspx</link><pubDate>Sat, 23 Jun 2012 00:42:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2712</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>5</slash:comments><description>&lt;p&gt;SQL Server 2012 AlwaysOn Failover Cluster Instances (FCI) and AlwaysOn Availability Groups provide a comprehensive high availability and disaster recovery solution. Prior to SQL Server 2012, many customers used FCIs to provide local high availability within a data center and database mirroring for disaster recovery to a remote data center. With SQL Server 2012, this design pattern can be replaced with an architecture that uses FCIs for high availability and availability groups for disaster recovery business requirements. Availability groups leverage Windows Server Failover Clustering (WSFC) functionality and enable multiple features not available in database mirroring. This paper details the key topology requirements of this specific design pattern, including asymmetric storage considerations, quorum model selection, quorum votes, steps required to build the environment, and a workflow illustrating how to handle a disaster recovery event in the new topology across participating job roles.&lt;/p&gt;...(&lt;a href="http://sqlcat.com/sqlCat/b/whitepapers/archive/2012/06/22/alwayson-architecture-guide-building-a-high-availability-and-disaster-recovery-solution-by-using-failover-cluster-instances-and-availability-groups.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2712" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Availability/default.aspx">Availability</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Failover/default.aspx">Failover</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Cluster/default.aspx">Cluster</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Failover+Clustering/default.aspx">Failover Clustering</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Planned+Downtime/default.aspx">Planned Downtime</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/HADR/default.aspx">HADR</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Disaster+Recovery/default.aspx">Disaster Recovery</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Unplanned+Downtime/default.aspx">Unplanned Downtime</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/GeoCluster/default.aspx">GeoCluster</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Database+Mirroring/default.aspx">Database Mirroring</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Denali/default.aspx">Denali</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/AlwaysOn/default.aspx">AlwaysOn</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/sql+server+2012/default.aspx">sql server 2012</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Failover+Cluster+Instance/default.aspx">Failover Cluster Instance</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Availability+Groups/default.aspx">Availability Groups</category></item><item><title>AlwaysOn Architecture Guide: Building a High Availability and Disaster Recovery Solution by Using AlwaysOn Availability Groups</title><link>http://sqlcat.com/sqlCat/b/whitepapers/archive/2012/06/22/alwayson-architecture-guide-building-a-high-availability-and-disaster-recovery-solution-by-using-alwayson-availability-groups.aspx</link><pubDate>Sat, 23 Jun 2012 00:36:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2711</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;Authors:&lt;/strong&gt; Joseph Sack (SQLskills.com), Sanjay Mishra (Microsoft)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;Technical Reviewers:&lt;/strong&gt; Lindsey Allen (MS), Juergen Thomas (MS), Mike Weiner (MS), Prem Mehra (MS), Yorihito Tada (MS), Curt Matthews (MS), Amitabh Tamhane (MS), Aditya Samant (MS), Daniel Janik (MS), Jimmy May (MS), David P Smith (ServiceU), Richard Waymire (SolidQ), Brent Ozar (Brent Ozar PLF), Wolfgang Kutschera (bwin.party), Paul S. Randal (SQLskills.com), Gianluca Hotz (SolidQ), Ayad Shammout (Caregroup)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Content Program Manager&lt;/strong&gt;: Glenn Minch (Microsoft)&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;Summary: &lt;/strong&gt;SQL Server 2012 AlwaysOn Availability Groups provides a unified high availability and disaster recovery (HADR) solution that improves upon legacy functionality previously found across disparate features. Prior to SQL Server 2012, several customers used database mirroring to provide local high availability within a data center, and log shipping for disaster recovery across a remote data center. With SQL Server 2012, this common design pattern can be replaced with an architecture that uses availability groups for both high availability and disaster recovery. This paper details the key topology requirements of this specific design pattern, including quorum configuration considerations, steps required to build the environment, and a workflow that shows how to handle a disaster recovery event in the new topology.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;Read on: &lt;a href="http://msdn.microsoft.com/en-us/library/jj191711"&gt;http://msdn.microsoft.com/en-us/library/jj191711&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2711" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Availability/default.aspx">Availability</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/HADR/default.aspx">HADR</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Disaster+Recovery/default.aspx">Disaster Recovery</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/High+Availability/default.aspx">High Availability</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Denali/default.aspx">Denali</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Data+Warehouse/default.aspx">Data Warehouse</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/AlwaysOn/default.aspx">AlwaysOn</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/sql+server+2012/default.aspx">sql server 2012</category><category domain="http://sqlcat.com/sqlCat/b/whitepapers/archive/tags/Availability+Group/default.aspx">Availability Group</category></item><item><title>AlwaysOn Availability Groups Generate Network Traffic with No User Activity</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/06/21/alwayson-availability-groups-generate-network-traffic-with-no-user-activity.aspx</link><pubDate>Thu, 21 Jun 2012 21:31:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2710</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>Author: Kevin Cox 
 Contributors: Min He,Steve Lindell 
 Reviewers: Sanjay Mishra, Juergen Thomas, Jimmy May 
 
 Creating an availability group needs pings and status checks across the different servers involved. This accounts for approximately 500 bytes per database in the group. The PerfMon counter used to track the activity is &amp;ldquo;Bytes Received from Replica/sec&amp;rdquo;. Books Online has recently been changed to reflect a high level description. The purpose of this blog is to provide a bit...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/06/21/alwayson-availability-groups-generate-network-traffic-with-no-user-activity.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2710" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Data+Warehouse/default.aspx">Data Warehouse</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/network/default.aspx">network</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Availability+Groups/default.aspx">Availability Groups</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+2012/default.aspx">SQL 2012</category></item><item><title>Running SQL Server in Windows Azure Virtual Machine - Performance Guidelines for Preview</title><link>http://sqlcat.com/sqlCat/b/technicalnotes/archive/2012/06/08/running-sql-server-in-windows-azure-virtual-machine-performance-guidelines-for-preview.aspx</link><pubDate>Sat, 09 Jun 2012 00:36:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2704</guid><dc:creator>Lindsey.allen</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;A Windows Azure Virtual Machine is similar to a virtual machine run on premise except that it runs in Windows Azure, Microsoft&amp;rsquo;s public cloud. Starting with the Windows Azure 2012 Preview release, new Virtual Machine capabilities have been added to the Windows Azure. We support a number of scenarios for SQL Server running in Windows Azure in addition to moving existing SQL Server applications to Windows Azure Virtual Machines. For details on how to migrate your existing SQL Server application, see &lt;/span&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=249158"&gt;&lt;span style="font-size:x-small;"&gt;Migrating with Windows Azure Virtual Machines&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;The performance of a relational database in Windows Azure Virtual Machine depends on many factors, including the VM size, the number and configuration of disks, the network throughput and latency, the configuration of the database software and the application workload. We encourage users to benchmark their application on several VM sizes and storage configurations in order to select the most appropriate configuration. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;In order to help customers with the task of characterizing the performance for migrating to Windows Azure Virtual Machine, we are working on extending the Microsoft Assessment and Planning (MAP) Toolkit for SQL Server to have more built-in awareness for Windows Azure VMs.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;VM Size&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;To improve the performance of your database, you need to understand which of the server&amp;rsquo;s resources is the performance constraint. If your database performance is limited by CPU or memory, users can scale up the compute available to the SQL instance by choosing a larger VM. Follow &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj152814"&gt;&lt;span style="font-size:x-small;"&gt;Set-AzureVMsize&lt;/span&gt;&lt;/a&gt; for more detail on how to upgrade to a bigger VM size. Please note that this involves taking the VM offline and restarting the VM. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Be mindful that this is a cloud environment with a multi-tenant storage and networking infrastructure, so you should expect some variance in performance. In general, for production workloads we recommend running SQL Server on Medium or larger VMs. For best performance use extra-large VMs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;We recommend the default setting for the SQL configuration option &amp;ldquo;max server memory&amp;rdquo; in order to allow SQL to manage its memory needs dynamically.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Number and configuration of disks&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;The number of disks allowed for your Windows Azure VM varies based on the VM size, with each disk up to 1TB. For example, in an extra-large VM, up to 16 disks are supported. For more details, please refer to the table below (source &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee814754.aspx"&gt;&lt;span style="font-size:x-small;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/0447.image_5F00_3ACCF07A.png"&gt;&lt;img style="display:inline;" title="image" border="0" alt="image" src="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08-metablogapi/3108.image_5F00_thumb_5F00_0149E083.png" width="578" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;If your performance is strongly disk I/O sensitive, be mindful that a larger VM may be required in order to add enough disks to meet your I/O requirements. For details, please see the &lt;/span&gt;&lt;a href="http://www.windowsazure.com/en-us/manage/windows/how-to-guides/attach-a-disk/"&gt;&lt;span style="font-size:x-small;"&gt;How to attach a data disk to a virtual machine topic&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;in How to create and configure a virtual machine in Windows Azure.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Being a shared cloud service, performance of Windows Azure VM, especially the I/O capacity, also depends on concurrent load &amp;ndash; performance will vary, for example, based on the time of day. We recommend users to validate the disk configuration to determine its I/O capacity prior to deploying SQL Server. &lt;/span&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=20163"&gt;&lt;span style="font-size:x-small;"&gt;SQLIO Disk Subsystem Benchmark Tool&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt; is available for performing such tests. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;In terms of configuration, we recommend placing data and log on separate disks from the OS disk for better performance.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Disk cache settings&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;The default cache settings on the OS disk and the data disk are different. &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;On the OS disk, the default is ON for both read and write caching. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;On the data disk, the default is OFF for both read and write caching.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;For running SQL workloads, we recommend keeping the write cache OFF. In case data has to be placed on the OS disk, disable the write caching on the OS disk in the service model. Use Windows Azure Powershell command &lt;/span&gt;&lt;a href="http://msdnstage/en-us/library/jj152847"&gt;&lt;span style="font-size:x-small;"&gt;Set-AzureOSDisk&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt; to disable write caching. Please note that changing the cache settings on the OS disk while running will result in a reboot of the VM.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Apart from Windows Azure OS disk and data disk, there is also Temporary Storage available in the VM (usually exposed as drive &amp;ldquo;D:\&amp;rdquo;). This temporary storage, however, does not provide data durability as OS disks or data disks do. We recommend users refrain from keeping data that need to be persisted on this drive.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Performance Tuning and Troubleshooting&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;In general, users have the same database performance tuning options in the Windows Azure Virtual Machine environment that they would have in a physical server environment, this includes resources such as Windows performance counters, Xperf and SQL Server DMVs. Additionally, for logging and troubleshooting performance of the networked drives, the user can leverage &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh343270.aspx"&gt;&lt;span style="font-size:x-small;"&gt;Storage Analytics&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;, a tool for performance logging and troubleshooting against Windows Azure storage.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-size:x-small;"&gt;Additional Resources&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;a href="http://www.windowsazure.com/en-us/manage/windows/how-to-guides/"&gt;How to guide for Windows Virtual Machines&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;a href="http://support.microsoft.com/kb/956893"&gt;Support policy for Microsoft SQL Server products that are running in a hardware virtualization environment&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;a href="https://www.windowsazure.com/en-us/pricing/details/"&gt;Pricing Details&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;a href="http://www.windowsazure.com/en-us/pricing/calculator/?scenario=virtual-machines"&gt;Price calculator&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;a href="http://www.windowsazure.com/en-us/pricing/free-trial/"&gt;Get Free Trial&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2704" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Migrating Data-Centric Applications to Windows Azure</title><link>http://sqlcat.com/sqlCat_NoHomeAggregation/b/featured/archive/2012/06/07/migrating-data-centric-applications-to-windows-azure.aspx</link><pubDate>Thu, 07 Jun 2012 21:19:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2703</guid><dc:creator>sthoward</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The guide, &lt;i&gt;Migrating Data-Centric Applications to Windows Azure,&lt;/i&gt; provides experienced developers and information technology (IT) professionals with detailed guidance on how to migrate their data-centric applications to Windows Azure Cloud Services, while also providing an introduction on how to migrate those same applications to Windows Azure Virtual Machines. By using this guide, you will have the planning process, migration considerations, and prescriptive how to&amp;rsquo;s needed for a positive migration experience.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Capturing the best practices from the real-world engagements of CAT and the technical expertise of the SQL Database Content team, &lt;i&gt;Migrating Data-Centric Applications to Windows Azure &lt;/i&gt;can help you simplify the migration process, provide guidance on the most appropriate migration tools, and drive a successful implementation of your migration plan.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Get started:&lt;/b&gt; &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj156154"&gt;Migrating Data-Centric Applications to Windows Azure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;P.S. eBook versions coming soon!&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2703" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat_NoHomeAggregation/b/featured/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://sqlcat.com/sqlCat_NoHomeAggregation/b/featured/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://sqlcat.com/sqlCat_NoHomeAggregation/b/featured/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Memory Error Recovery in SQL Server 2012</title><link>http://sqlcat.com/sqlCat/b/technicalnotes/archive/2012/06/05/memory-error-recovery-in-sql-server-2012.aspx</link><pubDate>Wed, 06 Jun 2012 00:14:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2700</guid><dc:creator>Lindsey.allen</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;&lt;span style="color:#0000a0;font-size:x-small;"&gt;&lt;em&gt;Xin Jin; Fabricio Voznika; Madhan Arumugam; Lindsey Allen&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;SQL Server 2012 has many hidden gems, one of them is the capability of recovering from memory corruption error. We will tell you how it works in this article. &lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;Contents&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;Memory Error Recovery in SQL Server 2012&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;Hardware errors and taxonomy&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;Soft error vs. hard error&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;Corrected error vs. uncorrected error&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;Fatal error vs. non-fatal error&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;What is memory scrubbing?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;How To: Find if this feature is available&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;How To: Detect that a page has been repaired&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;How to: Detect uncorrected hardware memory corruption&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;How To: Monitor the system&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;SQL Server is able to recover from memory corruption when hardware support&amp;nbsp; is available. Platforms that support hardware memory scrubber can send notification to applications when memory corruption is detected. SQL Server responds to these notifications and attempts to repair the memory. Clean database pages in buffer pool &lt;/span&gt;&lt;a&gt;&lt;span style="font-size:x-small;"&gt;are &lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt; restored by reading the page again from disk. This new feature helps SQL Server to remain running even when there are hardware memory errors&lt;/span&gt;&lt;a&gt;&lt;span style="font-size:x-small;"&gt;.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a name="_Toc323507213"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;Hardware errors and taxonomy&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Please see the &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff559382(v=vs.85).aspx"&gt;&lt;span style="font-size:x-small;"&gt;Hardware Errors and Error Sources&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt; on MSDN for an overview of hardware errors and their definitions.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h5&gt;&lt;a name="_Toc323507214"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;Soft error vs. hard error&lt;/span&gt;&lt;/h5&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;A soft error is an error in a signal or datum which is wrong. After a soft error is observed , there is no implication that the system is any less reliable than before. If detected, a soft error may be corrected by rewriting correct data in place of erroneous data. An example of a soft error is a single bit flip.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Unlike soft error, a hard error is an error that occurs because of a physical hardware issue such as a defect, a mistake in design or construction, or a broken component. These errors require that the hardware causing the error be replaced. Rewriting the data does not correct the error.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h5&gt;&lt;a name="_Toc323507215"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;Corrected error vs. uncorrected error&lt;/span&gt;&lt;/h5&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;A corrected error is a hardware error condition that has been corrected by the hardware or the firmware by the time that the operating system is notified about the presence of the error condition.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;An uncorrected error is a hardware error condition that cannot be corrected by the hardware or the firmware. Uncorrected errors are classified as either fatal or nonfatal.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h5&gt;&lt;a name="_Toc323507216"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;Fatal error vs. non-fatal error&lt;/span&gt;&lt;/h5&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;A fatal hardware error is an uncorrected or uncontained error condition that is determined to be unrecoverable by the hardware. When a fatal uncorrected error occurs, the operating system generates a bug check to contain the error.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;A nonfatal hardware error is an uncorrected error condition from which the operating system can attempt recovery by trying to correct the error. If the operating system cannot correct the error, it generates a bug check to contain the error.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a name="_Toc323507217"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;What is memory scrubbing?&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Memory_scrubbing"&gt;&lt;span style="font-size:x-small;"&gt;Memory scrubbing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt; is the process of detecting and correcting bit errors in computer memory by using error-detecting codes like ECC. Memory scrubbing can detect and correct soft, correctable errors. For certain soft, uncorrected non-fatal errors, SQL Server captures of this information and checks whether the corrupted memory is part of a clean database page that is in Buffer Pool. If that is the case, this page is tossed and the memory is de-allocated. If corruption is in another region of memory that can not be repaired, only logging is done to notify of the event and no action is taken. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a name="_Toc323507218"&gt;&lt;/a&gt;&lt;a&gt;&lt;span style="font-size:x-small;"&gt;How To: Find if this feature is available&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt; If the memory error recovery feature is available, you will be able to see the following by looking at SQL errorlog.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="869"&gt;
&lt;p&gt;&lt;span style="color:#008000;font-family:Consolas;font-size:x-small;"&gt;Machine supports memory error recovery. SQL memory protection is enabled to recover from memory corruption.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&lt;a name="_Toc323507219"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;How To: Detect that a page has been repaired&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;If the memory corruption is associated with a clean page in Buffer Pool, SQL Server is able to recover from it and the following message will be logged in the &lt;/span&gt;&lt;a&gt;&lt;span style="font-size:x-small;"&gt;errorlog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="869"&gt;
&lt;p&gt;&lt;span style="color:#008040;font-family:Consolas;font-size:x-small;"&gt;SQL Server has detected hardware memory corruption in database &amp;#39;%ls&amp;#39;, file ID: %u, page ID; %u, memory address: 0x%x and has successfully recovered the page.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;Also you can monitor the detection and repair of the memory corruption with the following Extended Events (XEvents):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;- bad_memory_detected: corrupted memory has been detected and reported to SQL. The memory may or may not belong to a database page.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;- bad_memory_fixed: memory corruption has been detected and fixed. Fields of then event contain more details regarding the exact page affected&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;span style="font-size:x-small;"&gt;How to: Detect uncorrected hardware memory corruption&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;SQL Server is able to recover from memory corruption of clean pages in buffer pool. It cannot recover from memory errors associated with dirty pages or outside Buffer Pool. Upon detection of such uncorrectable hardware errors, the following entry can be observed from errorlog.&lt;/span&gt;&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="869"&gt;
&lt;p&gt;&lt;span style="color:#008040;font-family:Consolas;font-size:x-small;"&gt;Uncorrectable hardware memory corruption detected. Your system may become unstable. Please check the Windows event log for more details.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;&lt;a name="_Toc323507221"&gt;&lt;/a&gt;&lt;span style="font-size:x-small;"&gt;How To: Monitor the system&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;The user can monitor the detection of memory corruption using &lt;strong&gt;sp_server_diagnostics&lt;/strong&gt;. The &lt;em&gt;system&lt;/em&gt; component state will be set to &lt;em&gt;warning&lt;/em&gt; upon detection of a memory corruption. In addition, the &lt;em&gt;data&lt;/em&gt; column logs information about count of bad page detected, count of bad page fixed as well as the virtual address of the bad page last encountered. &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2700" width="1" height="1"&gt;</description></item><item><title>Comparing I/O characteristics in AlwaysOn Availability Groups and Database Mirroring</title><link>http://sqlcat.com/sqlCat/b/technicalnotes/archive/2012/06/01/comparing-i-o-characteristics-in-alwayson-availability-groups-and-database-mirroring.aspx</link><pubDate>Fri, 01 Jun 2012 22:19:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2693</guid><dc:creator>ytada</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;b&gt;Author&lt;/b&gt;: Yorihito Tada &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contributors&lt;/b&gt;: Sanjay Mishra, Steve Lindell &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Technical Reviewers&lt;/b&gt;: Prem Mehra, Mike Weiner, Sunil Agarwal&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Microsoft SQL Server 2012 introduces AlwaysOn Availability Groups, which is a high availability and disaster recovery solution. The basic concept of AlwaysOn Availability Groups is similar to Database Mirroring, which was introduced in SQL Server 2005 SP1. AlwaysOn Availability Groups offers improvements over Database Mirroring; for example, with AlwaysOn Availability Groups, you can have multiple databases in one availability group, and you can have up to four secondary replicas for every primary replica. For more information about AlwaysOn Availability Groups, see &lt;a href="http://technet.microsoft.com/en-us/library/ff877884(v=SQL.110).aspx"&gt;Overview of AlwaysOn Availability Groups&lt;/a&gt; (http://technet.microsoft.com/en-us/library/ff877884(v=SQL.110).aspx).&lt;/p&gt;
&lt;p&gt;AlwaysOn Availability Groups not only extends the functionality of Database Mirroring, it also provides performance enhancements. This paper provides some technical details on two of these enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The I/O efficiency of flushing data pages on the secondary replica&lt;/li&gt;
&lt;li&gt;Throughput improvements by optimized I/O for transaction log file using log pool&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The paper also discusses the results of tests that we performed to demonstrate these features and their effect on performance.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;I/O Efficiency of Flushing Pages on the Secondary&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;One significant change in SQL Server 2012 is the improved I/O efficiency on the secondary replica (also known as the mirror database in Database Mirroring). Database Mirroring does a continual flush of the dirty pages, because to go from a &amp;lsquo;restoring&amp;rsquo; state to an &amp;lsquo;online&amp;rsquo; state (that is, from the mirror database to the principal database), all pages are required to be on disk. To shorten recovery time at failover, Database Mirroring writes dirty data pages to disk continuously. Because databases in AlwaysOn Availability Groups are online in both primary and secondary replicas (regardless of whether they are readable or not) , the flush is not required on a role change. Therefore AlwaysOn Availability Groups does not need to force page flushes except at checkpoints or buffer pool memory pressure. This change significantly reduces I/O for the secondary replica, when there are multiple updates on same page.&lt;/p&gt;
&lt;p&gt;To compare AlwaysOn Availability Groups and Database Mirroring, I used one OLTP-type database and the same workload for AlwaysOn Availability Groups and Database Mirroring. Each database had 12 data files (6 files on each file group) and one transaction log file. The total size was approximately 80&amp;nbsp;GB allocated and 35&amp;nbsp;GB used at the initial state. Both AlwaysOn Availability Groups and Database Mirroring were configured as synchronous replicas or mirrors. The workloads were mixed, with INSERTs, UPDATEs and READs. The concurrent connected user count was 1,000 users. On each node, data files were placed on drive H:(direct attached SSD drive), and transaction log files were on drive E:(SAN storage).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/1362.AGDBMIO_5F00_Figure11.png"&gt;&lt;img border="0" alt=" " src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/1362.AGDBMIO_5F00_Figure11.png" /&gt;&lt;/a&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/5415.AGDBMIO_5F00_Figure11.png"&gt;&lt;/a&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/8176.AGDBMIO_5F00_Figure1.png"&gt;&lt;/a&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/6177.AGDBMIO_5F00_Figure1.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Figure 1: The Data Disk Write Byte /sec counter&lt;/p&gt;
&lt;p&gt;In Figure 1, the red line shows the Disk Write Bytes/sec counter values on the secondary node data disk. It shows that there were approximately 500&amp;nbsp;MB per second of write I/O every minute for AlwaysOn Availability Groups; this write I/O occurred at the checkpoint. There were continuously 200&amp;nbsp;MB per second of write I/O for Database Mirroring. Note: The blue dotted line tracks the Disk Write Bytes/sec counter on the primary replica (in AlwaysOn Availability Groups) or principal database (in Database Mirroring), showing the checkpoint activity, which is a very similar pattern in both technologies. Average Disk Write Bytes/sec is around 63&amp;nbsp;MB per second for AlwaysOn Availability Groups and 205&amp;nbsp;MB per second for Database Mirroring during workload. These test results show that AlwaysOn Availability Groups reduces write I/O on the mirror significantly, compared to Database Mirroring.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Throughput improvements by optimized I/O for transaction log file using the log pool&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;SQL Server 2012 Availability Groups introduces another improvement, the dynamic cache capability of the log pool. This capability increases throughput capacity on the AlwaysOn Availability Groups databases. The log pool is a new common cache mechanism for log records consumers. When a transaction is run on the primary replica, the transaction log records are written to the log cache, and at the same time they are sent to the log pool to be passed along to the secondary replica. Figure 2 shows an example of this with a single secondary replica, although the logic is the same for multiple secondary replicas. If an unsent log is not in cache, AlwaysOn Availability Groups or Database Mirroring log capture threads have to read the log from the file. The log pool serves as a dynamic cache that can grow until unsent log entries fit into the cache, if there is no memory pressure. Then AlwaysOn Availability Groups adds less I/O to the log file for read than Database Mirroring does.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/1732.AGDBMIO_5F00_Figure2.png"&gt;&lt;img border="0" alt=" " src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/1732.AGDBMIO_5F00_Figure2.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Figure 2: Data movement architecture of AlwaysOn Availability Groups&lt;/p&gt;
&lt;p&gt;In Figure 3, the red line shows Batch Requests/sec, the blue line shows Log write waits, and the green line shows Disk Read Bytes/sec for the transaction log. These results are all taken from the primary replica or the principal database.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/4722.AGDBMIO_5F00_Figure31.png"&gt;&lt;img border="0" alt=" " src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/4722.AGDBMIO_5F00_Figure31.png" /&gt;&lt;/a&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/1616.AGDBMIO_5F00_Figure31.png"&gt;&lt;/a&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/6327.AGDBMIO_5F00_Figure3.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Figure 3: Batch Requests/sec&lt;/p&gt;
&lt;p&gt;For AlwaysOn Availability Groups, the average value for Batch Requests/sec is about 5000, and for Database Mirroring, the average is 4000. This improvement in throughput is caused by a difference in the Log writes waits counter and heavier read I/O (as measured by the Disk Read Byes/sec counter&lt;i&gt;)&lt;/i&gt; on the transaction log file for Database Mirroring. This enhancement comes from the log pool with a dynamically sized log cache. Database Mirroring, on the other hand, uses a fixed-size log cache. These log pool changes enable AlwaysOn Availability Groups to handle spikes in log volume much better, which results in an increase in capacity over Database Mirroring.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2693" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Availability/default.aspx">Availability</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Performance/default.aspx">Performance</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/I_2F00_O/default.aspx">I/O</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/technicalnotes/archive/tags/Data+Warehouse/default.aspx">Data Warehouse</category></item><item><title>Fast Track: improving performance through correct LUN Mapping and Storage Enclosure configuration</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/05/03/fast-track-improving-performance-through-correct-lun-mapping-and-storage-enclosure-configuration.aspx</link><pubDate>Thu, 03 May 2012 14:49:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2677</guid><dc:creator>AlexeiK</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Alexei Khalyako&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reviewers:&lt;/strong&gt; Thomas Kejser, Marcel Franke (PM One); Kevin Cox; Erik Kraemer; Kun Cheng; Murshed Zaman; Chuck Heinzelman&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;During the recent &amp;lsquo;Proof of Concept&amp;rsquo; we were testing mid-range Fast Track configuration. Fast Track configuration looked like: server with 32 cores, more than 200 GB of RAM and storage capacity about 40TB.&lt;/p&gt;
&lt;p&gt;Before getting started looking at the SQL Server database performance, we obviously wanted to measure the maximum throughput of the storage and then to rely on it as the theoretical maximum of IO that system could deliver. According to the documentation of the hardware vendor the Maximum Consumption Rate is around 7,5 GB/sec, therefore&amp;nbsp; in the real life we were expecting to see the IO in the range of 6-6,5GB/sec.&lt;/p&gt;
&lt;p&gt;The very first runs of SQLIO brought quite surprising numbers: we couldn&amp;rsquo;t exceed 4,7 GB/sec.&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="641" valign="top"&gt;
&lt;p&gt;&lt;i&gt;Comment: following SQLIO command was used for analysis &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="626" valign="top"&gt;
&lt;p&gt;&lt;b&gt;ECHO ------ Sequential read block size 256 thread on Concurrent --------------------&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;sqlio -kR -t10 -s%1 -fsequential -o1 &amp;ndash;b512 -LS -FCreate_big_test_file_Param.txt&amp;nbsp; &amp;gt;&amp;gt; .\TestCycle3\sqliotest_sr_t10_b256_all.txt &amp;nbsp;timeout &amp;nbsp;/T 60&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;where:&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;-kR &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp; means that &amp;lsquo;READ&amp;rsquo; workload is used&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;-fsequential&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - workload is sequential&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;-b512&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - block size 256, which is quite typical size for the data warehouse type of workload &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Looking at the Performance Monitor, we also observed that instead of the nice flat line across all LUNs we have got absolutely uneven performance of the LUNs with the fluctuation up to 100 MB/sec between slowest and the fastest LUN.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/5545.LUNPerf.png"&gt;&lt;img src="http://sqlcat.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/5545.LUNPerf.png" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All those observations indicated that we have &amp;nbsp;a problem, but what exactly was the reason for such the underperforming behavior? Since we tested only the throughput of the system storage using SQLIO, we may conclude that the problem is on the hardware or hardware configuration site.&lt;/p&gt;
&lt;p&gt;What should we then examine? Following components typically impact the data throughput capabilities: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/2210.datatrail.PNG"&gt;&lt;img src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/2210.datatrail.PNG" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;PCI-slots -&amp;gt; HBA-&amp;gt; Network to the Switch -&amp;gt;Switch -&amp;gt; Network to the storage controller-&amp;gt; storage controller.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;First we checked if the HBAs are installed in the right PCI-E slots. In the past we observed couple of cases where HBAs were installed in the slots which were not able to deliver the throughput the HBA can consume. &lt;/p&gt;
&lt;p&gt;&lt;i&gt;Note: PCIe x1 v1.0 can deliver about 250 MB/sec. PCIe x4 v1.0 slot can deliver aggregated throughput around 1GB/sec. PCIe x1 v2.0 provides with double performance of the v1.0, which is about 500 MB/sec. Accordingly, PCIe x4 v2.0 could deliver up to 2 GB/sec. Therefore, in order to get anticipated throughput, it would be recommended then installing 8Gb dual port HBA into the PCIe x4.&amp;nbsp;&amp;nbsp; However, not all motherboard PCIe slots are equal. You need to read the fine-print for the motherboard spec for full details. &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Even though current hardware typically has enough high throughput PCI-E slots, there are still &lt;ins cite="mailto:Steve%20Howard%20(PFE)"&gt;a &lt;/ins&gt;couple of the &amp;lsquo;slow&amp;rsquo; slots on the motherboards and it is quite understandable if during assembling of the box people could overlook in which slot they put the HBA. So, checking this first could be the easy step to do and very fast to fix if this was a reason for the low throughput.&lt;/p&gt;
&lt;p&gt;However, in our case the HBAs were &amp;lsquo;sitting&amp;rsquo; in the right slots. What&amp;rsquo;s next then? Since cabling looked correct, we had to check the mapping of the HBAs to the LUNs. &lt;/p&gt;
&lt;p&gt;Checking the mapping on our configuration we observed each port A of the each individual HBA was mapped to all ports A of available storage enclosures. Following picture may help to illustrate configuration.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/8463.WrongMapping.png"&gt;&lt;img src="http://sqlcat.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/8463.WrongMapping.png" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;However even according to the vendor there must be explicit mappings created, matching up a single storage port with a single HBA port on the server. So, one HBA port must be connected to only one storage enclosure, like illustrated on the following picture:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/3681.FixedMapping.png"&gt;&lt;img src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/3681.FixedMapping.png" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The diagram show only how the &amp;lsquo;Active&amp;rsquo; MPIO paths were mapped. For failover you can setup two paths per HBA with the MPIO policy ― &amp;lsquo;Failover Only&amp;rsquo;‖. This will direct MPIO to use a single path only and failover to the second or secondary path when the first one fails.&lt;/p&gt;
&lt;p&gt;With described above &amp;nbsp;configuration, where we &amp;nbsp;fixed mapping issue we&amp;rsquo;ve got throughput increased about 20% and brought it up from 4,7 GB/sec to 5,7 GB/sec.&amp;nbsp; During the SQLIO runs all LUNs were showing much more attractive picture&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/3326.FixedPerf.png"&gt;&lt;img src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/3326.FixedPerf.png" border="0" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Additional configuration settings change of the Read Ahead option on the storage from the &amp;nbsp;value &amp;lsquo;Default &amp;lsquo; to &amp;lsquo; 32MB&amp;rsquo; helped to raise performance to the ~6,7 GB/sec which was additional &lt;strong&gt;+14% &lt;/strong&gt;gain comparable to that we have got from the re-mapping the HBA-Storage Enclosure configuration.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sqlcat.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/3426.Cache.png"&gt;&lt;img height="185" width="300" src="http://sqlcat.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-22/3426.Cache.png" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Conclusion:&lt;/b&gt; &amp;nbsp;&amp;nbsp;Reference architectures and appliances&amp;nbsp; give us greatly balanced configurations which help to speed up Data Warehouse deployments and vendors give very clear guidance on how to set it up for better performance. However, the old know wisdom &amp;ldquo;Trust but verify&amp;rdquo; is still true and may help your setup look way better.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2677" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Data+Warehouse/default.aspx">Data Warehouse</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Fast+Track/default.aspx">Fast Track</category></item><item><title> Always On Availability Group: Connection to readable secondary fails when login SIDs are different or missing</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/04/23/always-on-availability-group-connection-to-readable-secondary-fails-when-login-sids-are-different-or.aspx</link><pubDate>Mon, 23 Apr 2012 14:17:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2673</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>When using ApplicationIntent=ReadOnly to access a readable secondary via the Availability Group Listener, the login SIDs have to be the same between primary and secondary. The connection attempt generates an error saying the login does not exist. This happens because the restored database on the secondary has a defined user, but no associated login. 
 Two scenarios can cause this behavior: 
 1. Logins exist on primary but not on secondary 
 2. Logins exist on both primary and secondary but have...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/04/23/always-on-availability-group-connection-to-readable-secondary-fails-when-login-sids-are-different-or.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2673" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Always+On/default.aspx">Always On</category></item><item><title>Tuning Spatial Point Data Queries in SQL Server 2012</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/04/17/tuning-spatial-point-data-queries-in-sql-server-2012.aspx</link><pubDate>Wed, 18 Apr 2012 04:48:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2671</guid><dc:creator>sqlcat</dc:creator><slash:comments>0</slash:comments><description>Written by : Ed Katibah, Milan Stojic, Michael Rys, Nicholas Dritsas 
 Technical reviewers : Chuck Heinzelman 
 Introduction : Spatial Point Data queries require particular tuning efforts to enhance performance and improve overall application throughput. SQL Server 2012 introduces a few key new features and improvements to assist you in that goal. 
 Below, we go over a few key best practices and suggestions on how to achieve that. 
 Read more here: http://social.technet.microsoft.com/wiki/contents...(&lt;a href="http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/04/17/tuning-spatial-point-data-queries-in-sql-server-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2671" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/spatial/default.aspx">spatial</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/server/default.aspx">server</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/2012/default.aspx">2012</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/tuning/default.aspx">tuning</category></item><item><title>Who is using AlwaysOn?</title><link>http://sqlcat.com/sqlCat/b/msdnmirror/archive/2012/04/17/who-is-using-alwayson.aspx</link><pubDate>Tue, 17 Apr 2012 19:19:00 GMT</pubDate><guid isPermaLink="false">e9619797-5f48-4d02-a1a8-7f300d09be66:2670</guid><dc:creator>SanjayMishra</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Several customers are already running SQL Server 2012 AlwaysOn in production. You can find the case studies with some of these reference customers here:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/casestudies/Case_Study_Search_Results.aspx?Type=1&amp;amp;Keywords=AlwaysOn&amp;amp;LangID=46"&gt;http://www.microsoft.com/casestudies/Case_Study_Search_Results.aspx?Type=1&amp;amp;Keywords=AlwaysOn&amp;amp;LangID=46&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://sqlcat.com/aggbug.aspx?PostID=2670" width="1" height="1"&gt;</description><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/OLTP/default.aspx">OLTP</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Denali/default.aspx">Denali</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/AlwaysOn/default.aspx">AlwaysOn</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Disaster+Recovery/default.aspx">Disaster Recovery</category><category domain="http://sqlcat.com/sqlCat/b/msdnmirror/archive/tags/Availability+Groups/default.aspx">Availability Groups</category></item></channel></rss>