SharePoint 2010 Enhancements – Part2

Posted by Kasi Krishnamoorthy at 12/04/2009 05:15:00 PM


As I learn, taking notes of some noticeable enhancements in SharePoint 2010 ( in my point of view)

Backup and Restore

  • SharePoint Server 2010 uses two different tools (Central admin and PowerShell) to configure backup and recovery. What happened to STSADM? It is still there, for only backward compatibility.  New backup plans should be incorporated with Windows PowerShell in place of Stsadm.
  • Windows PowerShell provides administrators a way to perform backup and recovery with additional options such as file compression or working with SQL snapshots
  • SharePoint Server 2010 provides several new features that provide a granular level of backup for various components of site content (site, subsite, and list level)


  • In SharePoint Server 2010, you can restore site collections, sites, and lists from unattached content databases. You can simply do a SQL Server restore of the content database to any computer running SQL Server, then tell SharePoint to connect to it. This eliminates the need to build a second farm for granular recovery
  • It has the ability to recognize read-only SQL databases. Whenever SharePoint Server is connected to a SQL database that has been placed in read-only mode, SharePoint Server will security trim all site collections in the database so that they are read-only to all users, removing all add and edit functionality from the sites, even for administrators
  • It supports SQL mirroring natively. This allows a farm administrator to configure the SQL environment to mirror a SharePoint content database. Whenever a new database is created, the SharePoint administrator will be prompted to enter the failover server.

Managed Accounts

  • It reduces the load of managing various service accounts. SharePoint will take control all the service accounts we use inside the SharePoint (like changing the password automatically as per the policy or send a reminder when it is about to expire)

More to come…..

SharePoint 2010 Enhancements

Posted by Kasi Krishnamoorthy at 12/03/2009 05:57:00 PM


My first look at noticeable enhancements in SharePoint 2010.

1. Developer Dashboard.

  • Determining what part of the system is causing a delay or consuming resources was difficult in previous versions. With dashboard, it records and displays performance statistics related to the code that executed to produce the page (with elapsed time as well as the load placed on the system by queries and tracking of exceptions )
  • It can be turned on by the following command.
    • stsadm -o setproperty -pn developer-dashboard -pv OnDemand
  • It is like ASP.Net tracing, so it should be turned on only in test servers , no on production server ( for performance reason).

2. Silverlight Web Part

  • To provide rich interactive experience, sharepoint now provides native support to Silverlight files (XAP)

3. Chart Web Part (Only with sever edition, not on foundation)

  • Different chart creation webparts are available, like ASP.NET Charts.

4. SharePoint List

  • Lookup Field to display fields from another list with the site.
  • Lookup field relational enforcement.
  • automatic creation of indexes on lists when necessary

5. LINQ support

  • LINQ is a new data access paradigm and can improve performance by allowing the back
    end data source to decide the best way to solve the query.

More in the next.

Drives are running out of space

Posted by Kasi Krishnamoorthy at 11/30/2009 02:47:00 PM


I have nearly 20% free space in my development VM


SharePoint 2010 is complaining about drives running out of space and also listed as critical error.



I don’t know why this nagging error is displayed at home page of the central admin. But I figured out to clear out the error temporarily. 

Go to central admin –> monitoring


click review rule definition


Select the check box and click the edit button from the ribbon.


uncheck the enabled option.

Go to the health reports and clear out the error.

Select the checkbox and delete it from ribbon.


Installing 64bit SQL2008 On Windows 2008 R2

Posted by Kasi Krishnamoorthy at 11/23/2009 03:13:00 PM


My system Configuration: Intel Xeon Processor 64 bit with Windows 2008 R2.

When I try to install SQL server 2008, the following error message was displayed.


Then I realized that, only SQL Server 2008 SP1 can be installed on Windows 2008 R2.

Download SQL Server 2008 SP1, and follow the method mentioned in this article to slipstream SQL Server 2008 SP1

