Different Groups get created in Active Directory while installing CRM 2011


While Installing CRM 2011 we can observe that there are total 5 Groups being created in Active Directory.

1) PrivReportingGroup
2) PrivUserGroup
3) SQLAccessGroup
4) ReportingGroup And
5) UserGroup

Hope this helps!:)


Entity ownership in crm 2011


Today’s topic is Entities Ownership.

In CRM 2011, when we create a new custom entity we can define the “Ownership” by choosing “Ownership” option at the time of entity creation.

We can observe two options available over there as “Organization” & “User or a Team”. We will find the what is the difference between these two options.

Organization owned entity

  • Records of “Organization owned entity” can be viewed / accessed by the whole organization
  • Records cannot be shared or Assigned
  • The security roles for organization-owned entities have only two access levels: None and Organization

User or a Team owned entity

  • Records of “User or a Team owned entity” can be limited to users or teams, so that we can restrict data access only to authorized users
  • The user-owned or team-owned entities have all five access levels: None, User level, Business unit level, Parent: Child Business unit level, Organization

Hope this helps! 🙂

Difference between Secure and UnSecure Configurations in CRM 2011 Plug-In Registration Tool.


Todays’ topic we will see the main difference between the Secure and UnSecure Configurations which we will see in CRM 2011 Plug-In registration tool.

Secure Configuration

  • The Secure Configuration information could be read only by CRM Administrators.(Eg: Restricted data from normal user could be supplied here)
  • The plugin with secure configuration in a solution was exported as Managed Solution to another environment. In this scenario, the supplied secure configuration information would NOT be available in the new environment. The simple  reason behind this is to provide more security to the contents of Secure Configuration

Unsecure Configuration

  • Unsecure configuration information could be read by any user in CRM. Remember its public information (Ex: Parameter strings to be used in plugin could be supplied here)
  • Included plugin and plugin steps in a solution are available in the new environment once after we import the solution in the new environment.

Performance Optimization for Dynamics CRM 2011


This blog will give you all possible information about Performance Optimization for Dynamics CRM 2011.

 Performance Optimization for Dynamics CRM 2011

  • Client side 
  • Server Side Configurations 
  • Database level

 Client Side:

Deciding factors to improve the performance of CRM client.

It depends “How quickly you get the response from the browser and once you receive it how fast you render the objects from the response on the page”.

Measure in the system to confirm that we need to improve the performance.

  • Time to First Byte
    • The time the browser receives the first byte from the server after a request has been made. It is all about optimizing the traffic, if we can optimize the traffic, we can reduced the traffic and eventually the performance improvement will happen. 
  • Render Start Time
    • The start render time is the moment something first displays on the user’s screen. Optimizing start render time is mainly a function of server response and optimizing the efficiency of the elements in the HEAD of HTML documents. 
  • DOM Content Loaded
    • The DOMContentLoaded event is triggered when the page’s Document Object Model (DOM) is ready, and when the document has been completely loaded and parsed, without waiting for style sheets, images, and sub frames to finish loading. 
  • Page Load Time
    • Time to load the entire page.

After going through all these scenarios and with my experience I feel the best solution for this client side performance is the “Simple & efficient customizations

The Java script also can reduce the performance. So it is better to load the required script when you really required.

And the other factor is the Ribbon customizations. Contextual ribbons.

Here is a checklist which can help us identifying and reduce the issues with our client performance:

  • Optimize Form Load Experience.
  • Keep less fields on the form.
  • Do not over use scripts (Avoid OnLoad; Use OnChange since its on demand).
  • Trim the ribbon appropriately.
  • Be wary of client side enabled rules.
  • Use collapsed sections whenever possible.
  • Use server side show/hide fields.
  • Use ‘read optimized’ forms.
  • Use iFrames carefully, the more you have longer it takes to load.
  • Use Sub-grids, where necessary as it tend to increase page size quickly.
  • Manage the complexity and visualizations of dashboards.

 Server Side Configurations: (High Level)

  • Using Compression Techniques
    • Compression techniques designed to optimize network performance directly affect the size of the data files transmitted over the network
  • Configuring HTTP Compression
  • Using WAN Accelerator Hardware
  • Configuring Proxy Server Settings
  • Reducing E-Mail Traffic by Modifying Outlook Rules 

Database level:

  • Data cleanup on PrincipalObjectAccess table
  • Data cleanup on AsyncOperationBase table.
    • For every async operation happens in Dynamics CRM 2011, a record gets saved in Asyncoperationbase table. So there is a possibility to grow this table very fast. To control growing this table size and save disk space, need to set “Automaticlaly delete completed workflow jobs” & “Delete AsyncOperation If statusCode =Successful” settings are done in Workflows and Plugins.


Hope this helps!

