<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>My Techy Thoughts</title><description></description><managingEditor>noreply@blogger.com (Sridhar Babu Kolapalli)</managingEditor><pubDate>Tue, 8 Oct 2024 21:16:29 -0700</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">39</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://sridharbabuk.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle/><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>SharePoint 2013 Strange Issue - Method Not Found</title><link>http://sridharbabuk.blogspot.com/2014/10/sharepoint-2013-strange-issue-method.html</link><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 21 Oct 2014 03:27:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-1228966859753417382</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In this post I want to share about the an Issue which I faced today when I was demonstrating certain features in SharePoint 2013.&lt;br /&gt;
&lt;br /&gt;
SharePoint 2013 was setup on Azure VM (A4 - 8 Cores with 14 GB) for the Development environment. Since it is for Dev, I went ahead with the Standalone installation. Successfully Installed and was using from many days with no issues. Today suddenly I was facing the following issue:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Method not found: 'Void Microsoft.SharePoint.WorkflowServices.IWorkflowService.Upgrade(System.Object, System.String, Microso&lt;br /&gt;ft.SharePoint.Upgrade.SPLog)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I am getting the same issue even while adding Add-PSSnapIn "Microsoft.SharePoint.Powershell" in SharePoint management Shall.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Looked at the SP Logs &amp;amp; Event viewer where I can see many issues point to Cache Host is null or Cache Host is not present in the farm. Since its Standalone installation and configured on a workgroup machine I was ignoring this error and continued looking at the errors with no Luck.&lt;br /&gt;
&lt;br /&gt;
The only change I can remember is that installing Worflow Manager 1.0 on the server. And showing SharePoint 2010 workflows in SharePoint Designer 2013.&lt;br /&gt;
&lt;br /&gt;
Finally Looked at the Cumulative Updates on the server and decided to go with the SP1 installation. Unfortunately SP1 installation failed with no error message, so went ahead and restarted the machine and then re-initiated the installation which took good amount of time to complete.&lt;br /&gt;
&lt;br /&gt;
I will suggest to look at the &lt;a href="http://blogs.msdn.com/b/russmax/archive/2013/04/01/why-sharepoint-2013-cumulative-update-takes-5-hours-to-install.aspx" target="_blank"&gt;blog &lt;/a&gt;for speeding the SP1 installation as it consuming lot of time. After the installation I am able to run the PS Config Wizard successfully.&lt;br /&gt;
&lt;br /&gt;
I hope this helps the SP Guys who are facing the similar issues. &lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>LinkedIn is down today</title><link>http://sridharbabuk.blogspot.com/2013/03/linkedin-is-down-today.html</link><category>LinkedIn</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Wed, 20 Mar 2013 05:12:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-8718608846714808178</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
When I try to access the LinkedIn today, it was down may be because of some issue or may be because of the maintenance activity.&lt;br /&gt;
&lt;br /&gt;
The point I want to make it here is how they presented the error message as shown here:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifsctwXqVzwkasLfJ4sJgA8u1BUsbKzEkYJau_NKJ17ars4rJOytlinkJx4xCwXdebcg1G8OkYGqYIDwzDClWmsT8OjdbQUvoCqyvTzIMRdA44kl35DFKVx7WlaWybjaEbyP64BKKaqETO/s1600/LinkedIn_Error.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifsctwXqVzwkasLfJ4sJgA8u1BUsbKzEkYJau_NKJ17ars4rJOytlinkJx4xCwXdebcg1G8OkYGqYIDwzDClWmsT8OjdbQUvoCqyvTzIMRdA44kl35DFKVx7WlaWybjaEbyP64BKKaqETO/s320/LinkedIn_Error.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
This picture engages the user that they are working on issue. If you observe the picture you can even identify the error id as well :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifsctwXqVzwkasLfJ4sJgA8u1BUsbKzEkYJau_NKJ17ars4rJOytlinkJx4xCwXdebcg1G8OkYGqYIDwzDClWmsT8OjdbQUvoCqyvTzIMRdA44kl35DFKVx7WlaWybjaEbyP64BKKaqETO/s72-c/LinkedIn_Error.GIF" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Installing &amp; Configuring the Analysis Service in SharePoint Mode</title><link>http://sridharbabuk.blogspot.com/2013/02/installing-configuring-analysis-service.html</link><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Mon, 11 Feb 2013 02:43:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-5480650045782108561</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
Microsoft SQL Server PowerPivot extends SharePoint and Excel Services to add server side process for the PowerPivot workbooks published to SharePoint.&lt;br /&gt;
&lt;br /&gt;
In this blog I am going to explain on how to install and configure Analysis Service in SharePoint Mode. First lets look at the software requirements:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;SQL Server 2012 Service Pack1&lt;/li&gt;
&lt;li&gt;SharePoint 2013 Enterprise Edition&lt;/li&gt;
&lt;li&gt;PowerPivot add-in for SharePoint 2013&lt;/li&gt;
&lt;/ul&gt;
SQL Server PowerPivot for SharePoint is only available with SQL Server 2012 Service Pack-1. This can be installed on a server running SharePoint 2013 or even on a different server with no dependencies on SharePoint 2013.&lt;br /&gt;
&lt;br /&gt;
I am going to add one more virtual server "VMServer20" to the existing SharePoint farm explained in my previous post "&lt;a href="http://sridharbabuk.blogspot.in/2013/01/configuring-office-web-apps-2013-with.html" target="_blank"&gt;Configuring Office Web Apps 2013 with SharePoint 2013&lt;/a&gt;" as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2kjoMTxPrIf6QmUkEBnJAtSCL1mhyphenhyphenen-qWD0VTdHccaPQv48DYmJltfEfaRqIGEkDC6OXe3T3SbODcL3JTAQE0qthwykwCju7PBG-KN2FTWweg7IKSBUiZ1XOrrrsO7nt3mtyskHrpuG6/s1600/Topology.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2kjoMTxPrIf6QmUkEBnJAtSCL1mhyphenhyphenen-qWD0VTdHccaPQv48DYmJltfEfaRqIGEkDC6OXe3T3SbODcL3JTAQE0qthwykwCju7PBG-KN2FTWweg7IKSBUiZ1XOrrrsO7nt3mtyskHrpuG6/s320/Topology.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Here are the basic steps for this installation &amp;amp; configurations:&lt;br /&gt;
&lt;br /&gt;
1. Installing PowerPivot for SharePoint&lt;br /&gt;
2. Configuring the Analysis Service in SharePoint Mode&lt;br /&gt;
3. Installing PowerPivot on SharePoint Servers&lt;br /&gt;
4. Configure PowerPivot for SharePoint &lt;br /&gt;
5. Verifying with a Sample&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-1: Installing PowerPivot for SharePoint:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Run SQL Server Setup on the Server where you want to install SQL Server PowerPivot for SharePoint, in my case it is VMServer21. Make sure that the server is added to the Domain and run the setup as an administrator and also make sure you logged in with the Setup Account:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkAuLicHgEdAOZgTr5pBrxcm-tUfQvAHuXSIXuCCT4Iz0-tMrltww-8L9HwoUxAX1Cg-sr1vdG1et28CQSl-MZJ6vTV9GkDZm4ZaevhVj3hvWk6enn6MrR1YM_Woe1mw-8gIM-OB5Gwuwm/s1600/Slide1.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkAuLicHgEdAOZgTr5pBrxcm-tUfQvAHuXSIXuCCT4Iz0-tMrltww-8L9HwoUxAX1Cg-sr1vdG1et28CQSl-MZJ6vTV9GkDZm4ZaevhVj3hvWk6enn6MrR1YM_Woe1mw-8gIM-OB5Gwuwm/s320/Slide1.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Click on the New SQL Server stand-alone installation or add features to an existing installation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoQ-RaMxWIAQvIO36TfYiNN4neUKGJVOMbQ0Vm1-eh0pkOCGUKGj5Bpc8sE36ZiUDNWcJo5XnRQZy2C1jKBIT19qSP3gyHTmR5s5HjRije9a7KeDtmCPWybpjxdO_-fVB0GTREt1EA9fso/s1600/Slide2.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoQ-RaMxWIAQvIO36TfYiNN4neUKGJVOMbQ0Vm1-eh0pkOCGUKGj5Bpc8sE36ZiUDNWcJo5XnRQZy2C1jKBIT19qSP3gyHTmR5s5HjRije9a7KeDtmCPWybpjxdO_-fVB0GTREt1EA9fso/s320/Slide2.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Click OK to continue (make sure all the supported rules are passed)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSwr7x-6pkZvctaYcSN7Mc3j81LnhMQgDLG1qCXPQl1H4GZf5U889prDrRabKzDGt7pjIToLMJpSbTSTT3Z39bmB0449PFep4IKkH2NKq9Bm8G6Cr2oCmlkmYMTklH6pb_3XJNcXv4pmgV/s1600/Installation_Steps_Blog_3.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSwr7x-6pkZvctaYcSN7Mc3j81LnhMQgDLG1qCXPQl1H4GZf5U889prDrRabKzDGt7pjIToLMJpSbTSTT3Z39bmB0449PFep4IKkH2NKq9Bm8G6Cr2oCmlkmYMTklH6pb_3XJNcXv4pmgV/s320/Installation_Steps_Blog_3.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Provide the license key and Click Next to continue&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghC5bScikOuYS1GQMVHXwomgcZ8jew9vAfwqYrW8GgyNO64SEVQa_lJx7yFKFKjRDONxCiO2SArvLb0h7iHSi7fT2nWlRGwII-kfqtNXNAfitzk90TyV8L5zpg8iGi88oVIOi2LiRXl_Cg/s1600/Slide4.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghC5bScikOuYS1GQMVHXwomgcZ8jew9vAfwqYrW8GgyNO64SEVQa_lJx7yFKFKjRDONxCiO2SArvLb0h7iHSi7fT2nWlRGwII-kfqtNXNAfitzk90TyV8L5zpg8iGi88oVIOi2LiRXl_Cg/s320/Slide4.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Select the I accept the license terms and Click Next to continue&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBx6IAzAtFfsUzb-IzS0-vENTAgwJKh1gEourkSdS0Dd3o7v6bu_JnI1Tmq8P7vsMPJ1kJZmk3L1mbeEg4MTzZDtduUvnakCCoN78PaifYht_226VLsjSXoCOc8quAtC1-s1OIL7qq6r40/s1600/Slide5.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBx6IAzAtFfsUzb-IzS0-vENTAgwJKh1gEourkSdS0Dd3o7v6bu_JnI1Tmq8P7vsMPJ1kJZmk3L1mbeEg4MTzZDtduUvnakCCoN78PaifYht_226VLsjSXoCOc8quAtC1-s1OIL7qq6r40/s320/Slide5.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0WDUCVBCSpgXnepu4hqohSnipGNyMGIqsTbrj9HxaySc8YPOiUMYqsUP0pzqZqkoqKy-0GBxqqapO7qVeId5IfdC1coCjmNr876YYGC8dvKjNZL5utEAXGp4fd0snCSSWzyatiJjq3MJD/s1600/Slide6.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0WDUCVBCSpgXnepu4hqohSnipGNyMGIqsTbrj9HxaySc8YPOiUMYqsUP0pzqZqkoqKy-0GBxqqapO7qVeId5IfdC1coCjmNr876YYGC8dvKjNZL5utEAXGp4fd0snCSSWzyatiJjq3MJD/s320/Slide6.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Next to Continue, in case of any warnings for Windows Firewall rule, you can fix it ever after installing. It also might vary based on which environment we are setting up this server (like DMZ).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFVI-xQwNt38wGctgnAgVVkOTR2kySC61HkbjDU8ipP3gBLDPfqeWrZAHbZpMoiSddFTb2uKm0RW_5XTEVedShExWjt7_bhHvSqyg8qJD3kjWTQyDWbeTHOkhdaxfTPYfQRy3GZU_2oQ-u/s1600/Slide7.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFVI-xQwNt38wGctgnAgVVkOTR2kySC61HkbjDU8ipP3gBLDPfqeWrZAHbZpMoiSddFTb2uKm0RW_5XTEVedShExWjt7_bhHvSqyg8qJD3kjWTQyDWbeTHOkhdaxfTPYfQRy3GZU_2oQ-u/s320/Slide7.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Here is the important step for this installation, Select SQL Server PowerPivot for SharePoint and Click Next to proceed further.&lt;br /&gt;
&lt;br /&gt;
In this step Optionally you can select Add SQL Server database relation service engine to this installation in case if you want add this server as a content database to the SharePoint farm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7cvG-f6iOtHCVWHlX400hoFibdj3hyphenhyphenlo2J487u0nmT6RCeDxOTKJXTjh0z5Rp4-FRXKa6htgB_6puxqOlkCrJXEbAzv1G-vNR0ZxnvyXgBBB9LtBhaaV8hgmSzplRsuxKMslRL8EJOOs/s1600/Slide8.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7cvG-f6iOtHCVWHlX400hoFibdj3hyphenhyphenlo2J487u0nmT6RCeDxOTKJXTjh0z5Rp4-FRXKa6htgB_6puxqOlkCrJXEbAzv1G-vNR0ZxnvyXgBBB9LtBhaaV8hgmSzplRsuxKMslRL8EJOOs/s320/Slide8.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Next to proceed. If required you can change the default directory path. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU_m0VVb9F5RLCFQS6x4V7Mikzl94vOSJ-Tu23BBDKnT8erj0oRaQERKdWHkw3dErcv3DHFhcvowXLY3bFehOH61XSdu0xXFLGxzV5NohJmH3W4JY9Gw7ZsvCmPcv2gxuXQ0Xe32V0wq8b/s1600/Slide9.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU_m0VVb9F5RLCFQS6x4V7Mikzl94vOSJ-Tu23BBDKnT8erj0oRaQERKdWHkw3dErcv3DHFhcvowXLY3bFehOH61XSdu0xXFLGxzV5NohJmH3W4JY9Gw7ZsvCmPcv2gxuXQ0Xe32V0wq8b/s320/Slide9.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHpHej3kHtIbI3i-W89JWoQc8mCgeER7Cea_O15SN6-VeBmMw9inbbs0YSGm4JIRh9lQbW-_cg0KF-QtPp3iuExZJcW6-qWSQQMhc2i060ECyahJTd4-QTuFGmPHBxm8bOvn_JbEit2L0u/s1600/Slide10.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHpHej3kHtIbI3i-W89JWoQc8mCgeER7Cea_O15SN6-VeBmMw9inbbs0YSGm4JIRh9lQbW-_cg0KF-QtPp3iuExZJcW6-qWSQQMhc2i060ECyahJTd4-QTuFGmPHBxm8bOvn_JbEit2L0u/s320/Slide10.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Next to Proceed further.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkWOf1chTNypcIuvIu-nw8dh8lGruJE7GQ0rAl5ZhzfZmAMeTJIJJyBE1J3UqVTTRVBDFSi1LPDi5o5hWdKr-jLkzB-P6NopYcAvyJTkP3Iq7hO4_gKp3k4YG_Oic03lluYBvSu-ixFoFz/s1600/Slide11.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkWOf1chTNypcIuvIu-nw8dh8lGruJE7GQ0rAl5ZhzfZmAMeTJIJJyBE1J3UqVTTRVBDFSi1LPDi5o5hWdKr-jLkzB-P6NopYcAvyJTkP3Iq7hO4_gKp3k4YG_Oic03lluYBvSu-ixFoFz/s320/Slide11.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
This is another important step in this installation, make sure that the powerpivot instance is available on the server as its mandatory to install only on named instance called "POWERPIVOT".&lt;br /&gt;
&lt;br /&gt;
Click Next to proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUQLrzbr9X-MrJLnVRQy5oJHy6SQnK1HZdnsSb62AsCY0fjAIFMy4TrR65HU4NPVGfKWHjqFbX3-_sle6W_s5pktVbuWExIc0GQVwRYzmnYXK1BKEpsdExZ21capMzmOjxi676eZBWiW_h/s1600/Slide12.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUQLrzbr9X-MrJLnVRQy5oJHy6SQnK1HZdnsSb62AsCY0fjAIFMy4TrR65HU4NPVGfKWHjqFbX3-_sle6W_s5pktVbuWExIc0GQVwRYzmnYXK1BKEpsdExZ21capMzmOjxi676eZBWiW_h/s320/Slide12.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNWmKd_mf_v3XaTYzrZy7_vqMRhfLHyRMtBhF2JNYJnvon1yjXw7HT90iu82LbqOMbSoZTW3N3aQhY7mD94BoH7LFyigKYCjw89JDXIwblI6S5YJfoGYGzCkS2VSWh8qfeBMlsjPUH04yc/s1600/Slide13.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNWmKd_mf_v3XaTYzrZy7_vqMRhfLHyRMtBhF2JNYJnvon1yjXw7HT90iu82LbqOMbSoZTW3N3aQhY7mD94BoH7LFyigKYCjw89JDXIwblI6S5YJfoGYGzCkS2VSWh8qfeBMlsjPUH04yc/s320/Slide13.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Next to Proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz2f13MvbKAlpUaG2JXpVvDAJoGdC1e8jW1ws5WBJsXHLLz2G0ELK78bPCXlkN3iRiy6PBmURD0i5eGN63GKko7TTVhwrt7uvNwSygmTda0iBBxSTxNRv1ntpBr1SlGVj_6qZmjuWMTcB2/s1600/Slide14.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz2f13MvbKAlpUaG2JXpVvDAJoGdC1e8jW1ws5WBJsXHLLz2G0ELK78bPCXlkN3iRiy6PBmURD0i5eGN63GKko7TTVhwrt7uvNwSygmTda0iBBxSTxNRv1ntpBr1SlGVj_6qZmjuWMTcB2/s320/Slide14.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Provide the domain account on which you want to run this service and Click Next to continue. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfsqCdfWo3mFO4V5WbRRsQ9E7feub6cNodbllhZcrLQsa9wC_Xb9CsS5JNJW3ebUXQVOpY3w0S30b4ld6B8EjjjlTn_3G4rI621QYTi3x7dYoZ65XB1Xf8RErq7eBQWp3r23zbX7C6PGMv/s1600/Slide15.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfsqCdfWo3mFO4V5WbRRsQ9E7feub6cNodbllhZcrLQsa9wC_Xb9CsS5JNJW3ebUXQVOpY3w0S30b4ld6B8EjjjlTn_3G4rI621QYTi3x7dYoZ65XB1Xf8RErq7eBQWp3r23zbX7C6PGMv/s320/Slide15.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If you want to run the instance in Mixed Mode, provide the password for the SA account. Add the current user to the administrators list. Click Next to proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiK6EOU1L6Laa1qEXta8K8VAPCNDFak4DMumBhOFZLV9b39Bxm-gEE-i-ZBa31CCAeZKbWwKLBB7oqulyOYIJlKzaDi3Esb0kFIDLdQpljl7V3dkEEAwYVQmJ7tRyxeCU4U1ArvjrCuzd/s1600/Slide16.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiK6EOU1L6Laa1qEXta8K8VAPCNDFak4DMumBhOFZLV9b39Bxm-gEE-i-ZBa31CCAeZKbWwKLBB7oqulyOYIJlKzaDi3Esb0kFIDLdQpljl7V3dkEEAwYVQmJ7tRyxeCU4U1ArvjrCuzd/s320/Slide16.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Add the current user to the Administrators list and click Next to continue.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZlX5xyPclckxl-nXsjLt5lzQf-yiQkOb2K107LDyQ3QTy3icyOXqMrE8l7n8s4SkOd5kyuzNy_UibQZohrAuhbancbWyLhLKhYpm9ro7Eud1GtN8OGDxcHuzSZ3EXHqlLYHhtkXPXdVQk/s1600/Installation_Steps_Blog_17.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZlX5xyPclckxl-nXsjLt5lzQf-yiQkOb2K107LDyQ3QTy3icyOXqMrE8l7n8s4SkOd5kyuzNy_UibQZohrAuhbancbWyLhLKhYpm9ro7Eud1GtN8OGDxcHuzSZ3EXHqlLYHhtkXPXdVQk/s320/Installation_Steps_Blog_17.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Click Next to proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_KhfPCQJw7z1-flvhog6OSV-JRa_WbXNGA7-ZBBlUR93pfVYgZopIAUf1BD6Y5Frc9sVdBAjGUWqDnX-4Eb6GuqV2vxhGtdsTuLvYpB3n6MK0bkqCC6ooxPpGk4_RS1B0hWCow6Qwy_8L/s1600/Slide18.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_KhfPCQJw7z1-flvhog6OSV-JRa_WbXNGA7-ZBBlUR93pfVYgZopIAUf1BD6Y5Frc9sVdBAjGUWqDnX-4Eb6GuqV2vxhGtdsTuLvYpB3n6MK0bkqCC6ooxPpGk4_RS1B0hWCow6Qwy_8L/s320/Slide18.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Next to Proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqeYrLU7ljpKNtmp_EsKnX5q_f6FjLA7Zt92WpNDcNKMLKR1b0So-Ci_-qBcUBdqeXt80J9UVnpHkYZh8VUcZEkOjXzcXClv7Rpjmj-uL7WEsnxrnqZyngaa8MbwpChKOJTeFQdWmLm0kQ/s1600/Slide19.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqeYrLU7ljpKNtmp_EsKnX5q_f6FjLA7Zt92WpNDcNKMLKR1b0So-Ci_-qBcUBdqeXt80J9UVnpHkYZh8VUcZEkOjXzcXClv7Rpjmj-uL7WEsnxrnqZyngaa8MbwpChKOJTeFQdWmLm0kQ/s320/Slide19.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Click Next to Proceed with the Installation.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHRIqEQwQJ8E1KiXR65wpUGG6KTwkTDUgBRkMaOe25rqSf1s2oXJLDPVRngFPQDBdEIczFcW9BSs4vGozdcJu8ITwIxEn4bLld6isWWAepi4YRSNTuZ9KgTcyqGvL-YESbqfGMwBX12p8h/s1600/Slide20.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHRIqEQwQJ8E1KiXR65wpUGG6KTwkTDUgBRkMaOe25rqSf1s2oXJLDPVRngFPQDBdEIczFcW9BSs4vGozdcJu8ITwIxEn4bLld6isWWAepi4YRSNTuZ9KgTcyqGvL-YESbqfGMwBX12p8h/s320/Slide20.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwSvCdj6vsLCZTgJuubrvfV3ZsrRmX-vEAKdOt6ak_ZZkV-HGF9Gd-NkU9ICiqrkhwe22fjBNydmHn2zenFqd1wqYEGqrch9T-s2RcGttaXVLB8My7gx3Xyaqs6O8Xa-yksFvvf-MJa_HI/s1600/Installation_Steps_Blog_21.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwSvCdj6vsLCZTgJuubrvfV3ZsrRmX-vEAKdOt6ak_ZZkV-HGF9Gd-NkU9ICiqrkhwe22fjBNydmHn2zenFqd1wqYEGqrch9T-s2RcGttaXVLB8My7gx3Xyaqs6O8Xa-yksFvvf-MJa_HI/s320/Installation_Steps_Blog_21.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDwlCMemIVynC1e4Lo3oeHk1ytkTjT1mnWZDvSEhM1Ve2GEklXUj42-3nuZuEI6BL8W2_etceditWdAjJ0vM1IDWpRJfpDL_zaS2YRwJGcR1kjQ24RRMvsWj4sOjAS67_mJEzod4aACS8C/s1600/Installation_Steps_Blog_21.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
With this we completed installing SQL Server PowerPivot for SharePoint. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-2: &lt;/b&gt;&lt;b&gt;Configuring the Analysis Service in SharePoint Mode:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Configure the Excel Services Domain Account which is configured in the SharePoint as part of the Administrator in the Analysis Service. In order to add this account, Open Management Studio &amp;amp; connect to the Analysis Service (VMServer20\PowerPivot)&lt;b&gt; -&amp;gt; &lt;/b&gt;Right Click and select properties and Add the account as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifpS74dE3chTRgNilq0xHGrL2rk3srM04SNalHaNKKMhlHj52jxoTlXHJ8rVHt-GX6xoJjUfBYcmmnuhmbzBWLHBhwdSVyZ_anZvgKfnqQBDcqgtgM7S1O56ggzlU_yonQAGdq-o5FApfQ/s1600/Slide38.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifpS74dE3chTRgNilq0xHGrL2rk3srM04SNalHaNKKMhlHj52jxoTlXHJ8rVHt-GX6xoJjUfBYcmmnuhmbzBWLHBhwdSVyZ_anZvgKfnqQBDcqgtgM7S1O56ggzlU_yonQAGdq-o5FApfQ/s320/Slide38.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-3: Installing PowerPivot Add-In for SharePoint:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Download and install Powerpivot Add-In for SharePoint on all the Web Front End Servers as well as on App Servers. First start with installing on the Central Admin Server by running &lt;b&gt;&lt;span class="label"&gt;spPowerPivot.msi&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3XlOg6tE1vnAjH2GnMsKBLO24O7KA52gp83TzQN84k7-2SpLz-G2PFtM5m0tokG3ZJei-B1JYI-MPu6M2bTnBvN8e1J53bwH2_3JAwfuBYw5Fu7B8haLejPdihF2FTLM_Kid39gYHYqpS/s1600/Installation_Steps_Blog_23.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3XlOg6tE1vnAjH2GnMsKBLO24O7KA52gp83TzQN84k7-2SpLz-G2PFtM5m0tokG3ZJei-B1JYI-MPu6M2bTnBvN8e1J53bwH2_3JAwfuBYw5Fu7B8haLejPdihF2FTLM_Kid39gYHYqpS/s320/Installation_Steps_Blog_23.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Next to Continue.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj45DsXQ7fMXkdFXrlw_5-BB45lJfD9tmzm9rgOX9g_Yw-00-mNUhPs8rcyhT7DrrET47XD_VAzrIDwKQT7cHj5jJCMnvP622ufYzkB0rD-SsAyGeHY7gfE34P0arV3kMglT3lO8LNr-2gg/s1600/Installation_Steps_Blog_24.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj45DsXQ7fMXkdFXrlw_5-BB45lJfD9tmzm9rgOX9g_Yw-00-mNUhPs8rcyhT7DrrET47XD_VAzrIDwKQT7cHj5jJCMnvP622ufYzkB0rD-SsAyGeHY7gfE34P0arV3kMglT3lO8LNr-2gg/s320/Installation_Steps_Blog_24.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Accept the License Terms and Click Next to Continue.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKoPYUc1eE3SPEO4h8xpiOXAIOtwEH9NqeKZGFrpUTXX2qXSFq3NRkxkgq74VbIRhHH9Ijeu7YCPSbbVic-D0X3ACj5MN0ONPjFIuc4AkXIfZzZxflXcc47flGtjkrFVkL80mQIdiTIHHa/s1600/Installation_Steps_Blog_25.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKoPYUc1eE3SPEO4h8xpiOXAIOtwEH9NqeKZGFrpUTXX2qXSFq3NRkxkgq74VbIRhHH9Ijeu7YCPSbbVic-D0X3ACj5MN0ONPjFIuc4AkXIfZzZxflXcc47flGtjkrFVkL80mQIdiTIHHa/s320/Installation_Steps_Blog_25.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Next to Continue.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9EUEizZoCVPdrZKMZwmm7MKium5q090ohHBhoKQ2Da8uecCbcp_wSXLrCS35sGicD9-6BkmkW-g7c8zxwNqRy0nir7hYQ90qsO5ap8HndPobUNOp3jzM_yQtJ-ZkMA5997xFegTNzGy7z/s1600/Installation_Steps_Blog_26.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9EUEizZoCVPdrZKMZwmm7MKium5q090ohHBhoKQ2Da8uecCbcp_wSXLrCS35sGicD9-6BkmkW-g7c8zxwNqRy0nir7hYQ90qsO5ap8HndPobUNOp3jzM_yQtJ-ZkMA5997xFegTNzGy7z/s320/Installation_Steps_Blog_26.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Install to initiate the installation.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9EUEizZoCVPdrZKMZwmm7MKium5q090ohHBhoKQ2Da8uecCbcp_wSXLrCS35sGicD9-6BkmkW-g7c8zxwNqRy0nir7hYQ90qsO5ap8HndPobUNOp3jzM_yQtJ-ZkMA5997xFegTNzGy7z/s1600/Installation_Steps_Blog_26.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9EUEizZoCVPdrZKMZwmm7MKium5q090ohHBhoKQ2Da8uecCbcp_wSXLrCS35sGicD9-6BkmkW-g7c8zxwNqRy0nir7hYQ90qsO5ap8HndPobUNOp3jzM_yQtJ-ZkMA5997xFegTNzGy7z/s320/Installation_Steps_Blog_26.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6hCrMPwhjtkWOM5GUz0-l32g4Wd88WZ0kD5hLlzb9qzPQuU7mBXcTEUjXs3C0ntTU35sF49Y4t6N1EurtbBqaFBDL18OucLIgn_nQOl1_xuJdf90GJGBO46dQAq6XKOYgzzO_oI5UQIyW/s1600/Installation_Steps_Blog_27.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6hCrMPwhjtkWOM5GUz0-l32g4Wd88WZ0kD5hLlzb9qzPQuU7mBXcTEUjXs3C0ntTU35sF49Y4t6N1EurtbBqaFBDL18OucLIgn_nQOl1_xuJdf90GJGBO46dQAq6XKOYgzzO_oI5UQIyW/s320/Installation_Steps_Blog_27.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Finish to complete the installation of PowerPivot Add-In for SharePoint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-4: Configuring PowePivot for SharePoint&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Open the PowerPivot for SharePoint 2013 Configuration tool in Central Admin Server as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1kiTpac1i-UB_GZqX0zQb6D4f6K_60J7qGzIB8raWW9fLcQ3a0b3lMNm6sgq490k1oHxk9pXDOBqj1tHnV_VA_-yiySXu3fOF9JD3hif5bVY8lg2mSv_1PsYCog382_FrDjl-mgMB_BG9/s1600/Installation_Steps_Blog_28.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1kiTpac1i-UB_GZqX0zQb6D4f6K_60J7qGzIB8raWW9fLcQ3a0b3lMNm6sgq490k1oHxk9pXDOBqj1tHnV_VA_-yiySXu3fOF9JD3hif5bVY8lg2mSv_1PsYCog382_FrDjl-mgMB_BG9/s320/Installation_Steps_Blog_28.GIF" width="248" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyU8_VnI-XuDibG7jUnFVL8JbSbhvLq-PzXSDWeDbgqp1vHzQ-qWvcyI_f5f-EAXWmERvh_I4R1OzV0GsbLN2OaIei1USwgs5pecBFJHZTFlLbxCdivwUFE8s7gAlbyYPrFaYdN4XIW0Cj/s1600/Installation_Steps_Blog_29.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyU8_VnI-XuDibG7jUnFVL8JbSbhvLq-PzXSDWeDbgqp1vHzQ-qWvcyI_f5f-EAXWmERvh_I4R1OzV0GsbLN2OaIei1USwgs5pecBFJHZTFlLbxCdivwUFE8s7gAlbyYPrFaYdN4XIW0Cj/s320/Installation_Steps_Blog_29.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Select Configure or Repair Powerpivot and Click OK to continue.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJt6jeOkqz4Jo3cacPr5J1gRq3p77fQbsh5ddD8yZA4ftbgErKHM6WabTpCGITkb5jJCI9smYIi1AUFCitDndWQ2gL6_1Me0Ss5Z14S3_fC-bbolKxLbGDCdCFwamTDTz83zeczw4_EgQ2/s1600/Installation_Steps_Blog_30.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJt6jeOkqz4Jo3cacPr5J1gRq3p77fQbsh5ddD8yZA4ftbgErKHM6WabTpCGITkb5jJCI9smYIi1AUFCitDndWQ2gL6_1Me0Ss5Z14S3_fC-bbolKxLbGDCdCFwamTDTz83zeczw4_EgQ2/s320/Installation_Steps_Blog_30.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Provide the Default Domain Account, Content Database and PowerPivot database instance. Click on Validate to verify the configurations.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1aelCdXPIJ806ufUTQu1NdIp-Q9K7ImkyRaKzRjZAEpRr2kdaHvrlMMZ8VYS8Ud4FNxp1l5HCsojtuUWeADmY6FJBMNXTbBIrbMF430p-DB5pD-5SpKAy0hfcnmUQLXQMunx2ZEavo-SX/s1600/Slide31.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1aelCdXPIJ806ufUTQu1NdIp-Q9K7ImkyRaKzRjZAEpRr2kdaHvrlMMZ8VYS8Ud4FNxp1l5HCsojtuUWeADmY6FJBMNXTbBIrbMF430p-DB5pD-5SpKAy0hfcnmUQLXQMunx2ZEavo-SX/s320/Slide31.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Run to provision the PowerPivot Service Application in the Farm.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaQ-hP2TWdzVunV6Wh0Kq3KdIr-CkUHezxz6T5miviKRFMtKr7IytsduM5Du-t0ACu0qBD634rvjl0nzPuv9Y1wgu5lK0zs5eNBu964qVDCRNB8WW_7MyQLAfoVuO8xXekbp-7HeSdyi3N/s1600/Slide34.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaQ-hP2TWdzVunV6Wh0Kq3KdIr-CkUHezxz6T5miviKRFMtKr7IytsduM5Du-t0ACu0qBD634rvjl0nzPuv9Y1wgu5lK0zs5eNBu964qVDCRNB8WW_7MyQLAfoVuO8xXekbp-7HeSdyi3N/s320/Slide34.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
With this we completed the configurations. Now we are ready to verify the same.&lt;br /&gt;
Now you can install the PowerPivot Add-In on all the other servers in the SharePoint farm.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-5: Verifying the Configurations&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can verify the configurations by Browsing to the Central Admin -&amp;gt; Manage Service Applications&lt;b&gt;, &lt;/b&gt;You will see new Service Application called "Default PowerPivot Service Application" as shown&lt;b&gt; &lt;/b&gt;in the following image: &lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPv33dofhoxfqicjnzJOLmsLMaok_A2G-doQxmuPH97YfOgHR9_ebqH2s_LBcvbB3gpNwnfD4pjvsrNpe_yELVZ_7vkop5l2TGn3i-sL0GbiT8GOkgudYrsCmND41tMkjTgfn88TBQlNLY/s1600/Slide35.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPv33dofhoxfqicjnzJOLmsLMaok_A2G-doQxmuPH97YfOgHR9_ebqH2s_LBcvbB3gpNwnfD4pjvsrNpe_yELVZ_7vkop5l2TGn3i-sL0GbiT8GOkgudYrsCmND41tMkjTgfn88TBQlNLY/s320/Slide35.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Click on Excel Service and Select Manage from the ribbon.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Wp15d_hZEfGH4Yl0mSUxYQTFgxNycRg1Va42hiWQfryEuRRRhYdlf1pJchWMoYvDQYeuiYnMopaHnkrnCUV5xT-3mv_5SUCKaLDhG8AjE06VWKsr_uDDljO_4Lk7b2gkMLItNg8bH3G9/s1600/Slide36.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Wp15d_hZEfGH4Yl0mSUxYQTFgxNycRg1Va42hiWQfryEuRRRhYdlf1pJchWMoYvDQYeuiYnMopaHnkrnCUV5xT-3mv_5SUCKaLDhG8AjE06VWKsr_uDDljO_4Lk7b2gkMLItNg8bH3G9/s320/Slide36.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Select Data Model Settings and you will see the PowerPivot instance of the Analysis Service. &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg28TURD3tV_TlDjj_afPZOVZsnN5xmuOaUxQTaWtL0XF4Zc5IWPMthFpBDVt9E4fd1obY127HEG3ESZMtZ-p0LbQzgVYBf7NNtPfCWooXcHnL4CRgoLY0dGsSJgBVJrfa7fzA4pCfPzhFq/s1600/Slide37.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg28TURD3tV_TlDjj_afPZOVZsnN5xmuOaUxQTaWtL0XF4Zc5IWPMthFpBDVt9E4fd1obY127HEG3ESZMtZ-p0LbQzgVYBf7NNtPfCWooXcHnL4CRgoLY0dGsSJgBVJrfa7fzA4pCfPzhFq/s320/Slide37.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Now lets open a sample excel workbook which is published to excel and try slicing the data.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghzqHweJlCeTGf7Mic1Li6ASIGLhAegX76FuJIKjsXDHvrcB-EInlWzLjQgY-wdbRyhVIcF8_TRCJM9IZkjGtG4mArsrSYjI1B8xYjfHiCF69E9nxe1JXlSevT6UGpFyWVWbYNLGKSqzKH/s1600/Installation_Steps_Blog_39.GIF" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghzqHweJlCeTGf7Mic1Li6ASIGLhAegX76FuJIKjsXDHvrcB-EInlWzLjQgY-wdbRyhVIcF8_TRCJM9IZkjGtG4mArsrSYjI1B8xYjfHiCF69E9nxe1JXlSevT6UGpFyWVWbYNLGKSqzKH/s320/Installation_Steps_Blog_39.GIF" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
With this we completed Installing, Configuring &amp;amp; Validating the SQL Server PowerPivot for SharePoint 2013.&lt;br /&gt;
&lt;br /&gt;
Let me know your comments!!!&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2kjoMTxPrIf6QmUkEBnJAtSCL1mhyphenhyphenen-qWD0VTdHccaPQv48DYmJltfEfaRqIGEkDC6OXe3T3SbODcL3JTAQE0qthwykwCju7PBG-KN2FTWweg7IKSBUiZ1XOrrrsO7nt3mtyskHrpuG6/s72-c/Topology.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Configuring Office Web Apps 2013 with SharePoint 2013</title><link>http://sridharbabuk.blogspot.com/2013/01/configuring-office-web-apps-2013-with.html</link><category>Office Web Apps 2013</category><category>SharePoint 2013</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Thu, 24 Jan 2013 05:20:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-8489048806367111583</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Here is my first blog in this year which I want to provide my hands on experience on how to configure Office Web Apps 2013 with SharePoint 2013 on Premises.&lt;br /&gt;
&lt;br /&gt;
As we know that the Office Web Apps is now a separate product which allows users to view and optionally update office documents using a supported browsers. This not only works on desktop but also supported on mobile devices likes Windows Phones, iPhone and iPads too.&lt;br /&gt;
&lt;br /&gt;
Office Web Apps 2013 comes with improved features and architecture which allows Office Web Apps to provide view capability for Exchange Server 2013 &amp;amp; Lync 2013. In blog post I will explain how we can install &amp;amp; configure the same for SharePoint 2013 on premises environment especially for the developers &amp;amp; SharePoint Administrators.&lt;br /&gt;
&lt;br /&gt;
Here is how my existing SharePoint Farm which I use for development purpose and to simulate the QA/Prod environments:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGlMC9g4Q9JCd27pxlhqoZXAGsDOOEQ_xT-q44FOSURrmeP-8_-B4b0nUce7IFtibD3EvG9FFRkrhO8uDkn6Q1qMNZyjWpMIH9zwzcpGqpXLvGyMb1nHDM46p6Rs40fkqgQLumz_J6xZsE/s1600/SP2013_Sandbox.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGlMC9g4Q9JCd27pxlhqoZXAGsDOOEQ_xT-q44FOSURrmeP-8_-B4b0nUce7IFtibD3EvG9FFRkrhO8uDkn6Q1qMNZyjWpMIH9zwzcpGqpXLvGyMb1nHDM46p6Rs40fkqgQLumz_J6xZsE/s320/SP2013_Sandbox.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In this blog I am assuming that the SharePoint farm is available to configure Office Web Apps (OWA). Here are the Simple 9 steps to configure the same:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-1: Preparing Server with Prerequisite Software&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
There are certain prerequisites for installing OWA and make sure the following prerequisites are installed on the server in our case it is VMServer21.&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=256560" target="_blank"&gt;.Net Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=244693" target="_blank"&gt;Powershell 3.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=236954" target="_blank"&gt;KB2592525&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Step-2: Preparing Server with Prerequisite Configurations&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are certain features to be enabled for OWA installtion, we can enable that using following PowerShell script in the Windows PowerShell Command prompt. Make sure that the you are opening PowerShell prompt as administrator.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;For Windows Server 2008 R2&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Import the necessary module before by executing the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-1"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_b5c6e4f6-610a-4268-be7c-4420d87848af"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;Import-Module ServerManager
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
And then run the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-2"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_aba30b9f-4adc-44f7-9a5b-61cb6e2cdf65"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;Add-WindowsFeature Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,&lt;/pre&gt;
&lt;pre&gt;Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,&lt;/pre&gt;
&lt;pre&gt;Web-Security,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,&lt;/pre&gt;
&lt;pre&gt;Web-Dyn-Compression,Web-Mgmt-Console,Ink-Handwriting,IH-Ink-Support
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;For Windows Server 2012&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-3"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_729b35d1-9a62-4f8b-bf20-8b053a1d1a0f"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,&lt;/pre&gt;
&lt;pre&gt;Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,&lt;/pre&gt;
&lt;pre&gt;Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,&lt;/pre&gt;
&lt;pre&gt;Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,&lt;/pre&gt;
&lt;pre&gt;Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
After completion of executing the command restart the machine.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-3: Installing Office Web Apps Server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Download Office Web App Server from &lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=256561" target="_blank"&gt;Microsoft Download Center&lt;/a&gt; and you can extract the files from the image using any image extract softwares like &lt;a href="http://www.magiciso.com/download.htm" target="_blank"&gt;MagicISO&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
After extracting the files from the image, run Setup.exe.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-4: Installing Language Packs for Office Web Apps Server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Download necessary language packs from the &lt;a href="http://go.microsoft.com/fwlink/p/?LinkId=263945" target="_blank"&gt;Microsoft Download Center&lt;/a&gt; and run the &lt;b&gt;WebAppsServerLP_en-us_x64.exe &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-5: Creating Office Web Apps Server Farm&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Planning Office Web Apps Server farm is very important based on how we are going to leverage, based on that we have to plan for load balancer, Number of servers, Certificates and so on. In this blog post we are going to see how to configure single server farm on HTTP.&lt;br /&gt;
&lt;br /&gt;
Before configuring make sure that there no applications running on a default port as it is going to be used by OWA. To create a OWA single server farm execute the following PowerShell Command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-4"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_4079da2f-e0e3-417a-882e-362813a88f68"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;New-OfficeWebAppsFarm –InternalURL "http://vmserver21" –AllowHttp -EditingEnabled
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Lets see what are these parameters means:&lt;br /&gt;
&lt;br /&gt;
-InternalURL - is the name of the server that runs OWA, in our example it is vmserver21. In case of multiple server farm we have to provide the DNS configured in load balancer.&lt;br /&gt;
&lt;br /&gt;
-AllowHttp - configures the farm to support HTTP.&lt;br /&gt;
&lt;br /&gt;
-EditingEnabled - enables editing in office web apps especially when you want to edit the document from SharePoint.&lt;br /&gt;
&lt;br /&gt;
Here is how it looks after running the command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzT7ziNKtovc3CegCuH0dsuhZ2HEfBUDBHj-Cuy5oAfNuPoifqS_mZHQht2l2mf-vTMCcX_l5mUk_EP8O0-RuZhlQYTS2Q7to9CbIXlMDNN0E6hps6ziS1vfOqXFmHqS0jB6T-82rSttN2/s1600/OWA_NewOfficeWebAppsFarm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzT7ziNKtovc3CegCuH0dsuhZ2HEfBUDBHj-Cuy5oAfNuPoifqS_mZHQht2l2mf-vTMCcX_l5mUk_EP8O0-RuZhlQYTS2Q7to9CbIXlMDNN0E6hps6ziS1vfOqXFmHqS0jB6T-82rSttN2/s320/OWA_NewOfficeWebAppsFarm.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Tp1CvNXvCi8aOoLuxbk87iSFxuz0WgsHL5B2UPqhyAzOJhi_XmtKI1q9MWZqQMckHhCkLfhGzTXJ_RdQGH5Cuf-zmJDSfvEY1cRUTAH8lJ9p51LmnaPdfegTf-Kuo3x6EMRQSmKdLuQ8/s1600/OWA_NewOfficeWebAppsFarm_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Step-6: Verifying Office Web Apps Server Farm&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can validate whether Office Web Apps Server Farm by executing the following URL:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;http://vmserver21/hosting/discovery
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
and gives an xml output as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAtiaI5kTgxaQBfxv-KIdANtevMB4CeJmcNA5gxaDhrSyc5XQVebq1eeVxbzPphtu7W-E7nAZbQEzaMIz4Za6J030vfNFLUV3gK_qRF1bulCD6L6e3DnbTy3uKg2JNAlUhcswylJLxMaGT/s1600/OWA_Verification_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAtiaI5kTgxaQBfxv-KIdANtevMB4CeJmcNA5gxaDhrSyc5XQVebq1eeVxbzPphtu7W-E7nAZbQEzaMIz4Za6J030vfNFLUV3gK_qRF1bulCD6L6e3DnbTy3uKg2JNAlUhcswylJLxMaGT/s320/OWA_Verification_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In case if you are not getting XML output as shown in the above picture and getting error related registering httpmodules, execute the following command to register ASP.Net framework 4.0 with IIS:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-5"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_78f8e134-3d5f-4546-bb42-f10044cd4cb9"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;%systemroot%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -iru&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Following image shows the output of this command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU1XaYQ4ow4zHD520Fv9HLXmaQcHSdRh06-uW-4gQ1N807W6PC7One8Pw7sA-9Vw62i1xDC1VwSUCp1dLKasMuKzCW7NyG2IcwVg7dBehw7WPJxHRCiBHxe0ZToD12KtmoCvaKB2UQZL6R/s1600/OWA_IIS_Framework_Config_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU1XaYQ4ow4zHD520Fv9HLXmaQcHSdRh06-uW-4gQ1N807W6PC7One8Pw7sA-9Vw62i1xDC1VwSUCp1dLKasMuKzCW7NyG2IcwVg7dBehw7WPJxHRCiBHxe0ZToD12KtmoCvaKB2UQZL6R/s320/OWA_IIS_Framework_Config_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
After completing this command don't forget to reset IIS by executing IISRESET command in the same command prompt.&lt;br /&gt;
&lt;br /&gt;
With these steps we completed installing OWA 2013 and Configuring it successfully. Now lets see how to configure SharePoint to use OWA.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-7: Configuring SharePoint 2013 to use OWA&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We can configure SharePoint to use OWA by executing following Powershell Commandlet in Central Admin Server:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-1"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_bfb84439-2263-4037-9428-0200a1a88568"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;New-SPWOPIBinding -ServerName vmserver21.global.com -AllowHTTP
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Following screenshot shows the output of the commandlet:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghWuhHVpscjc5xdRk9rrd_cEpuUMvAGKCBRS7rSZBprRtL4PWcPy6BRQhSwDSe-sFQ3JFc1quq4bqQ2SOA7kg31SJMK9woZ_Iklx540U6Kq6QUhtOcdDGbnjiHdq46m6WleF-gpCgyWXNs/s1600/OWA_SP2013_Configuration_Success_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghWuhHVpscjc5xdRk9rrd_cEpuUMvAGKCBRS7rSZBprRtL4PWcPy6BRQhSwDSe-sFQ3JFc1quq4bqQ2SOA7kg31SJMK9woZ_Iklx540U6Kq6QUhtOcdDGbnjiHdq46m6WleF-gpCgyWXNs/s320/OWA_SP2013_Configuration_Success_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Office Web Apps Server uses the concept of zones to determine which URL 
(internal or external) and which protocol (HTTP or HTTPS) to use when it 
communicates with the host, which in this case isSharePoint 2013. By default, 
SharePoint Server 2013 uses the &lt;b&gt;internal-https&lt;/b&gt; zone. Verify 
that this is the current zone by running the following command:&lt;br /&gt;
&lt;br /&gt;
Get-SPWOPIZone&amp;nbsp;
&lt;br /&gt;
&lt;br /&gt;
In case if the output shows other than internal-http as we are using http protocol to communicate with OWA Server, you can set it by executing the following commandlet:&lt;br /&gt;
&lt;br /&gt;
Set-SPWOPIZone&amp;nbsp; "internal-http"&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step-8: Configuring SharePoint 2013 Security Token Service to allow OAuth Over HTTP protocol&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To use Office Web Apps withSharePoint 2013 over HTTP in a test environment, you 
must set AllowOAuthOverHttp to &lt;b&gt;True&lt;/b&gt;, Otherwise Office Web Apps 
will not work.&lt;br /&gt;
&lt;br /&gt;
$config = (Get-SPSecurityTokenServiceConfig)&lt;br /&gt;
$config.AllowOAuthOverHttp = $true&lt;br /&gt;
&lt;div class="codeSnippetContainer" id="code-snippet-8"&gt;
&lt;div class="codeSnippetContainerCodeContainer"&gt;
&lt;div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_0e7ab99a-1970-4eca-80f2-3f42b7f137f3"&gt;
&lt;div style="color: black;"&gt;
&lt;pre&gt;$config.Update()
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&amp;nbsp;The output of these commands is as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsyFn8e79MZ2MmTZOePFwF5AaZZnjUI_m8GH0KhcDFVr2I6GVCvxQAZemj5uEtMLf1T69_cwFJND6RuVyilaa4w_ap6qi5NphJ7xqe-z02xI6J09LCCxJUJHC-V3E_k0ciJO8115gkH1pa/s1600/SecurityTokenService_Config_Change_1_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsyFn8e79MZ2MmTZOePFwF5AaZZnjUI_m8GH0KhcDFVr2I6GVCvxQAZemj5uEtMLf1T69_cwFJND6RuVyilaa4w_ap6qi5NphJ7xqe-z02xI6J09LCCxJUJHC-V3E_k0ciJO8115gkH1pa/s320/SecurityTokenService_Config_Change_1_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Step-9:&amp;nbsp; Final Step is Testing OWA is Working&lt;/b&gt; &lt;b&gt;as expected&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The final step is to test the OWA is working as expected, in order to do this step open the existing site in a browser and upload couple of office documents and following image demonstrates the same: &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9j8CrLDfp9re69eGxEKWkO6bXVdMHOa1q1mdawOPIjhhMKY_SkwR6HA8p4YIExsXTAPEOuqUzANb2H5zCd_nbXR2S2DLDUJ7H8qktwMHiSnBUrNHF-54VEv9r1kOlVL8PxPdhTSitoeZh/s1600/SP2013_OWA_Success_2_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9j8CrLDfp9re69eGxEKWkO6bXVdMHOa1q1mdawOPIjhhMKY_SkwR6HA8p4YIExsXTAPEOuqUzANb2H5zCd_nbXR2S2DLDUJ7H8qktwMHiSnBUrNHF-54VEv9r1kOlVL8PxPdhTSitoeZh/s320/SP2013_OWA_Success_2_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
You can test by clicking on the document which opens within the browser and don't forget to look at the URL as the SharePoint uses WOPI interface (/_layouts/15/WopiFrame.aspx) to render the document&lt;br /&gt;
&lt;br /&gt;
With this we successfully completed the configuration of SharePoint 2013 to Use Office Web Apps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGlMC9g4Q9JCd27pxlhqoZXAGsDOOEQ_xT-q44FOSURrmeP-8_-B4b0nUce7IFtibD3EvG9FFRkrhO8uDkn6Q1qMNZyjWpMIH9zwzcpGqpXLvGyMb1nHDM46p6Rs40fkqgQLumz_J6xZsE/s72-c/SP2013_Sandbox.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>SQL Server 2012 - Plan Guides</title><link>http://sridharbabuk.blogspot.com/2012/10/sql-server-2010-plan-guides.html</link><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Thu, 11 Oct 2012 06:34:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-8001695847051073875</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
You will be wondering what is this new item called "Plan Guides" in Programmability section of a database in SSMS 2012 as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcJa1McCE_iJrmj6kluAwiaKrfTB9_KxgR9XeS6cHAE5isCGgeP6kYSnNjidE-3HJospvTvSZyoHFmahODVXXHoGACo0De2t9QlVWYbIKYMxaicsE-i-JEO70_HPRAxGnNGh7Se2FUKVIs/s1600/PlanGuides_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcJa1McCE_iJrmj6kluAwiaKrfTB9_KxgR9XeS6cHAE5isCGgeP6kYSnNjidE-3HJospvTvSZyoHFmahODVXXHoGACo0De2t9QlVWYbIKYMxaicsE-i-JEO70_HPRAxGnNGh7Se2FUKVIs/s320/PlanGuides_1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
SQL Server 2012 comes with many features, Plan Guides is one among them.&lt;br /&gt;
&lt;br /&gt;
Plan Guides will let you optimize the performance of the query without modifying the actual query. In most of the real time scenarios the queries might be embedded in the application code itself and we will not have flexibility to modify/optimize the query within the application, this feature definitely helpful in these kind of scenarios.&lt;br /&gt;
&lt;br /&gt;
There are three types of Plan Guides:&lt;br /&gt;
&lt;b&gt;SQL Plan Guide&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This matches the queries which are executed in standalone statements.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Object Plan Guide&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This matches the queries which are executed within the contest of User Defined Functions, Stored Procedures and Triggers.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;b&gt;Template Plan Guide&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This matches the standalone queries which can be parametrized to a specified form. &lt;br /&gt;
&lt;br /&gt;
Note that the Plan Guide can be created either by using Management Studio or Transact SQL. I will Transact SQL for all the examples.&lt;br /&gt;
&lt;br /&gt;
Lets take an example to see how SQL Plan Guide works.Let starts with exploring the &lt;a href="http://technet.microsoft.com/en-us/library/ms179880.aspx" target="_blank"&gt;sp_create_plan_guide&lt;/a&gt; procedure.&lt;br /&gt;
&lt;br /&gt;
sp_create_plan_guide procedure is used to create a plan guide for associating the hints to the queries. This built in procedure takes following parameters:&lt;br /&gt;
&lt;br /&gt;
@name -&amp;gt; To provide the name for the Plan Guide&lt;br /&gt;
@stmt -&amp;gt; SQL Query Statement where you want to associate the hints&lt;br /&gt;
@type -&amp;gt; To Specify the type of the Plan Guide (SQL | Object| Template)&lt;br /&gt;
@module_or_batch -&amp;gt; To Specify the object name from the SQL Statement&lt;br /&gt;
@params -&amp;gt; To specify query parameters (it is must in case of Type is Template)&lt;br /&gt;
@hints -&amp;gt; To specify the hint Option&lt;br /&gt;
&lt;br /&gt;
Now lets create a table and load with dummy data using the following script:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#aabbcc"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Create Table dbo.Employee&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Empno int Identity(1,1) Primary Key,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; EmpName varchar(200) Not Null,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DOB DateTime Not Null,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Salary float&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- Load Dummy Data for Testing&lt;br /&gt;
INSERT INTO dbo.Employee (EmpName, DOB, Salary)&lt;br /&gt;
SELECT TOP 10000&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; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Enames.FullName,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAST(RAND(CHECKSUM(NEWID()))*3653.0+CAST(CAST('01-Jan-1950' as DateTime) - CAST('01-Jan-1900' as DateTime) AS INT) AS DATETIME) AS Date,&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; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAST(RAND(CHECKSUM(NEWID())) * 10000 as Float)&lt;br /&gt;
FROM sys.all_columns T1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
CROSS JOIN sys.all_columns T2&lt;br /&gt;
CROSS APPLY (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT EName AS 'data()'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT TOP (CAST(RAND(CHECKSUM(NEWID())) * T1.column_id * T2.column_id as INT) %2 + 1) EName &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FROM (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT EName = CAST('Sridhar ' AS VARCHAR(200)) UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Kolapalli ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'David ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Robert ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Rajesh ' UNION ALL&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Naresh ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Babu ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Thomas ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Rich ' UNION ALL &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Anthony' UNION ALL&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT 'Richard'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ) ENames ORDER BY NEWID()) u2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR XML PATH('') &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
) Enames(FullName) &lt;br /&gt;
&lt;br /&gt;
-- Create a Index on Employee Name&lt;br /&gt;
Create Index Indx_Emp_Name on dbo.Employee(EmpName)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Lets execute a sample query and see how is the execution plan for the same query:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#aabbcc"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;SELECT count(*) from dbo.Employee E1 INNER JOIN dbo.Employee E2 on E1.EmpName = E2.EmpName&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
If you closely observe the execution plan for this query, it uses Merge Join.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6-mpvBJ4aZh7X9jYOcufMzCF3aRr0PI2UM5kYWEn2V8S_ADjZDAdn2oWt95fE484LCyF12fHmqWBcF-ZeOSvvA1JKkIx0Umqu325PisD_m8WazUvnwW8tmaoXVaFxIuj6du1UTric3pbm/s1600/Execution_Plan_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="72" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6-mpvBJ4aZh7X9jYOcufMzCF3aRr0PI2UM5kYWEn2V8S_ADjZDAdn2oWt95fE484LCyF12fHmqWBcF-ZeOSvvA1JKkIx0Umqu325PisD_m8WazUvnwW8tmaoXVaFxIuj6du1UTric3pbm/s320/Execution_Plan_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now lets see how we can use the Plan Guides to add the hint to the query without modifying the underlying query. Lets create the plan guide with the following TSQL snippet:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#aabbcc"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;EXEC sp_create_plan_guide &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @name =&amp;nbsp; N'SriSampleGuide1',&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @stmt = N'SELECT count(*) from dbo.Employee E1 INNER JOIN dbo.Employee E2 on E1.EmpName = E2.EmpName',&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @type = N'SQL',&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @module_or_batch = NULL,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @params = NULL,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @hints = N'OPTION (TABLE HINT( E1, FORCESEEK))'&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
This plan guides adds table hint to the query statement mentioned as one of the parameter. Now let try executing the same and see the execution plan, it uses the Table Hint provided in the plan guide.&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#aabbcc"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;SELECT count(*) from dbo.Employee E1 INNER JOIN dbo.Employee E2 on E1.EmpName = E2.EmpName&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
The execution plan for this query looks as:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdfK-eOLuAAtUaaVDhqhZSNWEvd4tSXwKW99LS45seNUuA77Kt4-CR6dnz9I-G-U2gez1wCxksjTlZ8G73YLSKvhyphenhyphen0IVbzq_cdYooOLMNuK754qJ-KuHTURjERQexiHtjad8Y3yZ41jEDz/s1600/Execution_Plan_2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdfK-eOLuAAtUaaVDhqhZSNWEvd4tSXwKW99LS45seNUuA77Kt4-CR6dnz9I-G-U2gez1wCxksjTlZ8G73YLSKvhyphenhyphen0IVbzq_cdYooOLMNuK754qJ-KuHTURjERQexiHtjad8Y3yZ41jEDz/s320/Execution_Plan_2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Note that this sample is only to show how we leverage use plan guides.&lt;br /&gt;
&lt;br /&gt;
Plan Guide is one of the good feature in SQL Server 2012 which helps in optimizing the query without modifying the underlying query. I am sure every application developer appreciate this feature.&lt;br /&gt;
&lt;br /&gt;
Note that creating plan guide either on Object/SQL/template removes the query plan from the plan cache which might impact the overall query performance and also the performance depends on the plan guide too. I will suggest to use plan guide cautiously.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcJa1McCE_iJrmj6kluAwiaKrfTB9_KxgR9XeS6cHAE5isCGgeP6kYSnNjidE-3HJospvTvSZyoHFmahODVXXHoGACo0De2t9QlVWYbIKYMxaicsE-i-JEO70_HPRAxGnNGh7Se2FUKVIs/s72-c/PlanGuides_1.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>SQL Server 2012 - FileStream Enhancements</title><link>http://sridharbabuk.blogspot.com/2012/09/sql-server-2012-filestream-enhancements.html</link><category>FileStream</category><category>SQL Server 2012</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Wed, 5 Sep 2012 04:33:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-5017083215490022609</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This post explains the FileStream Concept and its Enhancements in SQL Server 2012 with an example. At a high level this post covers following topics:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;What is FileStream&lt;/li&gt;
&lt;li&gt;How to Configure FileStream&lt;/li&gt;
&lt;li&gt;An Example to leverage FileStream&lt;/li&gt;
&lt;li&gt;FileStream Enhancements in SQL Server 2012&lt;/li&gt;
&lt;/ul&gt;
First we will look at what is FileStream. In Short FileStream is the ability to store unstructured data like documents, images on the file system but still be managed by SQL server, which means these files are part of Database Managment activities like Backup &amp;amp; Restore.&lt;br /&gt;
&lt;br /&gt;
By Default FileStream is Disabled for database server instance. This feature can be configured during the SQL Server Installation or even post Installation. Following steps explain on how we can enable &amp;amp; configure FileStream.&lt;br /&gt;
&lt;br /&gt;
Open SQL Server Configuration Manager by Clicking Start -&amp;gt; All Programs -&amp;gt; Microsoft SQL Server 2012 -&amp;gt;&amp;nbsp; Configuration Tools Folder -&amp;gt; SQL Server Configuration Manager&lt;br /&gt;
&lt;br /&gt;
In the SQL Server Configuration Manager console highlight the SQL Server Services as shown in the picture&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSIGj8ZRCjC-mtaseNYsN8ctvsKgDlhdHDNTzondSn90mrciQprPojdtF6_iQIHa_DU5uV2kPWSgpU5XOd9cVkfAvKT0lNQDyvwrtvaXNK4xqjjh6JFOQEbL-7UQu9rggHaFbhgFPH6NY7/s1600/FileStream_0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ug9GCA6wPA-gkMcHMvk32Xdd1tAPUqjEY4PdMLRNGPJWOG1Zph7ZFHO1dGofrksMjqsuo_NykxjXeC6uIBMjSK5m_2TlYJ4ateapfdPfi8OcGOByn54KIb0UQ45LtqDt4184J1Gx_7KE/s1600/FileStream_0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ug9GCA6wPA-gkMcHMvk32Xdd1tAPUqjEY4PdMLRNGPJWOG1Zph7ZFHO1dGofrksMjqsuo_NykxjXeC6uIBMjSK5m_2TlYJ4ateapfdPfi8OcGOByn54KIb0UQ45LtqDt4184J1Gx_7KE/s320/FileStream_0.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Select the SQL Server instances in the right pane for which you want to enable FILESTREAM, Right click on the server and select properties as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiEjzNXzK7siei0J4NQw3Rxt8kJR-uGnSPoAMGRIQRaX7Kbs7VTU7vFZBgTkc-sM0QUrTPYYAWmgS6VfE-qQDuR74z1Sr6rhA5pwwr-SUWKkATTOnvP_YSgbz5nkcKMjbc-yy2xzFu2Vf/s1600/FileStream_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRiEjzNXzK7siei0J4NQw3Rxt8kJR-uGnSPoAMGRIQRaX7Kbs7VTU7vFZBgTkc-sM0QUrTPYYAWmgS6VfE-qQDuR74z1Sr6rhA5pwwr-SUWKkATTOnvP_YSgbz5nkcKMjbc-yy2xzFu2Vf/s320/FileStream_1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In the property window select FileStream Tab as shown below&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGRNY7R2JtUSq3TvYpCG-mP-ebKHST_1Zyy6TJSFeNNmOjR9k6p0iH03_yJs3s_ilM44bTA4xNuzIb2nPd4YbLOQuDBjeBusrMZGF6Mg7D4nUWMgg_lNlpoaQlqdRjx6VdJaWBBLV-hryg/s1600/FileStream_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGRNY7R2JtUSq3TvYpCG-mP-ebKHST_1Zyy6TJSFeNNmOjR9k6p0iH03_yJs3s_ilM44bTA4xNuzIb2nPd4YbLOQuDBjeBusrMZGF6Mg7D4nUWMgg_lNlpoaQlqdRjx6VdJaWBBLV-hryg/s320/FileStream_2.png" width="273" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Check the FILESTREAM For Transact-SQL Access to enable FileStream and then select Enable FILESTREAM For File I/O Access so that we can read and write data from Windows. And also type the name of the Windows share name "FileStreamShare" or you can even leave it to default value as shown below&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyO5VfdvRriu_3oewCWq-6UNbhxny2-eWHpMONrupC340dvcJDD_h6qcSf_sRtWAshTZs10hyphenhyphenOgFZo6078vfGKUK_WALd-oEUqyVy4Dp2zn6OCOC3FaMNr7HfS0dWyDjoFl5i216m2kAeQ/s1600/FileStream_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyO5VfdvRriu_3oewCWq-6UNbhxny2-eWHpMONrupC340dvcJDD_h6qcSf_sRtWAshTZs10hyphenhyphenOgFZo6078vfGKUK_WALd-oEUqyVy4Dp2zn6OCOC3FaMNr7HfS0dWyDjoFl5i216m2kAeQ/s320/FileStream_3.png" width="274" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If there is a need for the remote clients to access the data then we need to enable Allow Remote Clients Access To FILESTREAM Data otherwise leave it to default. Now go ahead click Apply followed by OK button.&lt;br /&gt;
&lt;br /&gt;
With this we completed enabling FileStream on a SQL Server Instance. Now we will see in the following steps on we can enable this feature for a particular database.&lt;br /&gt;
&lt;br /&gt;
Let us start with creating a Database called "FileStreamSample" using following script which is generated in SSMS (SQL Server Management Studio).&lt;br /&gt;
&lt;br /&gt;
To execute the script, Open SSMS by Clicking Start -&amp;gt; All Programs -&amp;gt; Microsoft SQL Server 2012 -&amp;gt; SQL Server Management Studio and then copy &amp;amp; paste following code. Now execute the code either by pressing F5 key in the keyboard or by clicking on execute icon.&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#ffffff"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;CREATE DATABASE [FileStreamSample]&lt;br /&gt;
&amp;nbsp;CONTAINMENT = NONE&lt;br /&gt;
&amp;nbsp;ON&amp;nbsp; PRIMARY &lt;br /&gt;
( NAME = N'FileStreamSample', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\FileStreamSample.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )&lt;br /&gt;
&amp;nbsp;LOG ON &lt;br /&gt;
( NAME = N'FileStreamSample_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\FileStreamSample_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)&lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET COMPATIBILITY_LEVEL = 110&lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET ANSI_NULL_DEFAULT OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET ANSI_NULLS OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET ANSI_PADDING OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET ANSI_WARNINGS OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET ARITHABORT OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET AUTO_CLOSE OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET AUTO_CREATE_STATISTICS ON &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET AUTO_SHRINK OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET AUTO_UPDATE_STATISTICS ON &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET CURSOR_CLOSE_ON_COMMIT OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET CURSOR_DEFAULT&amp;nbsp; GLOBAL &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET CONCAT_NULL_YIELDS_NULL OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET NUMERIC_ROUNDABORT OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET QUOTED_IDENTIFIER OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET RECURSIVE_TRIGGERS OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET&amp;nbsp; DISABLE_BROKER &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET AUTO_UPDATE_STATISTICS_ASYNC OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET DATE_CORRELATION_OPTIMIZATION OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET PARAMETERIZATION SIMPLE &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET READ_COMMITTED_SNAPSHOT OFF &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET&amp;nbsp; READ_WRITE &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET RECOVERY FULL &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET&amp;nbsp; MULTI_USER &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET PAGE_VERIFY CHECKSUM&amp;nbsp; &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample] SET TARGET_RECOVERY_TIME = 0 SECONDS &lt;br /&gt;
GO&lt;br /&gt;
USE [FileStreamSample]&lt;br /&gt;
GO&lt;br /&gt;
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [FileStreamSample] MODIFY FILEGROUP [PRIMARY] DEFAULT&lt;br /&gt;
GO&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Once Database is created, Select the database and click on "New Query" Icon as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhot_dPoyqswhEGR_PhF064HVS2Z58cSNJ3bQDkWt3tO9MYrLhlRIa8vXwFHgSjEZoD46DfyMaOPqhkOtYsv_YQ1yNoe8GVc5lb2yIKzoWxUBPFNkYrz1QTBGHwChmo1Y3E6s4Yq3IQyGwD/s1600/FileStream_4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhot_dPoyqswhEGR_PhF064HVS2Z58cSNJ3bQDkWt3tO9MYrLhlRIa8vXwFHgSjEZoD46DfyMaOPqhkOtYsv_YQ1yNoe8GVc5lb2yIKzoWxUBPFNkYrz1QTBGHwChmo1Y3E6s4Yq3IQyGwD/s320/FileStream_4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now we have to configure the file stream access level for the database "FileStreamSample" by executing the following Transact-SQL code. &lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#ffffff"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;EXEC sp_configure filestream_access_level, 2&lt;br /&gt;
RECONFIGURE&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
There are three access level options for FileStream as described below:&lt;br /&gt;
&lt;br /&gt;
0 -&amp;gt; No FileStream Support&lt;br /&gt;
1 -&amp;gt; Enable FileStream for Transact-SQL access only&lt;br /&gt;
2 -&amp;gt; Enable FileStream for Transact-SQL as well as Win32 Streaming access&lt;br /&gt;
&lt;br /&gt;
In our example we are going with the last option as to provide support for Win32 Streaming.&lt;br /&gt;
&lt;br /&gt;
Now In Query Editor, type the above Transact-SQL code and then click on Execute as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK9C4RlRZnyWaBS6WDM_4dEDVUgw9zp-umXfl9gl2s_QVG6i3kU9tNvha19O9pNt4E3Pf8bkPjzBdcXIU1W-9L6M7q-fl3Q1wjoQB8a49T94zPOe_kdC_dU0TOQHOh7Jlh54De744TTEsq/s1600/FileStream_5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK9C4RlRZnyWaBS6WDM_4dEDVUgw9zp-umXfl9gl2s_QVG6i3kU9tNvha19O9pNt4E3Pf8bkPjzBdcXIU1W-9L6M7q-fl3Q1wjoQB8a49T94zPOe_kdC_dU0TOQHOh7Jlh54De744TTEsq/s320/FileStream_5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The final step is to configuring File Group &amp;amp; Database Files to store FileStream Data. Execute the following commands in the Query Editor:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#ffffff"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Use Master&lt;br /&gt;
ALTER DATABASE [FileStreamSample]&lt;br /&gt;
ADD FILEGROUP [FileStreamSampleFG] CONTAINS FILESTREAM &lt;br /&gt;
GO&lt;br /&gt;
ALTER DATABASE [FileStreamSample]&lt;br /&gt;
ADD FILE ( &lt;br /&gt;
NAME = N'FileStreamSample_FilestreamFile',&lt;br /&gt;
FILENAME = N'C:\FileStreamSample_FilestreamFile'&lt;br /&gt;
) TO FILEGROUP&lt;br /&gt;
[FileStreamSampleFG]&lt;br /&gt;
GO&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
We can also create the File Group and Files using Managment Studio Interface itself but its always easy to go with Transact-SQL Script.&lt;br /&gt;
&lt;br /&gt;
Now lets create a table using following SQL Script:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#ffffff"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Create Table [FSExample]&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [fid] uniqueidentifier ROWGUIDCOL&amp;nbsp; NOT NULL Unique,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [sid] [int] NOT NULL Unique,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [fcontent] [varbinary](max) FileStream NULL&lt;br /&gt;
)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
There are certain point we need to keep in mind while designing tables containing FileStream. Here are few important point:&lt;br /&gt;
&lt;br /&gt;
1. FileStream columns must be accompanied by a corresponding &lt;span class="input"&gt;uniqueidentifier&lt;/span&gt; ROWGUID column. &lt;br /&gt;
2. These kind of table must also be accompanied by a unique index&lt;br /&gt;
3. ROWGUIDCOL is required if we need to access FileStream data using Win32 APIs&lt;br /&gt;
4. FileStream File Groups and Containers should reside on volumes other than the OS &lt;br /&gt;
&lt;br /&gt;
All the DML operations are pretty much same as any other table. Following are some of the examples:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" bordercolor="#ffffff"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Insert Into FSExample values (newid(), 1, CAST('my first content' as varbinary(max)))&lt;br /&gt;
&lt;br /&gt;
Select * from FSExample&lt;br /&gt;
&lt;br /&gt;
Update FSExample &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Set fcontent = CAST('Updated content' as varbinary(max))&lt;br /&gt;
WHERE sid = 1&lt;br /&gt;
&lt;br /&gt;
Select * from FSExample&lt;br /&gt;
&lt;br /&gt;
Delete FROM FSExample WHERE sid=1&lt;br /&gt;
&lt;br /&gt;
Select * from FSExample&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
While executing these commands keep an eye on folder "C:\FileStreamSample_FilestreamFile", you will notice news files after insert operations. &lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;span style="font-size: large;"&gt;FileStream Enhancements in SQL Server 2012&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
There are many enhancements to FileStream in SQL Server 2012. Some of them are:&lt;br /&gt;
&lt;br /&gt;
Ability to support multiple containers &amp;amp; file groups&lt;br /&gt;
Ability to specify the max size for the containers&lt;br /&gt;
Ability to add multiple storage devices for scalability&lt;br /&gt;
&lt;br /&gt;
You can refer to my previous post on GC related improvements @&lt;a href="http://sridharbabuk.blogspot.in/2012/08/sql-server-filestream-gc-made-easy.html" target="_blank"&gt; SQL Server FileStream GC Made Easy &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ug9GCA6wPA-gkMcHMvk32Xdd1tAPUqjEY4PdMLRNGPJWOG1Zph7ZFHO1dGofrksMjqsuo_NykxjXeC6uIBMjSK5m_2TlYJ4ateapfdPfi8OcGOByn54KIb0UQ45LtqDt4184J1Gx_7KE/s72-c/FileStream_0.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>SharePoint 2013 - Key Changes in Service Applications</title><link>http://sridharbabuk.blogspot.com/2012/09/sharepoint-2013-key-changes-in-service.html</link><category>SharePoint 2013</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Sun, 2 Sep 2012 22:36:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-7028115976211849429</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
There are few key changes to Service Applications with SharePoint 2013. Lets see what are these changes:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Web Analytics Service Application &lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Web Analytics Service Application is introduced in SharePoint 2010 and it is no 
more available as a Service Application in SharePoint 2013. It is fully 
integrated with Search Service Application.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Office Web Application&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Office Web Application is also introduced with SharePoint 2010 and it is no longer a Service Application in SharePoint 2013 and it is not even comes as a Separate Installable for SharePoint.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;App Management Service Application&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; App Management Service Application is a new feature in SharePoint 2013, this feature is very similar to Mobile App Store/Market place. This feature allows you to purchase an SharePoint Applications directly&amp;nbsp; from Microsoft Market Place and the licensing for these Applications are managed by the App Management Service.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Machine Translation Service Application&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Machine Translation Service is a new service application introduced with SharePoint 
2013 Preview. This Service App provides automatic machine translation of files or all the files within a Document Library or even Site. When the Machine Translation Service application processes a 
translation request, it forwards the request to a cloud-hosted machine 
translation service, where the actual translation work is performed.
&lt;br /&gt;
The Machine Translation Service application processes translation 
requests asynchronously and synchronously. Asynchronous translation 
requests are processed when the translation timer job executes.&lt;br /&gt;
&lt;br /&gt;
Machine Translation Service also includes a client object model (CSOM) 
that enables access to the Machine Translation Service API for online, 
on-premises, and mobile development.&lt;br /&gt;
&lt;br /&gt;
More details about this &lt;a href="http://msdn.microsoft.com/en-us/library/jj163145%28v=office.15%29.aspx" target="_blank"&gt;Service App&lt;/a&gt; is available at MSDN Article.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Work Management Service Application&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Work Management Service Application provides functionality to aggregate tasks to a central location.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Users get the possibility to view and track their to-dos and tasks.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Tasks can be cached to a users personal site.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Tasks can be aggregated from Exchange, Project Server and SharePoint. &lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>SQL Server FileStream GC Made Easy</title><link>http://sridharbabuk.blogspot.com/2012/08/sql-server-filestream-gc-made-easy.html</link><category>SQL Server 2012</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Mon, 27 Aug 2012 02:20:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-6117679166688831239</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In this post I want to explain FileStream System Procedures added in SQL Server 2012. Before jumping into this topic we will spend couple of mins to understand what is FileStream and the issues we might encounter with SQL Server 2008 R2 version?&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/gg471497.aspx" target="_blank"&gt;FileStream&lt;/a&gt; is the ability to store unstructured data like documents, images on the file system but still be managed by SQL server.&lt;br /&gt;
Here are some of the advantages:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Store and retrieve BLOBs together with relational data in a single data store&lt;/li&gt;
&lt;li&gt;Unstructured Data is included in backup and restore operations&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Crud operations on BLOBs and relation database occurs on the same DB Transactions&lt;/li&gt;
&lt;li&gt;NTFS File stytem is faster compared to SQL Server especially with the File Operations&lt;/li&gt;
&lt;li&gt;No limit on the file size but the applications can enforce this limit&lt;/li&gt;
&lt;li&gt;.Net APIs like &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.sqltypes.sqlfilestream.aspx" target="_blank"&gt;SQLFileStream &lt;/a&gt;can be leveraged to interact with FileStream Objects&lt;/li&gt;
&lt;/ul&gt;
By default this feature is disabled and can be enabled either by using SQL Statements or by Management Studio. I guess I am going out of this topic, lets come back.&lt;br /&gt;
&lt;br /&gt;
I am sure who ever leveraged FileStream feature in SQL Server 2008 or 2008 R2 might faced issues or might be looking for a better way for initiating Garbage Collection. There is an interesting blog on &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/post/FILESTREAM-garbage-collection.aspx" target="_blank"&gt;FileStream Garbage Collection&lt;/a&gt; and how it works.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
With SQL Server 2012 we have new set of procedures which helps us to initiate the &lt;a href="http://msdn.microsoft.com/en-us/library/gg492195.aspx" target="_blank"&gt;FileStream Garbage Collection&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;sp_filestream_force_garbage_collection:&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - This system procedure forces the garbage collector to run and delete unneeded files. The FileStream garbage collector runs automatically but if you want to call explicitly you can do it by using this procedure.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;sp_kill_filestream_non_transacted_handles&lt;/b&gt;:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - This system procedure helps you to close the non transaction FileStream handlers.&lt;br /&gt;
&lt;br /&gt;
These two System Procedures are very useful for any Database team leveraging FileStream Feature.&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Visual Representation of SQL Joins</title><link>http://sridharbabuk.blogspot.com/2012/08/visual-representation-of-sql-joins.html</link><category>SQL Joins</category><category>SQL Queries</category><category>SQL Server</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 14 Aug 2012 09:09:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-4160308541057470777</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
When I am browsing through net today, I found an interesting article on &lt;a href="http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins" target="_blank"&gt;Visual Representation of SQL Joins&lt;/a&gt;. I always draw this image in most of my SQL Trainings to explain Joins. I am so surprised to see this image :)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" src="http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Venn Diagrams are the easiest way to explain different types of joins like Inner, Left, Right and so on.&lt;br /&gt;
&lt;br /&gt;
It also helps us to easily understand the Set Operations like Union, Intersect and Minus in any Relational Database Queries.&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>SharePoint Server 2013 Installation and Configuration</title><link>http://sridharbabuk.blogspot.com/2012/08/sharepoint-server-2013-installation-and.html</link><category>SharePoint 2013</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 14 Aug 2012 07:54:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-3603413771612149146</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In this article I will show how to install &amp;amp; configure SharePoint 2013 Preview.&lt;br /&gt;
&lt;br /&gt;
We can install SharePoint either on a Physical Server or an Virtual Box, In either of the case we have to make sure at least we have minimum Hardware &amp;amp; Software needs for SP 2013 as provided in the &lt;a href="http://technet.microsoft.com/en-us/library/cc262485%28v=office.15%29.aspx" target="_blank"&gt;technet &lt;/a&gt;article.&lt;br /&gt;
&lt;br /&gt;
In this article I am going to explain on how we can create a SharePoint 2013 Virtual Image for development/evaluation purpose only. We need the following software's to setup:&lt;br /&gt;
&lt;br /&gt;
1. &lt;a href="https://www.virtualbox.org/" target="_blank"&gt;Oracle Virtual Box&lt;/a&gt; or &lt;a href="https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/4_0" target="_blank"&gt;VM Player&lt;/a&gt;&lt;br /&gt;
2. &lt;a href="http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx" target="_blank"&gt;Windows Server 2012 Preview Download&lt;/a&gt;&lt;br /&gt;
3. &lt;a href="http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx" target="_blank"&gt;SQL Server 2012 Enterprise Edition Download &lt;/a&gt;&lt;br /&gt;
4. &lt;a href="http://technet.microsoft.com/en-us/evalcenter/hh973397.aspx" target="_blank"&gt;SharePoint 2013 Preview&lt;/a&gt; Download &lt;br /&gt;
&lt;br /&gt;
While I am writing this blog on how I setup my virtual server using Oracle Virtual Box, I found another blog "&lt;a href="http://www.shailwx.com/2012/07/sharepoint-2013-development-image-part-1-creating-a-virtual-machine/" target="_blank"&gt;SharePoint 2013 Development Image&lt;/a&gt;" where the blogger explained in much granular level. I will suggest to refer to this on how to setup SharePoint 2013.&lt;br /&gt;
&lt;br /&gt;
I should have found this blog even before I capture the images during my setup which might saved lots of time for me :)&lt;br /&gt;
&lt;br /&gt;
The only difference I did during my SharePoint setup is installing Pres-Requisites manually one by one as my environment is in Isolated network with no access to Internet (for some security reasons). I might have done this though the &lt;a href="http://technet.microsoft.com/en-us/library/cc262485%28v=office.15%29.aspx#section7" target="_blank"&gt;command prompt&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Following are some of the screen shots:&lt;br /&gt;
&lt;br /&gt;
1.SharePoint 2013 Central Administration Screen Shot&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRtV5lgql-95e4Puofu6P9djSOG7Y7ikeSA79fr2fAklh9P7M7PGwbdXmS3pzOOBQy5k0Ujo2tfaIzHvZbpdupIHEDZ_4wpCv-tbMhA_HBbn7dXtIrfP4WP19R2e6PItvReLX9-sTvFKMH/s1600/SP2013_CA_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRtV5lgql-95e4Puofu6P9djSOG7Y7ikeSA79fr2fAklh9P7M7PGwbdXmS3pzOOBQy5k0Ujo2tfaIzHvZbpdupIHEDZ_4wpCv-tbMhA_HBbn7dXtIrfP4WP19R2e6PItvReLX9-sTvFKMH/s320/SP2013_CA_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
2. SharePoint 2013 Site Collection Screen Shot&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfAdh3G0uso9HLxOk2pLb_X70ubrU80o1csz3pHjlydtNmWut5oxGffi-6kTflEFKSwBu5h3HOgvgC8djjU0TsGKadlO6HyfeRNdhUvdnDiHcoiEB53BQSRUtbJG-Ew4J9FZ-VG0CL6CVI/s1600/SP2013_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfAdh3G0uso9HLxOk2pLb_X70ubrU80o1csz3pHjlydtNmWut5oxGffi-6kTflEFKSwBu5h3HOgvgC8djjU0TsGKadlO6HyfeRNdhUvdnDiHcoiEB53BQSRUtbJG-Ew4J9FZ-VG0CL6CVI/s320/SP2013_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
I found one interesting spelling mistake in the setting page as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4bEpzJOSPu6atGyHfZ7VoS_EUjGHzxgwJZGPUJAspg-tEENYbenmgiXASrrMiUy57ANPgYdwNi4KkcheR8Ib38D5iVrcIrYFY76QZX4EDsEkdL2YbjWDF8btEwlmunQYR-OondcNFRpb/s1600/SP2013_Spelling_Mistake.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO4bEpzJOSPu6atGyHfZ7VoS_EUjGHzxgwJZGPUJAspg-tEENYbenmgiXASrrMiUy57ANPgYdwNi4KkcheR8Ib38D5iVrcIrYFY76QZX4EDsEkdL2YbjWDF8btEwlmunQYR-OondcNFRpb/s320/SP2013_Spelling_Mistake.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimvtURCD_AL4-gyTB6RXMgvEEICZY6pzYF3-_fViKA8Sh6a82WFl9gVC6LER091mOktu7Cwu9fuxUlAXGWGNDqYufX7h68pEaTdUHXWqUsOmqx3WfAZ2qOvSWr4D3_JvLFf0cAzvP1uh10/s1600/SP2013_Spelling_Mistake.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Once I evaluate certain feature, I will share it in this blog.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRtV5lgql-95e4Puofu6P9djSOG7Y7ikeSA79fr2fAklh9P7M7PGwbdXmS3pzOOBQy5k0Ujo2tfaIzHvZbpdupIHEDZ_4wpCv-tbMhA_HBbn7dXtIrfP4WP19R2e6PItvReLX9-sTvFKMH/s72-c/SP2013_CA_1.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Windows Server 2012 - A Quick View</title><link>http://sridharbabuk.blogspot.com/2012/08/windows-server-2012-quick-view.html</link><category>Windows Server 2012</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 14 Aug 2012 07:13:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-4767379871811620661</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
When I am evaluating windows 8 especially its Metro UI, I was wondering how will be the Windows Server UI looks like. Recently I get a chance to Setup Windows Server 2012 Release Candidate for evaluating SQL Server 2012 features and SharePoint 2013 features.&lt;br /&gt;
&lt;br /&gt;
Here are the some of the screen shots on how Windows Server 2012 looks, A complete different experience compared to previous editions.&lt;br /&gt;
&lt;br /&gt;
1. Login Screen&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRi7UvwOxUjTPWKLHE5vFOIBOOF1o2rN7uAUHcyvCMrKzbX_oKD26ydcyx6X08LJI-YRwZnguFf1LeF1oE5w3bD5H5kfcLF1HW_CIbXShFVeK8owDHhySq9pUdDd4CBTCwp4kOasgA77dV/s1600/Windows_2012_Preview_1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRi7UvwOxUjTPWKLHE5vFOIBOOF1o2rN7uAUHcyvCMrKzbX_oKD26ydcyx6X08LJI-YRwZnguFf1LeF1oE5w3bD5H5kfcLF1HW_CIbXShFVeK8owDHhySq9pUdDd4CBTCwp4kOasgA77dV/s320/Windows_2012_Preview_1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
2. Landing Screen&amp;nbsp; &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIgnpMeZuevNWrQkE581VF4T9RdhwK5gS2_4-Ao7_A5FwhTb9uNn5r3zXJGpgn_ZWuWPRCavXVHdwxFTZw5gtYHOgV-3ZcWpNTM6Si6AvnXXa_d9BW7qOhLhmkWxZHtad2BlESlm-s9zZ/s1600/Windows_2012_Preview_2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEIgnpMeZuevNWrQkE581VF4T9RdhwK5gS2_4-Ao7_A5FwhTb9uNn5r3zXJGpgn_ZWuWPRCavXVHdwxFTZw5gtYHOgV-3ZcWpNTM6Si6AvnXXa_d9BW7qOhLhmkWxZHtad2BlESlm-s9zZ/s320/Windows_2012_Preview_2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
3. After installing other software's likeSQL Server 2012 &amp;amp; SharePoint 2013, you are going to see many more tiles for easy access as shown in the following image:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiezIQwqTDyRxlOy0SIzNLCPcoCsStTxCDnbcs77hEXAEzN4l0UgSnb6IKGgJ_321EwqZIM96k7wS9fQ28G4Di5q4S9Z7NAF_Jc_VC-wNlDXtv5G2JTEpDQnvs8Vm4bsilNMIjMoa9bPt-j/s1600/Windows_2012_Preview_2B.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiezIQwqTDyRxlOy0SIzNLCPcoCsStTxCDnbcs77hEXAEzN4l0UgSnb6IKGgJ_321EwqZIM96k7wS9fQ28G4Di5q4S9Z7NAF_Jc_VC-wNlDXtv5G2JTEpDQnvs8Vm4bsilNMIjMoa9bPt-j/s320/Windows_2012_Preview_2B.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;4. Server Manager Screen - Now it helps to do most of the admin operations from here itself.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu-pTXEDBqClusvAkqpEsCpA3IIIQ7Bj9qZ3np6P4IwQhM2BE08b3T1z3vzpDLo5PGsnRu814ZzOuNfpVVV3PHY9Yy9eYvogrkyD4FDKEodqalEeybslKGEg1GzsfogeF903UUCcnzDItQ/s1600/Windows_2012_Preview_3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu-pTXEDBqClusvAkqpEsCpA3IIIQ7Bj9qZ3np6P4IwQhM2BE08b3T1z3vzpDLo5PGsnRu814ZzOuNfpVVV3PHY9Yy9eYvogrkyD4FDKEodqalEeybslKGEg1GzsfogeF903UUCcnzDItQ/s320/Windows_2012_Preview_3.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
I liked the way Microsoft moving towards Metro UI for all their Apps including Windows Server!&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRi7UvwOxUjTPWKLHE5vFOIBOOF1o2rN7uAUHcyvCMrKzbX_oKD26ydcyx6X08LJI-YRwZnguFf1LeF1oE5w3bD5H5kfcLF1HW_CIbXShFVeK8owDHhySq9pUdDd4CBTCwp4kOasgA77dV/s72-c/Windows_2012_Preview_1.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Tracking Web Page Load and Site Speed Using Google Analytics</title><link>http://sridharbabuk.blogspot.com/2011/05/tracking-web-page-load-and-site-speed.html</link><category>Google Analytics</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Thu, 19 May 2011 21:29:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-5475493253468109130</guid><description>Recently I came across one of the interesting feature "Track Page Load Time" in Google Analytics APIs.&lt;br /&gt;&lt;br /&gt;This feature provides the metrics on the Page Load Time within the &lt;strong&gt;Site Speed Report&lt;/strong&gt;. This gives us a good opportunity to identifying slow loading pages and fix them for improving the Search Engine Ranking as load time is one of the factor in the page ranking.&lt;br /&gt;&lt;br /&gt;Following is the code snippet for capturing the Page Load Time:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; var _gaq = _gaq || [];&lt;br /&gt; _gaq.push(['_setAccount', 'UA-XXXXX-X']);&lt;br /&gt; _gaq.push(['_trackPageview'],&lt;strong&gt;['_trackPageLoadTime']&lt;/strong&gt;);&lt;br /&gt;&lt;br /&gt; (function() {&lt;br /&gt;   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;&lt;br /&gt;   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';&lt;br /&gt;   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);&lt;br /&gt; })();&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Note that by default Site Speed Reports are not enabled. The function call &lt;strong&gt;_gaq.push['_trackPageLoadTime'])&lt;/strong&gt; enables this report.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Windows 2008 R2 as a Virtual Server in Sun Virtual Box</title><link>http://sridharbabuk.blogspot.com/2011/01/windows-2008-r2-as-virtual-server-in.html</link><category>Sony Laptop</category><category>Sun Virtualbox 3.0</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Wed, 12 Jan 2011 23:17:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-1031410608115475409</guid><description>Recently I am trying to setup Windows 2008 R2 as a Virtual Server using &lt;a href="http://www.esoft.web.id/utilities/sun-xvm-virtualbox-304-free-virtualization-software.html"&gt;Sun Virtual Box &lt;/a&gt;on a Sony VAIO machine running Windows-7 64 bit version.&lt;br /&gt;&lt;br /&gt;When ever I start the Virtual Server its keep on throwing an error as shown below:&lt;br /&gt;&lt;br /&gt;"VT-x/AMD-V hardware acceleration has been enabled, but is not operational. You 64-bit guest will fail to detect a 64-bit CPU and will not be able to boot.&lt;br /&gt;&lt;br /&gt;Please ensure that you have enabled vt-x/AMD-V properly in the BIOS of your host computer."&lt;br /&gt;&lt;br /&gt;Then I restarted my machine and went into BIOS setting. Within the BIOS setting goto Intel Virtualization Technology (2nd Tab in BIOS setting), by default it is disable. We have to enable for this setting for making Virtualization to work.  &lt;br /&gt;&lt;br /&gt;I am using Sony VAIO model number &lt;span style="font-weight:bold;"&gt;PCG-71312L&lt;/span&gt;.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Silverlight 4 Training</title><link>http://sridharbabuk.blogspot.com/2011/01/silverlight-4-training.html</link><category>Silverlight 4</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 4 Jan 2011 20:11:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-8414696069966660652</guid><description>&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=24cea29e-042e-41c9-aa16-684a0ca5f5db"&gt;Silverlight 4 training&lt;/a&gt; is available for download from Microsoft download site.&lt;br /&gt;&lt;br /&gt;This training contains lots of Videos, Hands on labs which helps us to build the business applications.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Google Analytics on SharePoint</title><link>http://sridharbabuk.blogspot.com/2010/12/google-analytics-on-sharepoint.html</link><category>Google Analytics</category><category>MOSS 2007</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 28 Dec 2010 03:02:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-9142982243894976925</guid><description>Seeing the title we might feel that what is the big deal in using Google Analytics on SharePoint content management sites, yes we can get the page views by just embedding few lines of code provided by Google Analytics site.&lt;br /&gt;&lt;br /&gt;In the Current implementation we went with a different approach for providing flexibility to Content Authors to manage the Custom Variables, Events and so on...&lt;br /&gt;&lt;br /&gt;At a high level following image shows you the flow:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9dRRLEB1XTNzBOv4vqOybDEtbXP3p3YSSLJ_w9GjA2KpBvYWXz4DgVuosrI92v0p80_6sKdOsZTKsxlcKOv6EqqQ0TiNdYh9lpv_lZpEzChDLcFZ_4FHgPpMiY56_h6VaqsoSt-SeVQ9l/s1600/GA_Flow.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9dRRLEB1XTNzBOv4vqOybDEtbXP3p3YSSLJ_w9GjA2KpBvYWXz4DgVuosrI92v0p80_6sKdOsZTKsxlcKOv6EqqQ0TiNdYh9lpv_lZpEzChDLcFZ_4FHgPpMiY56_h6VaqsoSt-SeVQ9l/s320/GA_Flow.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5555724488301456610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At a high level we used following components in SharePoint which are the inputs to Google Analytics APIs&lt;br /&gt;&lt;br /&gt;1. Custom Site Columns&lt;br /&gt;&lt;br /&gt;    There a set of site columns created for the publishing pages. Few of them are grouped with the group name called "MetaTagGroup". All the columns which are part of this group will be converted to Metatags.&lt;br /&gt;&lt;br /&gt;We used a delegate control in SharePoint for generating these meta tags. For more info you can refer to the article on &lt;a href="http://www.mtelligent.com/journal/2008/1/11/using-the-delegate-control-to-add-meta-tags-to-sharepoint-pa.html"&gt;Meta tag generator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Following image shows the set of custom &lt;strong&gt;Site Columns&lt;/strong&gt; mapped to &lt;strong&gt;MetaTagGroup&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiQHZnb11735SO6VtbyQ6GKWQpX78zcs5QOvq0VHoT4CZfQCTRCIRRvGy5POAjyBoL3s5oJiL3fv3gkbjKSteidao7TO2k16wZ1zxq8hwj6Sy0MfbYCR5LbmdiieKzeIFI9jt1eZCR7NT9/s1600/SiteColumns.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 83px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiQHZnb11735SO6VtbyQ6GKWQpX78zcs5QOvq0VHoT4CZfQCTRCIRRvGy5POAjyBoL3s5oJiL3fv3gkbjKSteidao7TO2k16wZ1zxq8hwj6Sy0MfbYCR5LbmdiieKzeIFI9jt1eZCR7NT9/s320/SiteColumns.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5555723327946262354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the content author has a flexibility to define the values for these Site Columns or Publishing page attribute which inturn converted Meta Tags and then passed to Google Analytics variables as explained in the next step.&lt;br /&gt;&lt;br /&gt;2.  Additional javascript layer on Google Analytics APIs&lt;br /&gt;&lt;br /&gt;   An additional javascript functions are created to call respective Google Analytics APIs. And also this javascript contains an array to map Meta tag name with the GA variables, Scope and their slots as shown below:&lt;br /&gt;&lt;br /&gt;     var arrGAVariables = [&lt;br /&gt; {'GAVariable':'Segment-Type', 'MetaTagName':'Segment-Type', 'Scope':3, 'Slot':3},&lt;br /&gt; {'GAVariable':'Target-Audience', 'MetaTagName':'Target-Audience', 'Scope':1, 'Slot':1}, &lt;br /&gt; {'GAVariable':'Business-Technology', 'MetaTagName':'Business-Technology', 'Scope':3, 'Slot':4}&lt;br /&gt;       ];&lt;br /&gt;&lt;br /&gt;Please feel free to contact me to get more insights on this implementation.</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9dRRLEB1XTNzBOv4vqOybDEtbXP3p3YSSLJ_w9GjA2KpBvYWXz4DgVuosrI92v0p80_6sKdOsZTKsxlcKOv6EqqQ0TiNdYh9lpv_lZpEzChDLcFZ_4FHgPpMiY56_h6VaqsoSt-SeVQ9l/s72-c/GA_Flow.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Work around for Disable offline folder in Outlook Client</title><link>http://sridharbabuk.blogspot.com/2010/12/work-around-for-disable-offline-folder.html</link><category>Outlook 2007</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 28 Dec 2010 01:30:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-2126518751610167245</guid><description>Recently when I upgraded from outlook 2003 to outlook 2007 at work place (as part of Windows 7 upgradation - I know its too late to go with Win7, we cant help it as we have to adhere to corporate standards but not yet personal laptop :)), I am not able to make the existing pst file as the default for downloading the emails to local pst. &lt;br /&gt;&lt;br /&gt;Following are the steps to change the default data file&lt;br /&gt;&lt;br /&gt;1. Open Outlook Client -&gt; File Menu -&gt; Data File Management...&lt;br /&gt;&lt;br /&gt;Before this step I added the existing outlook 2003 pst file using File Menu -&gt; Open -&gt; Outlook Data File (browse to the existing pst file).&lt;br /&gt;&lt;br /&gt;2. Select the respective file in the data files popup window and click on "Set as Default" button.&lt;br /&gt;&lt;br /&gt;When we select this option, it promts us to create a new outlook data file or disable the offline folder before setting as default data file. &lt;br /&gt;&lt;br /&gt;Now to disable the offline use we can with the steps provided at the msdn article @&lt;br /&gt;&lt;br /&gt;&lt;a href="http://office.microsoft.com/en-us/outlook-help/disable-an-offline-folder-file-ost-HP005242264.aspx"&gt;http://office.microsoft.com/en-us/outlook-help/disable-an-offline-folder-file-ost-HP005242264.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now in the last step you will come to know that the "Disable Offline Use" button is always disable with out allowing us to change.&lt;br /&gt;&lt;br /&gt;Basicalling this complete issue happens when your pst file is in the "Outlook 97-2002 Personal Folders File" format. &lt;strong&gt;The easiest work arond&lt;/strong&gt; for this problem is by creating a &lt;strong&gt;new pst file&lt;/strong&gt; in Outlook Client 2007 and &lt;strong&gt;import &lt;/strong&gt;the content from the existing pst file. It took around 10 mins for 1.5 GB pst file.&lt;br /&gt;&lt;br /&gt;After importing you can make it as a default data file for downloading the emails to local pst file.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>Sql Server 2008 Standard Edition Installation on Win 2008 R2 Issue</title><link>http://sridharbabuk.blogspot.com/2010/04/sql-server-2008-standard-edition.html</link><category>SQL Server 2008</category><category>Win 2008 R2</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Thu, 29 Apr 2010 09:49:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-2133781188898345968</guid><description>In the process of setting up Project Server 2010 and SharePoint 2010 on Windows Server 2008 R2 faced a strange issue as shown in the following image. &lt;br /&gt;&lt;br /&gt;This instillation error occurred even though after verifying the Software and Hardware requirements as well as prerequisites for SQL Server 2008 installation with the initial steps of the installation.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimZ4Ni3iKBsTiCwQG43zvkxyQ9N2oyVqET5-POOtavr3cpROcKJ_yALoYcNaYzXtv-QnBsIgZoBy-kjcuQONTaDd2ya7K0DLc4lOB38axnFrBJ04Y4EBuqESrhXlP7AbYxyuN4NdaLFuRs/s1600/SQLIssue.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 170px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimZ4Ni3iKBsTiCwQG43zvkxyQ9N2oyVqET5-POOtavr3cpROcKJ_yALoYcNaYzXtv-QnBsIgZoBy-kjcuQONTaDd2ya7K0DLc4lOB38axnFrBJ04Y4EBuqESrhXlP7AbYxyuN4NdaLFuRs/s320/SQLIssue.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5465606040973434274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Error indicates that there is a network error while reading the file &lt;span style="font-weight:bold;"&gt;Sql21D7.tmp.msi&lt;/span&gt;. When I checked, this file is not available in the specified path. I even tried to install the Database engine with Full Text Search and Replication and also even tried installing only the Database engine, but still installation failed with the same error.&lt;br /&gt;&lt;br /&gt;I verified all the installation documents as well googled for this error with no luck. &lt;br /&gt;&lt;br /&gt;Finally, copied and pasted one of the msi file in the installation location (indicated in the error message) and renamed the file to &lt;span style="font-weight:bold;"&gt;Sql21D7.tmp.msi&lt;/span&gt;. After this change we are able to install the SQL Server 2008 successfully.&lt;br /&gt;&lt;br /&gt;Right now I am not sure where it will impact, i will post my findings after working on the server for next few days...</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimZ4Ni3iKBsTiCwQG43zvkxyQ9N2oyVqET5-POOtavr3cpROcKJ_yALoYcNaYzXtv-QnBsIgZoBy-kjcuQONTaDd2ya7K0DLc4lOB38axnFrBJ04Y4EBuqESrhXlP7AbYxyuN4NdaLFuRs/s72-c/SQLIssue.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>New Features in SQL Server 2008 R2</title><link>http://sridharbabuk.blogspot.com/2010/03/new-features-in-sql-server-2008-r2.html</link><category>SQL Server 2008 R2</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Fri, 12 Mar 2010 03:47:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-4587804315044514720</guid><description>Last two day I was in Microsoft SQL Server 2008 R2 HOL Session in Microsoft, India where we came to know the features and enhancements in SQL Server 2008 R2. Following are the feature set at a high level:&lt;br /&gt;&lt;br /&gt;1. Data Tier Application Project - Nice way of managing database projects and deployment approach...&lt;br /&gt; &lt;br /&gt;2. Master Data Services (Master Data Management) - Initial introduction of MDM within SQL server from MS&lt;br /&gt;&lt;br /&gt;3. StreamInsight&lt;br /&gt;&lt;br /&gt;4. PowerPivot - Self Analysis Service with in Excel 2010&lt;br /&gt;&lt;br /&gt;5. Complex Event Processing (CEP) &lt;br /&gt;&lt;br /&gt;6. Visual Studio 2010 feature for T-SQL&lt;br /&gt;&lt;br /&gt;7. Reporting Services Enhancements&lt;br /&gt;&lt;br /&gt;Hope I will get some time to evaluate these features and to use in our Design and architecture...</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>SharePoint 2010 Beta Installation Issue cum Resolution</title><link>http://sridharbabuk.blogspot.com/2009/12/sharepoint-2010-beta-installation-issue.html</link><category>SharePoint 2010</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 8 Dec 2009 05:45:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-5760853779916133076</guid><description>Recently when I am installing SharePoint 2010 Beta on one of our sandbox we faced following issue:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Microsoft.Office.Server.UserProfiles.UserProfileException: The request channel timed out while waiting for a reply after 00:00:19.9340000. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. ---&gt; System.TimeoutException: The request channel timed out while waiting for a reply after 00:00:19.9340000. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. ---&gt; System.TimeoutException: The HTTP request to 'https://myserver:32844/d31735f8a1b34f3a8263707181c7e298/ProfilePropertyService.svc' has exceeded the allotted timeout of 00:00:19.9990000. The time allotted to this operation may have been a portion of a longer timeout. ---&gt; System.Net.WebException: The operation has timed out&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After trying all possible approaches, following steps resolved the issue:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step:1&lt;/span&gt;&lt;br /&gt;Open the Channel.Config file available @&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebClients\Profile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step:2&lt;/span&gt;&lt;br /&gt;Replace the "sendTimeout="00:00:20" to "sendTimeout="00:01:20"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step:3&lt;/span&gt;&lt;br /&gt;Reset the IIS (Option as the wizard will restart the service)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Step:4&lt;/span&gt;&lt;br /&gt;Rerun the wizard, you can successfully complete the SharePoint 2010 installation.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Text Parsing in SQL Server</title><link>http://sridharbabuk.blogspot.com/2009/11/text-parsing-in-sql-server.html</link><category>SQL Server 2005</category><category>SQL Server 2008</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Wed, 25 Nov 2009 03:17:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-7752804638785748433</guid><description>There are lots scenarios in database procedure we may required to parse the test. Most common scenario is to parse the comma separated text. &lt;br /&gt;&lt;br /&gt;For example if we want to get the details of few employees, we will send those employee ids separated by a delimiter as a parameter to the stored procedure.&lt;br /&gt;&lt;br /&gt;Till SQL Server 2000 we will be parsing the text character by character and then we will split according to the delimiter.&lt;br /&gt;&lt;br /&gt;Following is the &lt;span style="font-weight:bold;"&gt;general split function&lt;/span&gt; which we can use in any version of SQL Server:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Function Code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;set ANSI_NULLS ON&lt;br /&gt;set QUOTED_IDENTIFIER ON&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;ALTER FUNCTION [dbo].[FNSplitString] &lt;br /&gt;(&lt;br /&gt;     -- Add the parameters for the function here&lt;br /&gt;     @string nvarchar(4000), &lt;br /&gt;     @delimiter nvarchar(10)&lt;br /&gt;)&lt;br /&gt;RETURNS &lt;br /&gt;@StringValueTable TABLE &lt;br /&gt;(&lt;br /&gt;    -- Add the column definitions for the TABLE variable here&lt;br /&gt;    Pos int IDENTITY(1,1), &lt;br /&gt;    StringValue nvarchar(4000)&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;    -- Fill the table variable with the rows for your result set&lt;br /&gt;    DECLARE @delimiterPos int&lt;br /&gt;    DECLARE @StringValue nvarchar(4000)&lt;br /&gt;&lt;br /&gt;    SET @string = @string + @delimiter&lt;br /&gt; &lt;br /&gt;    -- Loop thru all the characters&lt;br /&gt;    WHILE(LEN(@string)&gt;0)&lt;br /&gt;    BEGIN&lt;br /&gt;  &lt;br /&gt;        SET @delimiterPos = CHARINDEX(@delimiter,@string)&lt;br /&gt;  &lt;br /&gt;        SET @StringValue = SUBSTRING(@string,0,@delimiterPos)&lt;br /&gt;&lt;br /&gt;        -- Insert the record into table variable&lt;br /&gt;        INSERT INTO @StringValueTable VALUES (@StringValue)&lt;br /&gt;  &lt;br /&gt;        SET @string = SUBSTRING(@string,@delimiterPos+1,LEN(@string))&lt;br /&gt;&lt;br /&gt;        -- End the loop if there no more elements&lt;br /&gt;        IF @delimiterPos = 0&lt;br /&gt;        BEGIN&lt;br /&gt;           Break&lt;br /&gt;        END&lt;br /&gt;  &lt;br /&gt;    END&lt;br /&gt;&lt;br /&gt;    RETURN &lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Test Sample:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SELECT * FROM [dbo].[FNSplitString]('a,bc,def,ghij,klmno,pqrstu,vw,x,yz',',')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With the new feature "CTE" in SQL Server 2005 and above we can implement the same very easily without any explicit looping mentioned in the above code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Following is the split function using CTE:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Function Code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;set ANSI_NULLS ON&lt;br /&gt;set QUOTED_IDENTIFIER ON&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;CREATE FUNCTION [dbo].[FNSplitString_New] &lt;br /&gt;(&lt;br /&gt;    -- Add the parameters for the function here&lt;br /&gt;    @string nvarchar(4000), &lt;br /&gt;    @delimiter nvarchar(1)&lt;br /&gt;)&lt;br /&gt;RETURNS &lt;br /&gt;@StringValueTable TABLE &lt;br /&gt;(&lt;br /&gt;    -- Add the column definitions for the TABLE variable here&lt;br /&gt;    Pos int IDENTITY(1,1), &lt;br /&gt;    StringValue nvarchar(4000)&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;    Declare @SourceString nvarchar(MAX)&lt;br /&gt;&lt;br /&gt;    SET @SourceString = ',' + @string + ',';&lt;br /&gt;&lt;br /&gt;    -- Query using CTE&lt;br /&gt;    WITH CTE (Indx, Position) AS&lt;br /&gt;    (&lt;br /&gt;     SELECT CHARINDEX(@delimiter, @SourceString) Indx, 1 AS Position&lt;br /&gt;     UNION ALL&lt;br /&gt;     SELECT CHARINDEX(@delimiter, @SourceString, Indx+1) , Position + 1 &lt;br /&gt;     FROM CTE WHERE CHARINDEX(@delimiter, @SourceString , Indx+1) &lt;&gt; 0&lt;br /&gt;    )&lt;br /&gt;    INSERT INTO @StringValueTable(StringValue)&lt;br /&gt;    SELECT SUBSTRING(@SourceString, B.Indx+1, A.Indx - B.Indx - 1) Val &lt;br /&gt;    FROM CTE A INNER JOIN CTE B ON A.Position = B.Position + 1&lt;br /&gt;    OPTION (MAXRECURSION 5000)&lt;br /&gt;&lt;br /&gt;    -- In the above query recursive option is limited to 5000&lt;br /&gt;    -- By default it is 100, which means we cannot loop recursively more than 100 times&lt;br /&gt;&lt;br /&gt;    RETURN &lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Test Sample:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;SELECT * FROM [dbo].[FNSplitString_New]('a,bc,def,ghij,klmno,pqrstu,vw,x,yz',',')&lt;br /&gt;&lt;br /&gt;In most of our applications we are using first approach as we are reusing from long time. Now we started taking the power of new features like CTE in our regular design and development.&lt;br /&gt;&lt;br /&gt;We can also think about passing the 'n' parameter values to a procedure as an xml. And by using XML query capability we can get the individual values as part of the query itself.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>SQL Server Table Variables in Transactions</title><link>http://sridharbabuk.blogspot.com/2009/11/sql-server-table-variables-in.html</link><category>SQL Server 2005</category><category>SQL Server 2008</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 17 Nov 2009 08:47:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-4887108269091246053</guid><description>Today in one of the forum I found an intersting question to execute few SQL Statments as not part of the enclosed the transaction.&lt;br /&gt;&lt;br /&gt;Let us consider we have a following Scenario:&lt;br /&gt;We have lots of statements participating in the transaction as&lt;br /&gt;&lt;br /&gt;Begin Transaction&lt;br /&gt;&lt;br /&gt;    SQL Inerts Statement 1&lt;br /&gt;    Log a message in Log Table&lt;br /&gt;    SQL Update Statement 1&lt;br /&gt;    Log a message in Log Table&lt;br /&gt;    SQL Delete Statement 1&lt;br /&gt;&lt;br /&gt;Commit Transaction / Rollback Transaction &lt;br /&gt;&lt;br /&gt;In the above block if the transaction is rollbacked then we will be loosing the enteries in Log table too. But if we need the data available in the Log tables without participating in the transaction...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Now the Question is How we can acheive it...?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Immediately after see the question, most of the people thinks about using inner transaction. we have to remember that:&lt;br /&gt;&lt;br /&gt;"Committing inner transactions is ignored by the SQL Server Database Engine. The transaction is either committed or rolled back based on the action taken at the end of the outermost transaction. If the outer transaction is committed, the inner nested transactions are also committed. If the outer transaction is rolled back, then all inner transactions are also rolled back, regardless of whether or not the inner transactions were individually committed."&lt;br /&gt;&lt;br /&gt;So the Inner/Nested Transaction are ruled out... Now we have to think that is there any way we can get the solution...?&lt;br /&gt;&lt;br /&gt;Yes, we can do that by using &lt;strong&gt;Local Table Variables&lt;/strong&gt;. One of the importatnt behaviour of the Local Table Variable will not have any impact of the transaction. Which means irrespective of the Commit/Rollback there will not be any change in the local table variables.&lt;br /&gt;&lt;br /&gt;Following the sample demomstrating the same:&lt;br /&gt;&lt;br /&gt;-- Create a Sample Table to test &lt;br /&gt;Create Table tblSample(col1 varchar(10))&lt;br /&gt;&lt;br /&gt;-- declare log table variable&lt;br /&gt;Declare @Tbl table(Col1 varchar(10))&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Begin TRansaction&lt;br /&gt;&lt;br /&gt;        -- Insert Data into table variable&lt;br /&gt; INSERT INTO @Tbl values ('A11')&lt;br /&gt;&lt;br /&gt;        -- Insert data into actual table&lt;br /&gt; INSERT INTO tblSample&lt;br /&gt; SELECT * FROM &lt;br /&gt; (&lt;br /&gt;  Select 'A' Col1&lt;br /&gt;  UNION ALL&lt;br /&gt;  Select 'B' Col1&lt;br /&gt; ) T&lt;br /&gt;&lt;br /&gt; -- Insert data into table variable&lt;br /&gt; INSERT INTO @Tbl values ('B11')&lt;br /&gt;&lt;br /&gt;rollback Transaction&lt;br /&gt;--commit Transaction&lt;br /&gt;&lt;br /&gt;SELECT * from @Tbl&lt;br /&gt;SELECT * from tblSample&lt;br /&gt;&lt;br /&gt;Run the above block once with rollback and second time with commit transaction, you will find the same data in the log table @tbl.&lt;br /&gt;&lt;br /&gt;Hope this provides some additonal info on local table variables and how we can use in these scenarios.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>FusionCharts Free are completely free and open source</title><link>http://sridharbabuk.blogspot.com/2009/09/fusioncharts-free-are-completely-free.html</link><category>Fusion Charts</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Mon, 7 Sep 2009 20:36:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-1241257444687678520</guid><description>We can use FusionCharts Free for displaying any graphical info from SharePoint as explained in the previous posts.&lt;br /&gt;&lt;br /&gt;Now FusionCharts Free are completely free and open-source with source code.&lt;br /&gt;Please have a look into it:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fusioncharts.com/free/"&gt;FusionCharts&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>XML DML INSERT operation in SQL Server</title><link>http://sridharbabuk.blogspot.com/2009/08/xml-dml-insert-operation-in-sql-server.html</link><category>SQL Server 2005</category><category>SQL Server 2008</category><category>XML</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Tue, 18 Aug 2009 08:56:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-2350885993900627498</guid><description>Recently in one of our project the requirement is to insert element within existing XML which is a column(XML Data type) in a table. In other words we have to insert dynamic xml in another xml. I hear the similar requirement in most of the forums...&lt;br /&gt;&lt;br /&gt;We can use one of the XML DML operation "INSERT" - Inserts one or more nodes identified by &lt;em&gt;Expression1&lt;/em&gt; as child nodes or siblings of the node identified by &lt;em&gt;Expression2&lt;/em&gt;. &lt;br /&gt;&lt;br /&gt;Using this Insert operation we can insert only a static nodes as shown below:&lt;br /&gt;&lt;br /&gt;-- Declare Local Variables&lt;br /&gt;DECLARE @MainXML XML&lt;br /&gt;DECLARE @NewXML XML&lt;br /&gt;&lt;br /&gt;-- Sample XML with employee information&lt;br /&gt;SET @MainXML = '&amp;lt;employees&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;John&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;V&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;SSE&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;Pascal&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;J&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;SE&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;Naveen&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;M&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;Engineer&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt;&amp;lt;/employees&amp;gt;'&lt;br /&gt;&lt;br /&gt;-- Inserting static xml&lt;br /&gt;SET @MainXML.modify('&lt;strong&gt;insert (&amp;lt;employee&amp;gt;&amp;lt;fname&amp;gt;Test&amp;lt;/fname&amp;gt;&amp;lt;/employee&amp;gt;)&lt;/strong&gt; as last into (/employees)[1]')&lt;br /&gt;&lt;br /&gt;-- To verify the reault&lt;br /&gt;select @MainXML&lt;br /&gt;&lt;br /&gt;Now if we want to insert an XML which is available within the local variable @NewXML:&lt;br /&gt;&lt;br /&gt;-- Assigning the sample xml to the local variable&lt;br /&gt;SET @NewXML = '&amp;lt;employee&amp;gt;&amp;lt;fname&amp;gt;Test&amp;lt;/fname&amp;gt;&amp;lt;/employee&amp;gt;'&lt;br /&gt;&lt;br /&gt;Now if we try to insert this xml from the local variable using sql:variable:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SET @MainXML.modify(' insert {sql:variable("@NewXML")} as last into (/employees)[1]')&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;We will get an error message indicating:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;XQuery [modify()]: An expression was expected&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In SQL Server 2005 the work around will be:&lt;br /&gt;&lt;br /&gt;1. Dynamic Query&lt;br /&gt;2. Combination of the XML DML Operations&lt;br /&gt;&lt;br /&gt;Here I am not concentrating on the Dynamic Query approach as it is pretty simple to implement and it may not be a best approach when compared to other.&lt;br /&gt;&lt;br /&gt;Following set of queries using DML operation, we can insert XML data from a local variable:&lt;br /&gt;&lt;br /&gt;-- Appending both the Main XML and New XML to insert into Main XML with a root node&lt;br /&gt;SET @MainXML = '&amp;lt;root&amp;gt;' + CAST(@MainXML AS VARCHAR(MAX)) + '&amp;lt;new&amp;gt;' + CAST(@NewXML AS VARCHAR(MAX)) + '&amp;lt;/new&amp;gt;' + '&amp;lt;/root&amp;gt;'&lt;br /&gt;&lt;br /&gt;-- Moving employee element from new element to main xml as part of employees element&lt;br /&gt;SET @MainXML.modify(' insert (//new/employee) as last into (/employees)[1]')&lt;br /&gt;&lt;br /&gt;-- Deleting the new element&lt;br /&gt;SET @MainXML.modify(' delete (//new)')&lt;br /&gt;&lt;br /&gt;-- Steps to move employee element to the end and to delete the root element&lt;br /&gt;SET @MainXML.modify(' insert (//root/employees)  after (/root)[1] ')&lt;br /&gt;SET @MainXML.modify(' delete (/root)')&lt;br /&gt;&lt;br /&gt;-- Selecting the xml for final verification&lt;br /&gt;SELECT @MainXML&lt;br /&gt;&lt;br /&gt;In Summary following is the sample Script in &lt;strong&gt;SQL Server 2005 &lt;/strong&gt;to insert a dynamic XML into another XML:&lt;br /&gt;&lt;br /&gt;DECLARE @MainXML XML&lt;br /&gt;DECLARE @NewXML XML&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET @MainXML = '&amp;lt;employees&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;John&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;V&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;SSE&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;Pascal&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;J&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;SE&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;Naveen&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;M&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;Engineer&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt;&amp;lt;/employees&amp;gt;'&lt;br /&gt;&lt;br /&gt;SET @NewXML = '&amp;lt;employee&amp;gt;&amp;lt;fname&amp;gt;Test&amp;lt;/fname&amp;gt;&amp;lt;/employee&amp;gt;'&lt;br /&gt;&lt;br /&gt;SET @MainXML = '&amp;lt;root&amp;gt;' + CAST(@MainXML AS VARCHAR(MAX)) + '&amp;lt;new&amp;gt;' + CAST(@NewXML AS VARCHAR(MAX)) + '&amp;lt;/new&amp;gt;' + '&amp;lt;/root&amp;gt;'&lt;br /&gt;&lt;br /&gt;SET @MainXML.modify(' insert (//new/employee) as last into (/employees)[1]')&lt;br /&gt;&lt;br /&gt;SET @MainXML.modify(' delete (//new)')&lt;br /&gt;&lt;br /&gt;SET @MainXML.modify(' insert (//root/employees)  after (/root)[1] ')&lt;br /&gt;SET @MainXML.modify(' delete (/root)')&lt;br /&gt;&lt;br /&gt;SELECT @MainXML&lt;br /&gt;&lt;br /&gt;These many steps are not required for SQL Server 2008 as it supports to insert the dynamic XML directly into another XML. Following is the sample script for SQL Server 2008:&lt;br /&gt;&lt;br /&gt;DECLARE @MainXML XML&lt;br /&gt;DECLARE @NewXML XML&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET @MainXML = '&amp;lt;employees&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;John&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;V&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;SSE&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;Pascal&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;J&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;SE&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt; &amp;lt;employee&amp;gt;&lt;br /&gt;  &amp;lt;fname&amp;gt;Naveen&amp;lt;/fname&amp;gt;&lt;br /&gt;  &amp;lt;lname&amp;gt;M&amp;lt;/lname&amp;gt;&lt;br /&gt;  &amp;lt;desig&amp;gt;Engineer&amp;lt;/desig&amp;gt;&lt;br /&gt; &amp;lt;/employee&amp;gt;&lt;br /&gt;&amp;lt;/employees&amp;gt;'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET @NewXML = '&amp;lt;employee&amp;gt;&amp;lt;fname&amp;gt;Test&amp;lt;/fname&amp;gt;&amp;lt;/employee&amp;gt;'&lt;br /&gt;&lt;br /&gt;-- One statement in &lt;strong&gt;SQL Server 2008&lt;/strong&gt; to do all the operation what we mentioned above for SQL Server 2005&lt;br /&gt;SET @MainXML.modify(' insert &lt;strong&gt;{sql:variable("@NewXML")} &lt;/strong&gt; as last into (/employees)[1]')&lt;br /&gt;&lt;br /&gt;select @MainXML&lt;br /&gt;&lt;br /&gt;This we implemented in most of our applications, hope it will be useful to most of the folks...</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>An Introduction to Infopath 2010 - Part-3 - Creating Cascading Dropdowns</title><link>http://sridharbabuk.blogspot.com/2009/08/introduction-to-infopath-2010-part-3.html</link><category>Infopath 2010</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Thu, 13 Aug 2009 21:21:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-23598882172300166</guid><description>In continuation to my previous posts&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sridharbabuk.blogspot.com/2009/08/introduction-to-infopath-2010-part-i.html"&gt;An Introduction to Infopath 2010 - Part-1 - An Overview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sridharbabuk.blogspot.com/2009/08/introduction-to-infopath-2010-part-2.html"&gt;An Introduction to Infopath 2010 - Part-2 - Creating Basic Forms&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this post we will see how easily we can create Cascading Dropdown controls in Infopath 2010 Desinger tool.&lt;br /&gt;&lt;br /&gt;Most of the times in our applications Cascading Dropdown (When there is change event for one of the combo box should reflect the values in another combo box. For example when we change the Country in the country Combobox, then the states should reflect in the State Combobox for the selected country) is a common requirement. Right now in SharePoint we are achieving this requirement by using JavaScript or a JQuery.&lt;br /&gt;&lt;br /&gt;Infopath 2010 made our job more easy by providing this functionality out-of-the-box. Now we will see a sample for creating a form to demonstrate the Cascading Dropdown functionality.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step-1:&lt;/strong&gt; Creating a Sample Form&lt;br /&gt;&lt;br /&gt;    Create a sample form as shown in the following picture with two dropdown list controls for Country and State.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnG4NcWYRyrNaNCfFQBqdgStdH8ojOroNWtYdZKPzptBcB0ZfP9-sWUseiCMCPtjsLTAdUvNmlFbbOovXsF9nDrGbjr7nee_h3iRzSpW5zvvKe_m2-StWZOjURFhbiFkZSUAnJJ4F8fLXT/s1600-h/Infopath2010_CDD_1.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnG4NcWYRyrNaNCfFQBqdgStdH8ojOroNWtYdZKPzptBcB0ZfP9-sWUseiCMCPtjsLTAdUvNmlFbbOovXsF9nDrGbjr7nee_h3iRzSpW5zvvKe_m2-StWZOjURFhbiFkZSUAnJJ4F8fLXT/s320/Infopath2010_CDD_1.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369698158554741282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step-2:&lt;/strong&gt; Creating an XML file&lt;br /&gt;&lt;br /&gt;    For this example we are considering xml as a data source. Following is the xml format for storing the Country and State data:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;root&amp;gt;&lt;br /&gt;&amp;lt;country displaytext="India" displayvalue="India"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Karnataka" displayvalue="Karnataka"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Andhra" displayvalue="AP"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Maharastra" displayvalue="Mumbai"/&amp;gt;&lt;br /&gt;&amp;lt;/country&amp;gt;&lt;br /&gt;&amp;lt;country displaytext="US" displayvalue="US"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Alabama" displayvalue="1"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Alaska" displayvalue="2"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Arizona" displayvalue="3"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Arkansas" displayvalue="4"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="California" displayvalue="5"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Colorado" displayvalue="6"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Connecticut" displayvalue="7"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Delaware" displayvalue="8"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Dist Columbia" displayvalue="9"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Florida" displayvalue="10"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Georgia" displayvalue="11"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Hawaii" displayvalue="12"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Idaho" displayvalue="13"/&amp;gt;&lt;br /&gt;&amp;lt;/country&amp;gt;&lt;br /&gt;&amp;lt;country displaytext="China" displayvalue="China"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Anhui" displayvalue="1"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Beijing" displayvalue="2"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Fujian" displayvalue="3"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;state displaytext="Gansu" displayvalue="4"/&amp;gt;&lt;br /&gt;&amp;lt;/country&amp;gt;&lt;br /&gt;&amp;lt;/root&amp;gt;&lt;br /&gt;&lt;br /&gt;Save this xml content in a file and name the file as "Country_State_List.xml"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step-3:&lt;/strong&gt; Adding XML as Resource File to Infopath form&lt;br /&gt;&lt;br /&gt;     Now we will add the file what we created in the Step-2 as a resource file to Infopath form. To add a resource file, Select Data -&gt; Resourse Files as shown in the picture:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0wi8p35bJknZlggl5XNQ5NpIBqrifAlcpZRAcJWvwRV-TwKKVI3jp11t5ERhYLVMB9Kmz7uQ3xDexCt-H7Nlg8ESyMsLlGzAHjE8_1Xfw8mhTGz1I0aEtinBlxuy6HqgyBSxHzV_qYLL/s1600-h/Infopath2010_CDD_2.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0wi8p35bJknZlggl5XNQ5NpIBqrifAlcpZRAcJWvwRV-TwKKVI3jp11t5ERhYLVMB9Kmz7uQ3xDexCt-H7Nlg8ESyMsLlGzAHjE8_1Xfw8mhTGz1I0aEtinBlxuy6HqgyBSxHzV_qYLL/s320/Infopath2010_CDD_2.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369698657147830466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step-4:&lt;/strong&gt; Creating Data Source&lt;br /&gt;&lt;br /&gt;    Now we will create a new data source, in our case data source is an xml file which is available as a resource file. To add a data source, Select Data -&gt; From Other Source -&gt; From XML file. While selecting XML file, we have to select it from the Resource Files. Following picture shows the steps to follow:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXPuajLYTlV5xtSJbJjg7TOMNwXDoQad5SRJOJ_nJVtO8aVGodQD8ae1qe9bilF1ipkHW3RDWhHILpJm9lNI1HcRsjcb-NMbRD9beacPp1WeueHpCy9la5TjVnhpSN4AchBHNkVlZGTA2s/s1600-h/Infopath2010_CDD_3.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXPuajLYTlV5xtSJbJjg7TOMNwXDoQad5SRJOJ_nJVtO8aVGodQD8ae1qe9bilF1ipkHW3RDWhHILpJm9lNI1HcRsjcb-NMbRD9beacPp1WeueHpCy9la5TjVnhpSN4AchBHNkVlZGTA2s/s320/Infopath2010_CDD_3.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369699453791617634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After this step, a data connection with the name is available in the form as shown below. This is just a verify the data connection.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDv-7MxKkmAqeBFehX2LrIHQSgmLh0GPclQt_stgWCnX8MYGEsgifM0hIrcS253UZI0qkAptf6CNQfhk6O8AdpNp8CKYYaD_ep06taGDgRLSLFkO0rZl8_BoFb1Dz_yOniyeXVQVBoRGc9/s1600-h/Infopath2010_CDD_4.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDv-7MxKkmAqeBFehX2LrIHQSgmLh0GPclQt_stgWCnX8MYGEsgifM0hIrcS253UZI0qkAptf6CNQfhk6O8AdpNp8CKYYaD_ep06taGDgRLSLFkO0rZl8_BoFb1Dz_yOniyeXVQVBoRGc9/s320/Infopath2010_CDD_4.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369701263413749666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the new data connection is not available as show in the picture, please follow the above steps again.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step-5:&lt;/strong&gt; Mapping Data Source to Field Controls&lt;br /&gt;&lt;br /&gt;Final step is to map the data source to the corresponding combobox (Country and State).&lt;br /&gt;&lt;br /&gt;Map the Country Combobox as shown in the following image:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEyeyTthlZFIfHsKFLOkjCAG3N1oeLBFXnW4ClpsmHBVpf04vgiLxw3ro_ihLc1TT9MBu_b8lc0ZESQKm9IDs6LdQyJ8glT-4qxXjb0OEZIoXAQSt65NjOWsumVRYV6DVD026_hEmv78pY/s1600-h/Infopath2010_CDD_5.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 219px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEyeyTthlZFIfHsKFLOkjCAG3N1oeLBFXnW4ClpsmHBVpf04vgiLxw3ro_ihLc1TT9MBu_b8lc0ZESQKm9IDs6LdQyJ8glT-4qxXjb0OEZIoXAQSt65NjOWsumVRYV6DVD026_hEmv78pY/s320/Infopath2010_CDD_5.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369705244947373906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Similarly Map the State Combobox as shown in the following image:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6TKucw25QQd67VyyqmkVm1oFjdVcJNSFSq9ZUJupzYqRUAnq26ooAV3Ts5DQq5ufQGcXzxREfCO_O6IgB3OOgK3E1i93xgTqaVhnpd0KbMkN73tyuVccrbp9mwKYBKk8oNJJ3AXW3Nrs/s1600-h/Infopath2010_CDD_6.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 203px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6TKucw25QQd67VyyqmkVm1oFjdVcJNSFSq9ZUJupzYqRUAnq26ooAV3Ts5DQq5ufQGcXzxREfCO_O6IgB3OOgK3E1i93xgTqaVhnpd0KbMkN73tyuVccrbp9mwKYBKk8oNJJ3AXW3Nrs/s320/Infopath2010_CDD_6.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369706084732580578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally we have to add the filter for the State Combobox to display only the States Associated to the select Country in the Country Combobox. Following image shows how to add the filter (with a black circle on the field):&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgviuD19QDdKGYtEj7ZK7MW3p5DHXQzCBlyegV2mV9kA5xRxqejrteHc6lhBR2gOYwd4YGX70LZQmWlPhC3gHCSsPL4lz2neOJuyab5sxum9QbT_RByw4W9zpXt-i1ulAHopWbiwQtUFaqw/s1600-h/Infopath2010_CDD_8.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 250px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgviuD19QDdKGYtEj7ZK7MW3p5DHXQzCBlyegV2mV9kA5xRxqejrteHc6lhBR2gOYwd4YGX70LZQmWlPhC3gHCSsPL4lz2neOJuyab5sxum9QbT_RByw4W9zpXt-i1ulAHopWbiwQtUFaqw/s320/Infopath2010_CDD_8.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369709228850019682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;yup, we are done with the cascading dropdowns setup with a xml datasource. Now we can preview the form by selecting Home -&gt; Preview tab. Following image shows the preview of the same:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnzGiICxa3ccZVe8UUFbHJTU5ITkTjbzbSynkAUrKRafhR5wp-0swS1QVL3nVGWVHYHEomhVRz-5bolA8GTsMxqNK2Vxcr4TMinLqv4tQ6MMWnO8ULhfX8wOXVN1A14-5OsdifWoZLpJ7E/s1600-h/Infopath2010_CDD_9.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 190px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnzGiICxa3ccZVe8UUFbHJTU5ITkTjbzbSynkAUrKRafhR5wp-0swS1QVL3nVGWVHYHEomhVRz-5bolA8GTsMxqNK2Vxcr4TMinLqv4tQ6MMWnO8ULhfX8wOXVN1A14-5OsdifWoZLpJ7E/s320/Infopath2010_CDD_9.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369710001055963362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please note that we can use same sample for any other data source like MS-Access, SQL Server or Web Service.</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnG4NcWYRyrNaNCfFQBqdgStdH8ojOroNWtYdZKPzptBcB0ZfP9-sWUseiCMCPtjsLTAdUvNmlFbbOovXsF9nDrGbjr7nee_h3iRzSpW5zvvKe_m2-StWZOjURFhbiFkZSUAnJJ4F8fLXT/s72-c/Infopath2010_CDD_1.GIF" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>An Introduction to Infopath 2010 - Part-2</title><link>http://sridharbabuk.blogspot.com/2009/08/introduction-to-infopath-2010-part-2.html</link><category>Infopath 2010</category><author>noreply@blogger.com (Sridhar Babu Kolapalli)</author><pubDate>Wed, 12 Aug 2009 21:23:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-124201859545181164.post-5811692532858179592</guid><description>In continuation to the &lt;a href="http://sridharbabuk.blogspot.com/2009/08/introduction-to-infopath-2010-part-i.html"&gt;previous post - An Introduction to Infopath 2010 - Part-1&lt;/a&gt;, this post explains on how we can create/design a basic forms using InfoPath 2010.&lt;br /&gt;&lt;br /&gt;To design an InfoPath form we will be using &lt;strong&gt;InfoPath Designer 2010&lt;/strong&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCrUPxnSFKWBoJhj6KMYKmq6e1PEPhjhHL5EnhNxJ7L8WEx-T1knOrFQBtw6QF-VFepmgA-_9rO7CTIzYemzJovT2_knhFLguw8zI-mjv-PirBF9jaorAeFMmPzlSfQLEwBQlMieu9GeFS/s1600-h/Infopath_2010_Sample_Form_1.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 48px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCrUPxnSFKWBoJhj6KMYKmq6e1PEPhjhHL5EnhNxJ7L8WEx-T1knOrFQBtw6QF-VFepmgA-_9rO7CTIzYemzJovT2_knhFLguw8zI-mjv-PirBF9jaorAeFMmPzlSfQLEwBQlMieu9GeFS/s320/Infopath_2010_Sample_Form_1.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369304162727230610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Designer comes with a set of predefined templates for easy-to designing the forms. All these templates are grouped into different buckets like Popular Form Templates, Advanced Form Templates, InfoPath 2007 Form Templates, Template Parts.&lt;br /&gt;&lt;br /&gt;Following screen shot shows the set of templates available in the designer:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFjLtqSoIkLIGoeVqXlg_1MP2SC0cw0Xjf3PyoRgR-TAvsOTm5w4IiiIPuQwR6JwGQsCMC4qD1k88mtZ78Fw_GbaiXzElDTFyEMJ2DuE5eo8b-g_toz-C4xdAy3aKhSU1kJVfji4reM_n_/s1600-h/Infopath_2010_Sample_Form_2.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFjLtqSoIkLIGoeVqXlg_1MP2SC0cw0Xjf3PyoRgR-TAvsOTm5w4IiiIPuQwR6JwGQsCMC4qD1k88mtZ78Fw_GbaiXzElDTFyEMJ2DuE5eo8b-g_toz-C4xdAy3aKhSU1kJVfji4reM_n_/s320/Infopath_2010_Sample_Form_2.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369304299141797266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This window in the office terms is called as &lt;strong&gt;Office Out Space&lt;/strong&gt;, which allows us to open an existing forms, close the form or even to print a form. All the office 2010 applications contains Out Space to perform these operations with an additional tab for setting the options within that application (which can be Infopath/Excel/Word/PowerPoint etc).&lt;br /&gt;&lt;br /&gt;Following table provides the set of templates available with the designer with the brief description about their usage:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Popular Form Templates&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;     &lt;li&gt;SharePoint List&lt;/li&gt;&lt;br /&gt;            Template used to view and edit items in the existing SharePoint List.&lt;br /&gt;     &lt;li&gt;SharePoint Document Library&lt;/li&gt;&lt;br /&gt;            Template to collect and save the data in a SharePoint Document Library.&lt;br /&gt;     &lt;li&gt;Blank&lt;/li&gt;&lt;br /&gt;            A Blank template for designing the form. It can be used for the browser enabled forms.&lt;br /&gt;     &lt;li&gt;E-mail&lt;/li&gt;&lt;br /&gt;            Teamplate for designing the email submitted forms.&lt;br /&gt;     &lt;li&gt;Blank (InfoPath Editor)&lt;/li&gt;&lt;br /&gt;            A Blank template for designing the form and it can be used only with the InfoPath editor while submiting the form.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Advanced Form Templates&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;     &lt;li&gt;Database&lt;/li&gt;&lt;br /&gt;            Template to design a form to collect data from databases like MS-Access, SQL Server.&lt;br /&gt;     &lt;li&gt;Web Service&lt;/li&gt;&lt;br /&gt;            Template to design a form for query data from a Web Service and even to submit to a Web Service.&lt;br /&gt;     &lt;li&gt;XML or Schema&lt;/li&gt;&lt;br /&gt;            Template to design a form based on an xml file or an a schema file.&lt;br /&gt;     &lt;li&gt;Data Connection File&lt;/li&gt;&lt;br /&gt;            Template to design a form to query a SharePoint Data Source which is defined in a Data Connection File. &lt;br /&gt;     &lt;li&gt;Convert Word or Excel Form&lt;/li&gt;&lt;br /&gt;            Template to design a form based on Microsoft Word document or Microsoft Excel.&lt;br /&gt;     &lt;li&gt;Document Information Panel&lt;/li&gt;&lt;br /&gt;            Form used to edit the properties of the documents stored in a Document Library.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;InfoPath 2007 Form Templates&lt;/strong&gt;&lt;br /&gt;     These templates are for the InfoPath 2007.&lt;br /&gt;     &lt;li&gt;Blank&lt;/li&gt;&lt;br /&gt;            A Blank template for designing the form. It can be used for the browser enabled forms.&lt;br /&gt;     &lt;li&gt;Blank (InfoPath Editor)&lt;/li&gt;&lt;br /&gt;            A Blank template for designing the form and it can be used only with the InfoPath editor while submiting the form.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Template Parts&lt;/strong&gt;&lt;br /&gt;            These templates are used to design a template part that can be reused in multiple forms.&lt;br /&gt;     &lt;li&gt;Blank&lt;/li&gt;&lt;br /&gt;     &lt;li&gt;XML or Schema&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;We will start with the Blank Template from the Popular Form Templates category to create a simple form. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFewsCoYOmU2UjLxsMHaXc8hed_CwLDYfx2ogr6OffjUF2bevySB_jeLazBQsZtMdDRnOsF8J8FwuOSERXG6wRIgZqGJJVcHXQxvG3LCsOxLizb6hUQBMqEY_JNNcBiuBM67O_K7-6on3Y/s1600-h/Infopath_2010_Sample_Form_3.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFewsCoYOmU2UjLxsMHaXc8hed_CwLDYfx2ogr6OffjUF2bevySB_jeLazBQsZtMdDRnOsF8J8FwuOSERXG6wRIgZqGJJVcHXQxvG3LCsOxLizb6hUQBMqEY_JNNcBiuBM67O_K7-6on3Y/s320/Infopath_2010_Sample_Form_3.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5369329558160763922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the coming posts we will see how we can add the validation rules and different submit options to the form.</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCrUPxnSFKWBoJhj6KMYKmq6e1PEPhjhHL5EnhNxJ7L8WEx-T1knOrFQBtw6QF-VFepmgA-_9rO7CTIzYemzJovT2_knhFLguw8zI-mjv-PirBF9jaorAeFMmPzlSfQLEwBQlMieu9GeFS/s72-c/Infopath_2010_Sample_Form_1.GIF" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item></channel></rss>