Fixing MSSQL Reporting Services add-in after the migration of SharePoint site to a new server (WSS 3.0 or MOSS 2007)

 

If you're thinking about migrating WSS 3.0 or MOSS 2007 sites to a new server, you need to remember to reinstall any third-party webparts you have installed on the old Sharepoint server. So if your Sharepoint instance have Reporting Services webpart installed you will have to re-install it, but before you do that make sure you remove old webpart from the Web Part Gallery and remove (or comment out) any references to the old RS webpart from web.config file in the Sharepoint's virtual directory.

 

<SafeControl Assembly="Microsoft.ReportingServices.SharePoint.UI.ServerPages, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.ReportingServices.SharePoint.UI" TypeName="*" Safe="True" />
<SafeControl Assembly="Microsoft.ReportingServices.SharePoint.UI.WebParts, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.ReportingServices.SharePoint.UI.WebParts" TypeName="*" Safe="True" />
<SafeControl Assembly="RSWebParts, Version=8.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.ReportingServices.SharePoint.UI.WebParts" TypeName="*" Safe="True" />

 

<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add verb="*" path="_vti_bin/ReportServer" type="Microsoft.ReportingServices.SharePoint.Soap.RSProxyHttpHandler, RSSharePointSoapProxy, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
<add verb="*" path="Reserved.ReportViewerWebPart.axd" type="Microsoft.ReportingServices.SharePoint.UI.WebParts.WebPartHttpHandler, Microsoft.ReportingServices.SharePoint.UI.WebParts, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

 

<location path="_vti_bin/ReportServer/ReportServiceAuthentication.asmx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

 

Note: If you don't remove the references to the old RS webparts, you won't be able to get reports to display properly no matter how many times you re-install the webpart.

 

TFS and Sharepoint

To install TFS you must have Sharepoint Services 2.0 installed on the same server. Even though there hacks that allow you to integrate TFS with Sharepoint 3.0 that could be installed on another server, there still certain restrictions in place. One of them is Sharepoint naming conventions for when you install TFS:

Application Pool Name: TFSWSS (use TFSSERVICE account)

Application Pool Name: TFSWSSADMIN (use TFSSERVICE account)

Configuration Database Name: STS_Config_TFS

Content Database Name: STS_Content_TFS

Username to use: TFSSERVICE account

 

You can change those names later on though. Hopefully this issue will be addressed in Orcas…

How to uninstall SQL 2005 Express Edition / MSDE / SSEE

If you use SQL 2005 Express Edition/MSDE/SSEE with your installation of Sharepoint, CRM or whatever, when you decide to uninstall those products SQL 2005 Express Edition will not be uninstalled. So, you will end up with "orphaned" copy SQL 2005 Express Edition, which will prevent you from installing any other applications that use it.

To uninstall SQL 2005 Express Edition:

  1. Open Registry and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
  2. Browse through the entries and find the one that says "Microsoft SQL Server 2005 Express Edition" or something like that
  3. Copy the value of UninstallString into clipboard (Ctrl-C). Example of UninstallString value is "MsiExec.exe /X{6E740973-8E71-42F9-A910-C18452E60450}"
  4. Open Command Prompt

Paste the command from clipboard and add "CALLERID=OCSETUP" at the end of the command and hit Enter. This will run an Uninstall Wizard, which will help you to uninstall SQL Server 2005 Express Edition
Example of the uninstall command:    MsiExec.exe /X{6E740973-8E71-42F9-A910-C18452E60450} CALLERID=OCSETUP

Uploading large files to TFS

We used to get a timeout error every time we tried to upload files larger than 48Kb to TFS. The timeout error was caused by one of numerous IIS hidden settings, i.e. UploadReadAheadSize parameter in IIS. Because this parameter is not set by default, IIS uses the default schema value of 48Kb. 

To allow larger files to be uploaded to TFS, we had to change this parameter to a larger value (in our case I've set it to 10Mb). Here is how it's done:

  1. Open Command Prompt
  2. Go to your Inetpub\adminscripts folder
  3. Type in adsutil get w3svc/UploadReadAheadSize to check your current setting
  4. To change this parameter, type in adsutil set w3svc/UploadReadAheadSize SIZE_IN_BYTES. For example to set this parameter to 10Mb use "10000000" as the size
  5. Type in adsutil get w3svc/UploadReadAheadSize again to make sure that the parameter has been changed

   

TFS authentication and time synchronization

Since, it's my first post I thought that I should start with something simple yet very frustrating. For about a week we had a problem with our TFS server. Occasionally users were not able to login to TFS server using Team Explorer for no apparent reason. After numerous attempts to find the cause of all this problems, the solution turned out to be pretty simple. There was a time synchronization problem between TFS server and Time Server on the network (which in our case was one of domain controllers).

To resolve I have set up TFS server to sync time with the domain controller and set a domain controller to sync time with one of the public time servers on the Internet. To me, it's always better to have all your servers to synchronize their time settings with one of the internal server and only that internal server would synchronize with external time servers, instead of all servers synchronizing with external servers. Here is how it can be done:

ON TFS SERVER:

  1. Make sure that you have Windows Time service running and set to Automatic start-up on TFS Server
  2. To check whether your time service is set, type NET TIME in Command Prompt:
    net time /domain:DOMAINNAME
  3. If no time servers have been set, use NET TIME command to set up the time server:
    net time /setsntp:DOMAINCONTROLLER

ON DOMAIN CONTROLLER:

  1. Make sure that you have Windows Time service running and set to Automatic start-up on Domain Controller
  2. To check whether your time service is set, type NET TIME in Command Prompt:
    net time /domain:DOMAINNAME
  3. If no time servers have been set, use NET TIME command to set up the time server for Domain Controller:
    net time /setsntp:PUBLICTIMESERVER
    For the list of the Simple Network Time Protocol (SNTP) time servers that are available on the Internet go to http://support.microsoft.com/default.aspx/kb/262680

After I have set up the time synchronization, our TFS server has been running smoothly ever since (knocking-on-the-wood)...