Question

Needing to replicate pieces of CRM database

Asked by: mortimer452

I have a customer using Microsoft CRM to manage a large contacts database and scheduling safety training seminars.

A new project requires me to have up-to-date contact and scheduling information available via the company's website, which currently uses a separate database with a subset of the contacts and meeting schedules in CRM.  The current database is updated manually and often gets out-of-sync with what's in CRM.

What I need are the Account and Opportunity entity data out of CRM (a handful of tables) replicated to another SQL server our website will use to integrate data into an online self-reservation application.  Ideally, I could use SQL Server replication and publish the handful of tables I need into a remote SQL database, and integrate the data from there.  However, I can't seem to find any documentation on whether or not SQL replication is supported or will break CRM.

This will be a one-way publish only, CRM is the "master" list of contacts and opportunities, the destination DB will be read-only.  I'd prefer to use SQL replication, since I'm familiar with it and can easily set it up to publish changes real-time, but I'm afraid it will cause problems with CRM.  SSIS may be an option as well, but the amount of data is enormous, and changed very frequently, it would be tough to setup something to identify which records have been changed/added since the last transfer to keep it efficient.

Is SQL replication possible with CRM?  How does CRM normally work in a geographically separate environment, keeping data in sync with multiple locations?

Any help is appreciated!

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-06-05 at 20:23:06ID24468750
Tags

SQL Server

,

Replication

,

Microsoft CRM

Topics

MS SQL Server

,

SQL Server 2005

,

Microsoft Applications

Participating Experts
2
Points
500
Comments
10

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Creating new child entities and linking to Opportunity - Dyn…
    I am looking to create child entities for Opportunities. The purpose of this is to store Documents in a Notes field in the child entities, in order to implement a type of security. I have different groups of users who need to access the Opportunities. But the groups need t...
  2. Cannot add 'New Opportunity Product' to an Opportunity …
    In Microsoft CRM 4, when I open an Opportunity, goto 'Products' and click on 'New Opportunity Product' I get 'Error on page' showing up in the bottom status area of my browser. Products will not add to the opportunity and when I close the opportunity window an error dialog w...
  3. CRM admin
    I have a request froma a user to transfer all accounts,contacts and open opportunities from one CRM user to another. Is this possible to do all of them at once? or what would be the best way to do it? I am new to CRM so dont know it well. Thanks ConSol IT
  4. CRM Plug-in
    I have a form in CRM called "Manual Purchase". By using a plug - in I want to retrieve the columns on that form and read the data out of that. Can someone tell me what kind of code I will need in order to retrieve the entity and then go through the controls of the e...
  5. CRM 4 - Add additonal required fields to Sales>Opportuni…
    Running CRM 4 and the sales manager would like to see a required field, drop box to be exact, to the Sales>Opportunity section. (see ss1) We would like this drop box to be titled Sales Cycle with the following fields: Not Qualified Lead Qualified Lead Requirement Establi...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: feridunPosted on 2009-06-05 at 23:43:11ID: 24561937

Using SQL replication is not a supported scenario for Microsoft CRM. There can only be one database supporting the CRM application.

If you want to have the data elsewhere you'll need to do one of the following:
- copy data using the views that are defined in the CRM database
- copy data using the CRM web service calls using the methods described in the CRM SDK
- access the required data using the CRM web service calls from your web application without making a copy

There may well be people who have set up replication and got it to work.

Hope this is of help.


 

by: ZberteocPosted on 2009-06-06 at 06:00:15ID: 24562924

Replication should work on any SQL database regardless the application that uses it. If Microsoft CRM uses SQL database, as one would expect, then is possible providing you have the right permissions.

Just setup a transactional replication from the CRM SQL server from your database to the target server and database. You will add as articles to be replicated only the tables you need.

The replication will not give you trouble unless the CRM application attempts to modify the table structure. You can't do that in the normal way with replicated tables. If that doesn't happen then you should be fine.

Here is a step by step guide to setup the transactional replication:

http://www.databasejournal.com/features/mssql/article.php/1438201/Setting-Up-Transactional-Replication-A-Step-by-step-Guide.htm

 

by: ZberteocPosted on 2009-06-06 at 06:04:40ID: 24562939

Sorry, that was an old article, here is a newer one:

http://www.code-magazine.com/article.aspx?quickid=0311101&page=1

Anyway, there are wizards and tools when setting up replication so you should be able to do it.

 

