3
votes

We currently have a single business unit and 90% records are owned by a single Scribe user. Now we have added a new business unit and out of 400K contacts, 30K contacts will be moving under this new business unit.

I have created a new user in CRM who belong to this new business unit. Next step is to change the owner of these 30K contacts to newly created user.

Correct me if I am wrong, but this is the only way I can move these 30K contacts in to the new business unit?

Problem I am having is changing owner field of these 30K contacts in one go. I can use advance find and then change owner that way but imagine doing 30K this way?! I can also export excel sheet with all records, change owner and import it back in but that gives error (may be because I am changing a very important security related record?)

One last option for me is to make this change directly in to the CRM database but that is not my favorite choice.

Any suggestion will be very appreciated.

3

3 Answers

3
votes

You can also write a console application using the CRM 2011 SDK

http://www.microsoft.com/en-us/download/details.aspx?id=24004

this application will execute a RetrieveMultiple

http://msdn.microsoft.com/en-us/library/gg328149.aspx

and because are more than 5K need to do paging as explained here:

http://msdn.microsoft.com/en-us/library/gg327917.aspx

for each retrieved record you need to set the new owner using an AssignRequest message

http://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.assignrequest.aspx

0
votes

The MSCRMToolkit on Codeplex has a Workflow Execution Manager utility which allows you to run an On Demand workflow on a FetchXML recordset. Haven't tried it myself yet but have been keeping it in my back pocket, just in case.

0
votes

I know this is an old question but the easiest way I find to change the Owner on a large amount of records is to (carefully) edit the database directly. If you know what you're doing with SQL then it's a piece of cake, otherwise I would steer clear.

To Update the Owner of a Lead:

USE <DEPLOYMENT>_MSCRM
GO

UPDATE LeadBase
SET OwnerID = <guid of owner here which can be found in the OwnerBase Table>

It is similar for other entities, OpportunitiesBase for Opportunities etc.

***** WARNING, this will update every record in the LeadBase Table *****