Thursday, April 26, 2012

SQL Server 2012 Reporting Services Upgrade Error

 

During the In-Place upgrade from SQL Server 2008 R2 to SQL Server 2012, sometimes the Reporting Services component upgrade would error out with  different types of error messages:

Specifically, the errors would be something like:

  • A Secure Sockets Layer (SSL) certificate is not configured on the Web site
  • An SSL binding already exists for the specified IP address and port combination. The existing binding uses a different certificate from the current requests. Only one certificate can be used for each IP address and port combination. To correct the problem, either use the same certificate as the existing binding, or remove the existing SSL binding and create a new binding using the certificate of the current request.

To resolve this issue, it is important to understand the workflow of the Reporting Services upgrade path. Your best friend in this case is MSDN. I could not find anyone else having the same problem.

Going to MSDN: http://msdn.microsoft.com/en-us/library/ms143747.aspx (Upgrade and Migrate Reporting Services), the first thing you will notice here is :

  • Run the upgrade advisor before you do the upgrade
  • Remove invalid SSL certificates.  This includes certificates that are expired and you do not plan to update prior to upgrading Reporting Services.  Invalid certificates will cause upgrade to fail and an error message similar to the following will be written to the Reporting Services Log file: Microsoft.ReportingServices.WmiProvider.WMIProviderException: A Secure Sockets Layer (SSL) certificate is not configured on the Web site.

I ran the upgrade advisor and not find any issues.  The SSL Certificates on the server were still valid and not expired.

So, I took a snapshot of the VM and ran the upgrade. It failed giving me the second reporting services error. I reverted back the snapshot and then opened up reporting services configuration manager. In here, I made the below two changes before the upgrade was restarted:

  • Under Web Service URL
    • IP Address –> Changed it to “All Unassigned”
    • Under Advanced –> Removed the SSL Certificates
  • Under Report Manager URL
    • Click Advanced –>  change the IP Address to Unassigned and Remove the SSL bindings.

Both the above steps are necessary. Even if you don’t do one piece, the Upgrade fails.

Once the above steps were done, the upgrade was very smooth and successful.

Wednesday, April 25, 2012

Infopath Forms Exception after Windows Updates


Our production servers receive Windows update immediately and during one of the maintenance periods, the InfoPath forms on a SharePoint Site stopped working.
Looking at the ULS logs, I saw the below error:
System.IO.FileLoadException: Loading this assembly would produce a different grant set from other instances. (Exception from HRESULT: 0x80131401)    at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)     at Microsoft.Office.InfoPath.Server.DocumentLifetime.ErrorPageRenderer.RunAndGetErrorRendererOnException(HttpContext context, EventLogStart eventLogStart, TryBlock tryblock, CatchBlock catchblock)     at Microsoft.Office.InfoPath.Server.Controls.XmlFormView.LoadDocumentAndPlayEventLog()     at Microsoft.Office.InfoPath.Server.Controls.XmlFormView.OnDataBindHelper()     at Microsoft.Office.InfoPath.Server.Controls.XmlFormView.OnDataBinding(EventArgs e)
Anytime the error “Loading this assembly would produce a different grant set from other instances” shows up, it means that the application pool needs to be recycled. It is almost like the app pool got loaded into memory during the updates.
So, I quickly recycled the application pool and it fixed the error.

Tuesday, April 24, 2012

Windows 8 Consumer Preview (CP)–After a month

 

I have been using Windows 8 since the developer preview and currently using the CP since its release. Windows 8 CP is currently my main workstation with all the developer tools installed. When using the developer preview, I was running into frequent crashes but CP has been really great. The frequent crashes are not happening anymore. Windows 8 is a huge shift for Microsoft Users as the user interface has been completely redesigned and is based on Microsoft’s Metro User Interface. Microsoft is aiming towards a single operating system for both desktop, tablet and phone users. The trick will be to satisfy all the different types of users and this will be a difficult task to accomplish. If Microsoft can pull this off, it will be a huge accomplishment on their part. Historically, it has been proven to be difficult to satisfy all types of consumers. Each area like tablet, desktop and phone has a niche of users with their own requirements.

Coming to Windows 8, here is my analysis:

  • Will work great on Tablets. Have been using Samsung 7 Slate and is awesome !
  • Enterprises  will embrace it quickly because of some of the nice features
  • What are the nice features ?
    • Single interface for tablets and PC’s
    • Metro Applications
    • Reset and Refresh – easily restore your PC
    • Sky Drive integration
    • File History
    • Charms
    • Snap Multi-Tasking
    • Windows 2 Go
    • Better Support for multiple monitors
    • Excellent Search – search for anything and everything
    • More (another blog post)
  • Now to the sore points
    • No Start button –> This will take time to sink in
    • Power and Restart buttons –> not easy to find
    • Turn off Metro interface if needed –> cannot do it in DP or CP (may be in Release Preview)
    • Close background applications –> no easy way to do this (right click on the top left of the screen actually shows the applications which can be closed OR task manager)