by: ZberteocPosted on 2009-06-06 at 06:06:18ID: 24562941

 

by: mortimer452Posted on 2009-06-07 at 09:29:00ID: 24567094

Thanks Zberteoc, but I'm already very familiar with and aware of of SQL transactional replication capabilities, how to setup, etc.  My concern is specifically with MS CRM, and whether this will cause problems for my CRM users.  As far as I can tell, CRM modifies the actual table structure when you add a new custom field for an Account, or Opportunity, etc., and if those tables were replicated I'm sure those modifications would fail.

Any other suggestions from anyone?  I'm considering sorta building my own transactional replication, using triggers to keep track of insert/update/delete comands against the AccountBase and OpportunityBase tables, which I could transfer to the other SQL server later.  Like I said SSIS may be an option but the tables are really large, and I need the data updated as close to real-time as possible, it would be tough to identify only the changed rows using SSIS and just transfer those.

 

by: feridunPosted on 2009-06-07 at 13:57:44ID: 24568072

Microsoft CRM is more than just a database. It is a .net web based application built on a four-layer model - Presentation (IE or CRM for Outlook), Application (the CRM application installed on a server in other words the web site), the Platform and Database.

The Platform layer provides the CRM functionality and abstracts the physical structure of the underlying database. As you rightly mention, when a new field is added to an account, the Platform layer will modify the relevant tables to accommodate the new field. The structure of the tables is irrelevant as all access has to be via the Platform. This maintains the integrity of the CRM application. Yes, of course, you can interact directly with the database but if you do you are on your own.

To quote from the CRM SDK:

"Modifications to the physical schema of the database, other than adding or updating indexes. This includes any actions performed against the database without going through System Customization. Modifying tables, stored procedures, or views in the database is not supported. Adding tables, stored procedures, or views to the database is also not supported because of referential integrity or upgrade issues. Note   This applies to all Microsoft Dynamics CRM databases and the Microsoft Dynamics CRM for Microsoft Office Outlook local database.
When you change the database without using System Customization, you run a good risk of problems occurring during updates and upgrades. "

Have you considered using workflow to track changes? Workflow can respond to changes to data and creation of new records.

 

by: ZberteocPosted on 2009-06-07 at 18:49:00ID: 24568819

<<Thanks Zberteoc, but I'm already very familiar with and aware of of SQL transactional replication capabilities, how to setup, etc.  My concern is specifically with MS CRM, and whether this will cause problems for my CRM users.  As far as I can tell, CRM modifies the actual table structure when you add a new custom field for an Account, or Opportunity, etc., and if those tables were replicated I'm sure those modifications would fail.>>

If that's the case  mortime452 no offense but I don't understand really the purpose of this question as you already suposedly know the answer to it: simply YOU CAN"T replicate those tables.

On the other hand nobody stops you from pulling the data from the tables where and when you want by using a simple DTS or SSIS, on depending on your SQL version or by creating a linked server to the CRM database. Adding triggers is a less happy solution as it might impact your performance but is doable as well.

So, there are solutions to your problem but replication is not one of them.

Good luck!

 

by: mortimer452Posted on 2009-06-07 at 20:22:48ID: 24569064

OK, thanks all, definitely sounds like transactional replication is a bad idea.

I'm not super familiar with CRM as you can probably tell.  What is the "normal" way folks work with CRM in a disconnected or multi-site environment?  I mean, if I have an office in Singapore and an office in Chicago, and they both require LAN-speed access to the same CRM data, do they both have to access the same SQL server?  Is there no supported configuration for multiple databases or synchronization between sites?

 

by: ZberteocPosted on 2009-06-08 at 06:49:31ID: 24571970

It is only a bad Ideea because of how CRM application works, and I know nothing about that except of what I found in this question. My post was strictly from database perspective.

If a table is replicated simple alter statements will fail so you can't use replication in the CRM context because the application DOES alter tables, as I learned.

Other than that as I already said is a matter of preference how you make data accessible to other servers. Probably  a linked server would work or using OPENROWSET or OPENDATASET functions withd ad-hoc queries or just build your own read only pull data process from the CRM database on the server where you need that data by using DTS, SSIS or just an application for this purpose. As long as you don't change the structure and data in those tables, except through the CRM application of course you should be fine.

 

by: mortimer452Posted on 2009-07-04 at 22:42:54ID: 31589494

Thanks for your insight into the CRM application, I'll work out some solution.  Will probably end up using SSIS to transfer the data I need on a scheduled basis.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...