User is not able to Login into CRM 2011 organization which was Upgraded from CRM 4.0

This is one more recent experience which I faced.

I upgraded CRM 4.0 Organization (which was originally upgraded from CRM 3.0) to CRM 2011. everything went fine with very minor hurdles. We tested the upgraded organization by login into that organization my domain credentials. We are able to get in into the site and everything works fine.

Once after sending our confirmation email to our client, suddenly our client reported that they are not able to get in into the site even after providing their domain credentials. But earlier they never faced this issue with the CRM 4.0 Organization.

Here is the error they are getting.

Server Error
404 – File or directory not found.
The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.
After doing little bit R&D first we found that there are two user records in the system with same domain name. May be one was created on CRM 3.0 and deactivated and after upgrade to 4.0 one more user got created with same domain name. (We are not sure how it allowed)

Now we understood that the user mapping is not done properly at the time of CRM 2011 upgrade process. To fix our issue and to allow the user to login into the system we changed the OLD user record to point to other domain user. and we did the same exercise with the current user record also.

Once after that we repointed back the existing user to use the same domain credentials. Now the user mapping is done properly for the user and is able to login into system.

Hope this helps to anyone 🙂

Client Care Portal Performance is too slow and the fix for that


Here is my recent experience with the CCP Accelerator and portal performance.

We have our CRM 2011 Organization and on top of that we installed the CCP accelerator to configure the Client care portal.

We configured the 2011 Organization as IFD and connecting to that we have our regular Portal which is also a public secure website. Now we configured the Client Care portal on some other server apart from the CRM 2011 App server as we have to use the different security certificates for our regular portal and for the Client Care Portal.

Starting the day when we configured the CCP on the other server, we are experiencing the performance of the site. It is taking tool long to load each and every page in the Client care portal.

As an initial step to increase the performance of the site we converted all our data retrieve calls to data base procedure outputs and binding the data to the required results. Even after that we feel still the site is slow;

Now we concentrated to look for the actual root cause and found that the “Microsoft.IdentityModel.dll” should be there in system “Global Assembly Cache (GAC)” where the Client care portal site got configured.

We placed this “Microsoft.IdentityModel.dll” in system “Global Assembly Cache (GAC)” and wow! the system started working great.

Now after this system too fast, but on the next day I observed that there is Cache leak on this approach. And found the solution for this again with the web.config entries so that the changes which we are doing in CRM to reflect immediately on the Client care portal side.

Here are the config entries which I updated.

<add verb=”*” path=”Cache.axd” type=”Microsoft.Xrm.Portal.Web.Handlers.CacheInvalidationHandler, Microsoft.Xrm.Portal”/>
<add verb=”GET” path=”Event.axd” type=”Site.Services.EventHandler, Site”/>

<add name=”CacheInvalidation” verb=”*” path=”Cache.axd” preCondition=”integratedMode” type=”Microsoft.Xrm.Portal.Web.Handlers.CacheInvalidationHandler, Microsoft.Xrm.Portal”/>
<add name=”Event” verb=”GET” path=”Event.axd” preCondition=”integratedMode” type=”Site.Services.EventHandler, Site”/>


Hope this helps!:)

CRM 2011 Update Rollup release build numbers, and how to find


Today I am going to explain about how to find the CRM 2011 On-Premise build numbers.

The Build list has been updated up to Update Rollup 13.

To determine your current build number from the IE web client, simply:
1.Browse to your CRM 2011 website
2.Click on the File tab
3.Navigate to Help
4.Click on “About Microsoft Dynamics CRM”

A window will pop up with your build number listed

Microsoft Dynamics Version

See below for a chart of the Dynamics CRM 2011 build versions

Version Release Date Build Number
Release Candidate 5.0.9688.53
Beta (On Premise) 5.0.9585.106
Beta (Online) 5.0.9585.107
RTM February 16, 2011 5.0.9688.583
Update Rollup 1 April 7, 2011 5.0.9688.1045
Update Rollup 2 June 2, 2011 5.0.9688.1155
Update Rollup 3 July 28, 2011 5.0.9688.1244
Update Rollup 4 September 22, 2011 5.0.9688.1450
Update Rollup 5 October 25, 2011 5.0.9688.1533
Update Rollup 6 January 20, 2012 5.0.9690.1992
Update Rollup 7 March 22, 2012 5.0.9690.2165
Update Rollup 8 May 3, 2012 5.0.9690.2243
Update Rollup 10 August 16, 2012 5.0. 9690.2730
Update Rollup 11 October 11, 2012 5.0.9690.2835
Update Rollup 12 Jan 7, 2013 5.0. 9690.3236
Update Rollup 13 March 26, 2013 5.00.9690.3448

Issue with Clean AsyncOperationBase Job execution


Recent past to clean the AsyncOperationbase table in CRM 2011 I have created a job with the following code which I found in


