With the launch of Microsoft Dynamics CRM 2016, out of many important features added one is Solution Segmentation and Patches.
With solution segmentation we can now export solutions with selected entity assets (fields, forms, views, etc.) rather than entire entities with all the assets.
This helps a lot as previously if we were required to deploy a single new view created for an entity, we were required to deploy and publish the complete entity. This used to end up deploying some under development depended components too. The feature is most importantly useful in applying patches.
This feature allows granular control of the solution package without changing any XML. This will make ALM and Deployments much smoother.
Also by making use of the API aspect, we can try to automate build and deployment process.
Supported entity assets that can be selected for a entity are:
- Relationships (1:N, N:1, N:N)
- Business Rules
- Hierarchy Settings
Follow TechNet articles for more information on Use segmented solutions and patches to simplify solution updates
While working on one of the project, we were required to move data from legacy system into a live production system with limited amount of black out window. One can calculate the time required based on number of records, server configuration, etc. and can even have a buffer. But you never know when Murphy will play his role.
Below are few points that, if considered can help Murphy stick to its seat and don’t show up. (Just some pre-checks that helps the processJ)
- Confirm disk space on SQL, web and application server. Have some buffer space as logs will grow.
- As your target system is a live production system, surly there will be some scheduled maintenance jobs running to maintain server health as part of disaster management. These jobs are life savers but problem with them is that these are scheduled in down time as they consume high resources. And unfortunately this is the only time when we can perform our import. Thus you may have to consider pausing the maintenance jobs. But do remember to turn them on once done with the import. Some of the resource consuming jobs are: consistency check, database backup, async-operation cleanup, POA, etc. Pausing this job helps the import utilize maximum available server resources.
- Check the database log size and clear. The log will grow with the import and if it reaches the maximum available threshold the import processes throws timeout errors. Also check the shrink process, preferred if simple.
- Check for CPU and Memory usage on SQL, web and application server.
- Check for any blockage on SQL server, if any script is blocking or slow running queries.
- Clear AsyncOperationBase table.
- You may run into scenario where it is required to restart the SQL service. Make sure that this do not affect any other process. Also in case of NLB, upon restarting the SQL service switches the active node. Thus you will also have to consider that node for performance check.
- You may have to disable the user logging and turn off the workflows and plugins.
And last but not the least is FULL database backup before start of the process. Also you make to do this in several passes due to amount of data and limited amount of down time. Identity the steps that can be performed outside black out that do not affect live system. This provides some extra time for completing the critical steps.
I would recommend to do the import in multiple small passes which helps in keeping the buffer and reduces the chances of breaking things or running on edges. After all “Rome was not built in a day”.
These are some of the steps that helped me. As always, these may not match exactly to your requirement but some of them will surly. And I don’t guaranty of anything from the steps as risk will be yours as it’s your production system.
If you have anything to add, please write in comment and I will update the content. Thanks!
Dynamics CRM 2016 release includes updates to all online services, including Microsoft Dynamics CRM 2016, Microsoft Dynamics CRM Online 2016, Microsoft Dynamics Marketing 2016, and Microsoft Social Engagement 2016. Below are some quick notes from the guide. Complete guide is available here.
- Microsoft Dynamics CRM is a major release that will be delivered to both online and on-premises customers.
- The online services – Microsoft Dynamics CRM Online 2016 Update, Microsoft Dynamics Marketing 2016 Update, and Microsoft Social Engagement 2016 Update – will be delivered as a customer driven update.
- Introducing capabilities like intelligent product suggestions (for up-sell / cross-sell) and recommended cases and knowledge to resolve customer service cases.
- Field service capabilities with the acquisition of FieldOne.
Adding SMS as a marketing channel to our multi-channel campaigns in MDM with features as:
- Support for outbound and inbound SMS marketing.
- Maintain a database of opt-in and opt-out preferences of your marketing contacts.
- Send outgoing promotional SMS messages to opt in contacts for SMS.
- Tracking performance of your SMS campaigns.
- Enriching the email editor with features to generate HTML in your emails interactively.
- CRM App for Outlook.
- Excel Integration: To help increase productivity, Microsoft is providing the ability for salespeople to conduct analysis in Excel, directly within Microsoft Dynamics CRM.
- OneDrive for Business
Document Generation: Building a beautiful document based on CRM data is now simplified with Document Generation.
- With one click users can easily generate a document from CRM using pre-defined Word and Excel templates.
- Authors can manage the pre-defined templates and using a wizard like flow build custom templates in Word or Excel.
- Document templates are role based by entity to ensure users have the proper content to meet their needs.
- Cortana Integration
Voice of the Customer: Dynamics CRM 2016 includes a new survey designer that to create and send out questionnaires to collect feedback from customers about your products or services.
- When a customer completes a survey, rules in Dynamics CRM can trigger follow-up actions that occur immediately.
- Multi-stream Dashboard
- Single-stream Dashboard
- Modern and intuitive UI design
- External Party Access: External Party Access is the foundation that allows external parties such as Employees, Customers and Partners to access CRM data with the right level of permissions.
Unified Service Desk
- Out of the box integration is now available with any third party systems such as Azure HDInsights.
Social Listening & Social Analytics
- In addition to Twitter, Facebook, Blogs (WordPress/Tumblr), Videos (YouTube) and News, you will now be able to search boards/forums and custom sources via RSS.
- Adding 14 additional languages: Arabic, Chinese, Danish, Dutch, Finnish, Greek, Hebrew, Japanese, Norwegian, Polish, Russian, Swedish, Thai and Turkish.
- Bulk Data Loader for CRM Online
- Next generation search
- Azure Machine Learning and insights integrated into the CRM user interface, removing the complexity of requiring data scientists or understanding ML models.
I’m not an expert in SQL Server and related stuff like replication but recently faced an issue with simple solution deployment in CRM 2011.
I was trying to deploy an unmanaged solution consisting of Contact entity where I had created a new custom field. When I tried to import the solution, the solution import used to fail without any specific error even in the downloaded log. All components used to process successfully with only Root Components status as unprocessed where the import used to fail.
Then I tried to create the field manually by customizing the entity. When I tried to create a new field, I used to get SQL Server error. The log here too had not much helpful information.
These error messages occurs when SQL Replication is enabled for Microsoft Dynamics CRM databases and you attempt to insert into a text, ntext, or image column that is published in a replication article.
In this case, you get below error.
System.Data.SqlClient.SqlException (0x80131904): Length of LOB data (14349284) to be replicated exceeds configured maximum 65536.
Below article describes the resolution for it.
‘max text repl size’, 14349284
In few cases, above resolution didn’t worked for me. The only way that we could figure of was to import the solution by un-publishing the related replication articles and then publishing.
Recently customer came up with a query that CRM performs multiple updates and all these updates are logged inside audit history.
Here is what was happening.
- CRM user updates “Middle Name” field.
- On checking audit history, we have three entries for “Full Name”, “Middle Name” and “Yomi Full Name”.
We didn’t had any plugin or customization done here. After verifying on vanilla CRM online environment we found that these extra updates are performed by CRM internal engine/plugin.
Now comes the question, if we cannot customize “Full Name” field to show middle name in it then why we need an update like this?
What is “Yomi Name”?
Yomi Name is an out-of-the-box field that has the same functionality of First and Last Name for a contact. However, it allows for the user to indicate the phonetic annunciation of the name as described in the description of the field:
“Type the phonetic spelling of the contact’s first name, if the name is specified in Japanese, to make sure the name is pronounced correctly in phone calls with the contact.”