Note: If you want to use the SQL server 2008 with SharePoint 2010, you also need CU2 for Sp1 which can be found here (

Select “Run Program” and rest of the screen shots are self explanatory.


select installations and then select SQL server Standalone edition.



Enter Product Key and Accept License Agreement.

Then install setup support files…



Fix any issues..


Select the required components from the next screen.


Select the location for SQL server files


Select an account name for each service. you can also use the button at the bottom of the screen to assign one account for all the services. It is easy some time to use local system account.


Select the authentication method and assign at least one administrator to the server.


On the FILESTREAM tab of the Database Engine Configuration page, select the
options for Enable FILESTREAM for Transact-SQL access and Enable FILESTREAM
for file I/O streaming access. FILESTREAM can also be enabled later, if you don’t know whether this option is required or not.


On the Analysis Services Configuration page, specify an administrator as an
Analysis Services administrator by clicking the Add Current User button at the bottom
of the page



Select the Install the native mode default configuration on reporting services configuration section. The report server will be usable after the configuration.



Now you are ready to install and make sure the slipstream is defined properly as shown below.


If everything goes well, you should see success screen as shown below.


SharePoint 2010 Beta

Posted by Kasi Krishnamoorthy at 10/20/2009 08:34:00 AM

Pre-register today and get notified when SharePoint 2010 Beta becomes available in November. ​ Follow the link to pre-register


Also Microsoft just released documents (Visio files) about SharePoint 2010 System requirements and upgrade process (from SharePoint 2007).

Microsoft SharePoint Server 2010 Upgrade Planning

It includes

    • Upgrade requirements
    • Hardware, operating system, and database Upgrade process
    • Specific steps to follow before, during, and after the upgrade


Microsoft SharePoint Server 2010 Upgrade Approaches

It helps you understand the in-place, database attach, and hybrid approaches to upgrading from Office SharePoint Server 2007 to SharePoint Server 2010


Microsoft SharePoint Server 2010 — Services Upgrade

It covers the unique issues of upgrading services by using either the in-place or database attach approach are discussed.


Microsoft SharePoint Server 2010 — Test Your Upgrade Process

It explains the methodology for testing the upgrade process before upgrading from Office SharePoint Server 2007 to SharePoint Server 2010.

Create an Event Handler Feature with VSeWSS1.3

Posted by Kasi Krishnamoorthy at 10/06/2009 01:13:00 PM

How to: Create an Event Handler Feature with VSeWSS1.3


Read the following to understand about Event model and Feature in SharePoint.

· Event Fundamentals

· Working with Features

· Solutions Overview

Software Environment:

· VM with MOSS 2007 SP2

· Visual Studio 2008 Professional

· VSeWss 1.3

Object Model:

SharePoint Object Model exposes several event classes inherited from Microsoft.SharePoint assembly. There are four important classes:

· SPItemEventReceiver Class

· SPListEventReceiver Class

· SPWebEventReceiver Class

· SPFeatureReceiver Class

Building the Feature:

It shows how to add a simple event handler that prevents items from being added to a list. Two procedures are involved in this task:

· Creating an event handler in Microsoft Visual Studio

· Adding the event handler as a Feature in Windows SharePoint Services

1. Create a new project in Visual Studio by clicking File, pointing to New, and then clicking Project.


Select Empty project from the SharePoint template list and give a name to the project

2. Select GAC from the Trust Level ( Event Handlers must be deployed only in GAC)


3. In Solution explorer, Right click on the project, and Add a new Item to the project


Select SharePoint category and select the ‘event receiver’ template.


Select ‘Document Library’ from the list


4. This would have created set of files for ItemEventReceiver and ListEventReceiver, as shown below. Depending on the situation you can delete either one of the EventReceiver.


5. Open the ItemEventReceiver.cs file and add code to the ItemAdding event as shown below. The code will prevent adding new item to the list.


6. Similarly add code to the ListEventReceiver as shown below. The sample code will prevent adding new column to the list.


7. Select Project Properties and enter the URL location of website where you want to deploy the EventReceiver.


8. Next step is to create solution to deploy these two Features. Click on ‘WSP View’ (or press Ctrl+W,I), you can see list of files required for the Solution with two Features.


9. Open the ‘feature.xml’ under ItemEventReceiver and change the title to meaningful one. If required add ‘Description’ also.


10. DO the same for the other Event receiver.

11. Press F5 to compile and deploy the solution. Also this would create a WSP file under bin/debug directory. You can use this WSP file to deploy this in different website.

12. Go to SharePoint website, SiteActions->Site Settings->Site Feature and check that the two Features are deployed and activated properly.



13. Open the Document Library within the website and try to add an Item / a column. This should generate a custom error like this.


SharePoint 64-Bit

Posted by Kasi Krishnamoorthy at 9/10/2009 05:20:00 PM


It is highly recommended to prepare for migration of your applications to the next SharePoint version 2010, if any one of the following is applicable.

  • performance of the server farm is not meeting customers’ expectations,
  • the user base is growing rapidly,
  • the application pools are recycling more and more often
  • a scheduled equipment upgrade is approaching.

The basic requirement for 2010 is listed below..

  • SharePoint Server 2010 will be 64-bit only.
  • SharePoint Server 2010 will require 64-bit Windows Server 2008
  • SharePoint Server 2010 will require 64-bit SQL Server 2008 / 2005.
  • SharePoint 2010 will support only Internet Explorer 7, Internet Explorer 8 and FireFox 3.x IE6 is not supported.

Things to know/remember about 64 bit environment.

  • Not all 64-bit processors are supported. For example, Intel’s Itanium series of 64-bit processors uses a proprietary design that is not compatible with Microsoft SharePoint Products and Technologies. So research before ordering new hardware.
  • A 64-bit system architecture that is running a 64-bit edition of Windows Server can support up to 1,024 GB of both physical and addressable memory.
  • 64-bit environment does not require worker processes to cycle as often, so it can support more user base/server. So basically you can reduce number of servers in the farm to support more users compared to 32 bit environment.
  • In 64 bit environment(hardware/server/DB all 64 bit), it is possible for SQL Server to get very large working data sets entirely into RAM, thereby improving performance and scalability.

Best places to get more information about the new version and migration process:

  1. Advantages of 64-bit hardware and software (Office SharePoint Server 2007)
  2. Determine hardware and software requirements (Office SharePoint Server) 
  3. Migration strategy to a 64-bit environment (Office SharePoint Server 2007)
  4. 10 best practices for building SharePoint solutions

IE to Support the Proposed HTML 5 Standard.

Posted by Kasi Krishnamoorthy at 8/11/2009 12:57:00 PM


After years of veiled and even outspoken criticism from browser makers and many web developers, Microsoft has decided to start supporting the proposed HTML 5 standard in its Internet Explorer web browser. While known for its spotty support of even ratified standards, Internet Explorer has been moving in the right direction in recent years with IE 7 and the new IE 8. The current HTML 5 draft brings a number of advanced features and improvements and has seen great support from Google, Mozilla and Apple.

Microsoft’s SharePoint Thrives in the Recession

Posted by Kasi Krishnamoorthy at 8/10/2009 12:54:00 PM


Hang around at Microsoft’s Redmond, Wash., headquarters for five or ten minutes and someone dressed in khaki pants and a blue shirt is bound to tell you about the wonders of SharePoint — one of the company’s most successful and increasingly controversial lines of software. Think of SharePoint as the jack-of-all-trades in the business software realm. Companies use it to create Web sites and then manage content for those sites. It can help workers collaborate on projects and documents. And it has a variety of corporate search and business intelligence tools too. To read more, click here…

Prevent making changes to WSS content types.

Posted by Kasi Krishnamoorthy at 7/09/2009 03:20:00 PM


There are three ways you can prevent users from making changes to SharePoint (WSS) content types. Also there are few things to consider before taking these steps.

1: Read-Only content types:

You can set it read-only using the interface, like this..


But once you set it read-only, then:

  • You cannot make changes to the content type thro WSS interface.
  • YOU CAN only make Changes programmatically using object model.
  • Pushing down parent content type changes (if any) is little tricky.

2. Sealed Content Type.

This provides more control, but a content type can only be made sealed type by editing the XML definition of the content type.

But once you set it sealed, then:

  • You cannot make changes to the content type thro WSS interface.
  • You cannot make changes programmatically using object model.
  • Pushing down parent content type changes to the sealed content type is not possible.

3. Hidden type.

You can assign a content type to a predefined group called, “_Hidden” (case sensitive). You can set it as shown below..


But once you set it to hidden group, then:

  • Hidden types are not visible, so you cannot make changes to the content type thro WSS interface.
  • You can make changes programmatically using object model ( including inheriting).
  • Pushing down parent content type changes to the child content type is possible.

For hidden , see here for more information. Content Type Access Control

Hope it helps.

Deleting content type…

Posted by Kasi Krishnamoorthy at 7/08/2009 10:30:00 AM

In SharePoint 3.0, Can you delete a content type, if it is being used in other site or list ? No, you cannot. We know that we can create a content type based on other content type and each content type contains reference to the content type on which it is based on. SharePoint checks that before deleting a content type whether it is being used somewhere as a base of content type. You have to remove first the content type from all lists and sites that are using it.   But, the good thing is , WSS won’t consider the items ( that are using the deleted content type) in the recycle bin. So when you try to restore the list item after their content type has been deleted, the list items are assigned to default content type ( instead of giving strange error like “content type not found”.)



Mirrored Accounts

Posted by Kasi Krishnamoorthy at 4/29/2009 07:48:00 AM

ASP.NET Application with mirrored accounts.

If your Web server and database server are not in the same or trusted domain, then you cannot use windows based authentication. The workaround is to use mirrored accounts (other than storing username/pwd in the config file). To use this, create a local account with the same user name and password on each server and then create a SQL Server login for the local account on the database server (article collected from MSDN articles).

Create a local account (on Application Server)

  1. Create a local Windows account.
  2. Run the following Aspnet_regiis.exe command to assign the relevant ASP.NET permissions to the account: aspnet_regiis.exe -ga machineName\userName 
  3. Use the Local Security Policy tool to grant the Windows account the Deny logon locally user right.
  4. Use IIS Manager to create an application pool running under the new account's identity and assign the ASP.NET application to the pool.

Create an application pool that runs using a custom service account

  1. Start Internet Information Services (IIS) Manager.
  2. In the left pane, expand the local computer and then expand Application Pools.
  3. Right-click the Application Pools node, click New, and then click Application Pool.
  4. In the Add New Application Pool dialog box, type TestPool in the Application Pool ID text box. Leave the Use default settings for new application pool option selected, and click OK. This creates a new application pool called TestPool.
  5. Right-click the new application pool. and click Properties.
  6. Click the Identity tab.
  7. In the Application pool identity section, click Configurable.
  8. Type CustomASP in the User name text box.
  9. Type the password for the CustomASP account in the Password text box, and click Apply.
  10. The Confirm Password dialog box appears. Type the password again, click OK, and then click OK again.

Create a local account (on Database Server)

Create a local account on the database server using the same username and password as the account you created on the Web server (in the previous step).

  1. Create a local Windows account.
  2. Use the Local Security Policy tool to grant the Windows account the Deny logon locally user right.


Grant database access to the Custom Service account

  1. Create a SQL Server login for the Network Service account. If your database is on a separate server, create the login for the domainName\WebServerMachineName$ identity. You can use Enterprise Manager or run the following SQL statement in the osql command line tool to create the SQL login.

            exec sp_grantlogin 'domainName\WebServerMachineName$'

    2.  Create a database user in the required database, and map the login to the database user. Alternatively, you can run the       following SQL statements:

use targetDatabase


exec sp_grantdbaccess 'domainName\WebServerMachineName$'


  1. Grant permissions to the role. Ideally, you should grant execute permissions to selected stored procedures and provide no direct table access.

Change In Web.config

The connection string used with Windows authentication must include either the Trusted_Connection=Yes attribute,  as shown here.


<add name="MyDbConn1"



Could not able to uninstall SharePoint

Posted by Kasi Krishnamoorthy at 4/23/2009 02:21:00 PM


MOSS (2007 with SP1) installation on windows 2003 R2 (SP2) standalone machine. (Contains WFE, Appserver, and SQLDB with Embedded Edition)


Reason for crash:

The latest change in Auto update configuration of the machine, automatically updated the SQL server with SP2. This machine contains only MS embedded edition (which comes with basic installation of MOSS) of SQL server, not standard or higher. I think the SP2 is not for EE, and obviously corrupted the config DB.



After the latest MS patch, the MOSS server stopped working. It gave couple of error like this in the event viewer.

· Unknown SQL Exception 33002 occurred. Additional error information from SQL Server is included below.

Access to module dbo.proc_GetCurrent is blocked because the signature is not valid.

· The description for Event ID ( 33002 ) in Source ( MSSQL$MICROSOFT##SSEE ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: module, dbo.proc_GetRunnableWorkItems.

· Cannot start service SPAdmin on computer…. (part of configuration wizard rerun process).


Explored Solution:

1. Ran the SharePoint configuration wizard did not help. It stopped at the 4 or 5th point.

2. Server reboot did not give any help. Tried configuration wizard again….no luck.

3. Tried to upgrade the DB with the following command. %commonprogramfiles%\Microsoft Shared\Web Server Extensions\12\BIN\psconfig -cmd upgrade -inplace b2b -wait -force

4. So tried to remove the MOSS installation, Using Add/Remove programs. But I could not able to uninstall SharePoint trial version. The uninstall option quit without any error.

5. Ran the MOSS installation program(using installation CD) and chose the ‘remove’ option to remove the existing MOSS installation. This also did not work (program stopped without any error).

6. Finally I reinstalled the latest service pack, SP1, again on WSS and MOSS. Then I ran the configuration wizard, which went through without any error. The SharePoint sites started working (no errors in the log).


Strange... but worked..

Two DB with Standalone installation of SharePoint

Posted by Kasi Krishnamoorthy at 4/23/2009 01:58:00 PM


When I installed SharePoint on a standalone machine, it installed two different installation of SQL server

1. One is Embedded edition which stored the site content.  This database is located in Windows directory.  This one is running with service name of Microsoft##SSEE.


To connect to this use this as server name in SQL management studio:\\.\pipe\MSSQL$Microsoft##SSEE\SQL\query


2. The second installation for Search content and the location of the content DB is within 12 hives. This one is running with service name of OFFICESERVERS.




I am just wondering why do we need two instances of SQL server? We could have achieved with one SQL server instance. Any Idea?

IE Developer toolbar is a third party extension?

Posted by Kasi Krishnamoorthy at 1/27/2009 07:04:00 AM


Problem: IE developer toolbar stopped working

Environment : Windows 2003 Server

IE version: 7.0.5

When I installed the latest patch, it upgraded IE6 to IE7. The IE toolbar was working fine with IE6, and it stopped working with IE7. After lot of experimentation, it started working when I enabled third-party extension. Here is the screen shot.