Tuesday, September 20, 2011

Windows 8–Day 2

The Windows task Manager in Windows 8 is completely revamped. I like the new look of the task manager. It is very intuitive and a single place to go to to debug all the issues. The task manager itself consists of 7 main areas:

  • Processes
  • Performance
  • App History
  • Startup
  • Users
  • Details
  • Services

The Processes tab nicely explains what applications and background processes are running. It also gives a graphical view of the current CPU, Memory, Disk & Network usage of each of the process. Right clicking each process gives you the ability to end the process, create dump file and look at the properties:

image

The Performance tab gives you more details on the CPU, Memory, Disk and Networking usage. You can also launch resource monitor from the link at the bottom of this screen.

image

The App History tab is completely new and is for tracking the performance of the Metro Styled applications.

image

The startup tab give the information about the applications which are started during system startup. You can disable the unneeded ones by right clicking the application.

image

The Users tab gives you an idea about the users logged into the system and also the resources used by each of the users.

image

The details table gives you information about the applications which are running.

image

The Services tab gives you an idea about the currently installed services on the system.

image

Monday, September 19, 2011

Windows 8–Day 1

I recently installed Windows 8 DEV preview and so far it’s been a nice operating system to play around with.  I will try to document my findings as I use this new Operating System more frequently. After installing the Windows 8 OS with Developer tools, 64 bit version, I was trying to install Office 2010. The moment I ran the installer, it complained about 32 bit office components.  Something like:  “You cannot install the 64-bit version of Office 2010 because you have 32-bit Office products installed”. This was because of Microsoft PowerPoint Viewer which is 32 bit. I had to uninstall Power Point viewer to get Office 2010 installed. Power Point Viewer was installed by default. After installing Office 2010, the tools should be available to you:

image

Next, the one thing I don’t like at all is the restart option. In Windows 7, you could click Start –> Shutdown. But with Windows 8 , you will need to hover over the start button –> settings which would bring up the popup kinda thing on the right where you can restart the machine.

imageimage

More later…..

Saturday, August 13, 2011

Secure Token Service related error 800703fa

While configuring SharePoint 2010 Farms, sometimes while using Claims Authentication the below error used to popup every morning on the front end servers. The strange thing is that it would disappear after an application pool recycle.


Retrieving the COM class factory for component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} failed due to the following error: 800703fa.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]: Retrieving the COM class factory for component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} failed due to the following error: 800703fa.


If you look at the Stack trace, it becomes clear that the error is related to the WCF Service and in this case, it was related to the Secure Token Service (STS) application. To fix this error, open up IIS and navigate to the application pools section. In that are open the SecureTokenServiceApplication pool account and modify the “Load User Profile” property in advanced settings.

By default this property is set to False, change it to True and this should fix the error.

image

SharePoint 2010 Disable Mobile Page Redirect

When deploying SharePoint Farms, it is very important to consider the mobile aspects of using SharePoint also. Sometimes, it is very easy to miss this aspect. Out of the box, SharePoint 2010 provides few basic mobile pages. When you browse from a mobile, then you will be redirected to a different page rather than the regular publishing/wiki page you would see. You will be redirected to a page in layouts folder: /_layouts/mobile/mblwp.aspx.

If you are using a custom branded page for SharePoint 2010, then you may not want the users not to redirect to the out of the mobile page when browsing from their mobile.  The easiest and supported way to do this is to add a web.config entry for the respective web application. The below entry needs to be added under the node <system.web>:

   1:  <browserCaps>


   2:   <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>


   3:   <filter>isMobileDevice=false</filter>


   4:  </browserCaps> 




There are other ways to change this setting, specifically modifying the compat.browser file in the “App_Browsers” folder located in the application’s virtual directory. In here, you can disable the setting for a specific mobile. For example, to disable the redirect on IPhone, you would modify the isMobileDevice setting to false. By default it is set to true:




   1:  <!-- iPhone Safari Browser -->


   2:      <!-- sample UA "Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20" -->


   3:      <browser id="iPhoneSafari" parentID="AppleSafari">


   4:          <identification>


   5:              <userAgent match="iPhone" />


   6:              <userAgent match="Mobile" /> 


   7:          </identification>


   8:          <capabilities>


   9:              <capability name="isMobileDevice"                    value="true" />


  10:              <capability name="canInitiateVoiceCall"              value="true" />


  11:              <capability name="optimumPageWeight"                 value="1500" />


  12:              <capability name="requiresViewportMetaTag"           value="true" />


  13:              <capability name="supportsTouchScreen"               value="true" />


  14:              <capability name="telephoneNumberDetectionDisabled"  value="true" />


  15:          </capabilities>


  16:      </browser>