but when I tried to run the job I am getting following error

Executed as user: SOLUTIONS\SQLAdmin. CREATE INDEX failed because the following SET options have incorrect settings: ‘QUOTED_IDENTIFIER’. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or XML data type methods and/or spatial index operations. [SQLSTATE 42000] (Error 1934). The step failed

Today I was able to figure out solution for the issue after a small R&D.

I added


at the Top of the script and


at the end of the script.

Now when I run the job it went fine. no issue

Hope this helps someone:)

How to Increase the Record Page Limit on OData Retrieve Responses for Dynamics CRM 2011 on IFD environment? – IFD Server


Today I want to share something about the practical problem which I faced with OData retrieve Limit and how I over come that.

My development Team used OData retrieve Responses methods to fetch the Team Members in CRM 2011. Everything went well till last week. Last week few more used joined to our team. So as a Project Manager I added them into my team. But after that when we tried to check those members in the required place we did not find them. Now my turn came to check for the cause and to fix the issue.

When I check the details, My first observation is the OData Retrieve Response limit. By default is 50 as per the Microsoft Dynamics CRM settings.

Now My initial step is to increase the 50 records Page list on OData retrieve Responses via an advanced configuration setting stored in MSCRM_Config.

The specific setting that imposes the 50 record limit is called ‘MaxResultsPerCollection’ and it’s part of the ServerSettings configuration table.  We can get more description of MaxResultsPerCollection and other ServerSettings from this link: http://msdn.microsoft.com/en-us/library/gg334675.aspx.

Advanced configuration settings can be modified either programmatically via the Deployment Service or via PowerShell cmdlet.  The CRM 2011 SDK provides an example of how to set an advanced configuration setting via the Deployment Service here: http://msdn.microsoft.com/en-us/library/gg328128.aspx

To update the setting via PowerShell, we have to execute each of the following at the PowerShell command-line:

Add-PSSnapin Microsoft.Crm.PowerShell
$setting = New-Object “Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity”
$setting.LogicalName = “ServerSettings”
$setting.Attributes = New-Object “Microsoft.Xrm.Sdk.Deployment.AttributeCollection”
 $attribute = New-Object “System.Collections.Generic.KeyValuePair[String, Object]” (“MaxResultsPerCollection”, 75)
 Set-CrmAdvancedSetting -Entity $setting

Alternatively, we can use the PowerShell script which was provided in the CRM 2011 SDK to update advanced configuration settings: [SDK Install Location]\samplecode\ps\setadvancedsettings.ps1

To be able to execute scripts, we must first set our PowerShell execution policy to allow unsigned local scripts by using the following command

Set-ExecutionPolicy RemoteSigned

Then, we have to execute the ‘setadvancedsettings.ps1’ PowerShell script from the SDK and pass in the configuration entity name (string), attribute name (string), and new value (Int32).

& “[SDK Install Location]\setadvancedsettings.ps1” “ServerSettings” “MaxResultsPerCollection” 75

After performing either of the two methods above to update our setting, we can verify that the change was successful by inspecting the ServerSettingsProperties table in MSCRM_Config database.

[ID], [ColumnName], IntColumn
ColumnName = ‘Maxresultspercollection’

Now I tried my First Option(Executing PowerShell commands) to set the MaxResultsCollection Option to 75 on my DEVELOPMENT region. It worked fine and excellent.

Now I tried the same steps on my UAT region. it did not execute properly and I got the issue by saying that

Set-CrmAdvancedSetting : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

Now Again I started my RND on this. I tried to recollect all the differences on my both (DEV and UAT) environments. The only difference is the IFD configuration on UAT region. Now I understood that the problem with the Web Address settings on UAT server (Microsoft Dynamics CRM Properties).

When I check the Details (Microsoft Dynamics CRM Properties) via Microsoft Dynamics CRM Deployment Manager I found that all the WEB Address Settings are pointing to LOCAL Server not to the IFD. Now my immediate action is to update the settings to point to IFD.

With the Help of My Network administrator we update the setting to point to appropriate IFD URLs.

Now after that I executed the PowerShell commands on my UAT server. 🙂 Now all commands got executed and we are getting the required results in our output.

Hope it helps! 🙂

Dynamics CRM 4.0 in IE10


Today I want to share something about browsing the CRM 4.0 Organization on Windows 7 Professional having IE 10.

First time when I tried to browse the CRM 4.0 Organization on my machine having IE 10 installed this morning it did not work. It showed blank page.

I tried to browse for the fix on Microsoft site. While doing that meantime I tried to open the same site in IE 10 by changing the browser mode to Compatibility Mode to 10 Compatibility mode then it started working fine.:)

when I check the kb article it is still showing that the IE 10 compatibility is still TBD. please check the link for more details.