I am trying to migrate from my current system, where I do merge replication from Windows Mobile devices running SQL Server CE 2.0 to a central database running SQL Server 2000 sp3a. I want eventually to move to a system running SQL Server 2005 CE replicating to a SQL Server 2005 back-end. But the transition will need to be gradual, and I may have to support both systems for a while until I can convert all clients from the old system to the new. I also need to do thorough testing.
So ... I'm trying to set up a test environment giving me the maximum possible flexibility to do my testing. Ideally, I'd like to set up SQL Server 2000 and SQL Server 2005 on a side-by-side basis, in a manner that would potentially allow mobile devices running both SQL Server CE 2.0 and SQL Server 2005 CE to sync with either back-end server.
Can someone provide me with guidance as what is possible to set up here? I know that SQL Server 2000 and 2005 can be installed side-by-side on the same server. It also appears that you can set up SQL Server 2000 so that EITHER SQL Server CE 2.0 OR SQL Server 2005 CE can sync with SQL Server 2000 (see www.microsoft.com/sql/editions/sqlmobile/connectivity-tools.mspx), but I don't know if it's possible for BOTH SQL Server CE 2.0 AND SQL Server 2005 CE to sync to the same SQL Server 2000. As for SQL Server 2005 ... it appears to be possible to set up SQL Server 2005 so that BOTH SQL Server CE 2.0 devices AND SQL Server 2005 CE devices can sync to the same SQL Server 2005 (see web page cited above). However, I don't know if it's possible to set up a SQL Server 2005 server installation in this manner while at the same time having a side-by-side SQL Server 2000 installation supporting any level of mobile merge replication.
HELP!!!!
The following Technet document describes side-by-side solutions for SQL CE 2.0 and SQL Mobile 2005:
http://www.microsoft.com/technet/prodtechnol/sql/2005/technologies/ceupgrade.mspx
Hope this will assist.
|||Erik -
That's a very interesting article, and I appreciate the reference, but it doesn't answer my questions, as it doesn't discuss side-by-side server installations of SQL Server 2000 and 2005. There is a brief discussion of the need to set up separate virtual directories on the server for SQL Server CE 2.0 and SQL Server 2005 CE, but that's about it for the server discussion.
The article at http://www.microsoft.com/sql/editions/sqlmobile/connectivity-tools.mspx contains some good information, but still does not address the questions I detailed in my original post.
Larry
|||Larry -
Installing SQL Server 2005 as a named instance on the same server will allow you to do what you are trying to acheive.
Virtual PC would also be able to assist in solving your problem.
Hope this assists.
|||Erik -
No, sorry, but your reply does not address my questions. Let me try to be more specific here.
Yes, I know that it's possible to set up SQL Server 2000 and 2005 side-by-side -- I've already done this. What I'm trying to figure out is: with SQL Server 2000 and 2005 set up side-by-side on the same server computer, how do you do the setup to maximize the number of compact-mobile editions of SQL Server that can be synched to each server version of SQL Server?
This is not an academic question. I'm trying to plan for a conversion of my existing client base, currently using SQL Server 2000 and SQL Server CE 2.0, to a configuration that eventually would use SQL Server 2005 and SQL Server CE 2005. The conversion needs to be tested, and may need to occur in stages. So, for example, let's say that (1) I have clients using a database on SQL Server 2000, and that these clients have a version of my Pocket PC software based on the SQL Server CE 2.0 platform, and (2) I create a version of the same server database and install it on SQL Server 2005. Would it be possible for these clients to switch over and sync to the SQL Server 2005 database (assuming, of course, that we make certain changes to the settings on the Pocket PCs -- for example, so that they point to a different IIS virtual directory and refer to the named instance of the SQL Server 2005 installation), without having to tear down my SQL Server 2000 installation and without affecting the ability of OTHER clients to continue to sync to SQL Server 2000? Then, once I know this is working, can I then implement a version of my Pocket PC software based on SQL Server CE 2005, and (while this new version is being deployed) have some of my clients sync to SQL Server 2005 using the old (SQL Server CE 2.0) mobile software, while others sync using the new (SQL Server CE 2005) software? In other words, can I support three different sync scenarios on the same server at the same time (SQL Server CE 2.0 to SQL Server 2000, SQL Server CE 2.0 to SQL Server 2005 and SQL Server CE 2005 to SQL Server 2005)?
Alternatively, the better way to go might be to first switch the database platform on the Pocket PCs, and later switch the back-end SQL Server from 2000 to 2005. I won't specify the details here -- presumably you have a good idea of the steps I would take to test this out and then implement the change. The only important point is that this introduces a fourth possible sync scenario -- synching from SQL Server CE 2005 to SQL Server 2000.
To clarify one thing: I'm not trying to figure out how to set up a single DATABASE so that it allows syncs from both SQL Server CE 2.0 and SQL Server 2005 CE. I'm perfectly willing to set up multiple databases and to test a single sync scenario on each. This will mimic what I hope to do in production, which is to migrate a client database from SQL Server 2000 to SQL Server 2005.
The main point here is, I need to be able to set up the most flexible possible test environment to figure out how to make this transition. Ideally, I'd like to be able to support all four sync scenarios on the same server. While I know that's it is possible to set up ANY of these syncs, I don't if it's possible to set up ALL of them on the same server. Also, from the little bit I know, it appears to be important to complete the set-up steps in the right order, in order to permit multiple possible sync scenarios.
Does this make my question any clearer? I hope so! And thanks for your help.
Larry
|||OK, Larry, thank for your clarification.
Yes, it is possible to do what you want, it would probably be a good idea to set up 4 virtual folders, 2 with sqlcesa20.dll and 2 with sqlcesa30.dll, each pointing to either the SQL Server 2000 or SQL Server 2005 repldata share.
I would, however recommend against the SQL CE 2.0 to SQL Server 2005 scenario, as this will prevent you from taking advantage of the advanced features of merge replication in 2005, like download only tables and pre-generated snapshots, as you 2005 publication then will have to be backwards compatible.
I would upgrade the device app to SQL 2005 and at the same time point it to a 2005 compatible publication. Remember to install SQL Server 2005 SP2 (or as close as you can get, ie the latest hotfix rollup)
|||Erik -
Thanks for that last post. Good guidance and advice.
Upgrading my existing client apps is not easy to do. It's difficult enough just to collect the devices to do the upgrade. If the upgrades take place over several days, then I have to figure out how to simultaneously support the old app and the new app until all upgrades are complete.
From my research, it may be important what order certain components are installed on a single server so that all components work properly. For example, it may be advisable to install the SQL Server 2000 replication components (for example, sqlce20sql2ksp4.exe), then the .NET 2.0 Framework, then the SQL Server 2005 Mobile/Compact Edition Server Tools (for example, sqlce30setupxx.msi). Not sure. I plan to spend the weekend trying to get this set up.
Before receiving your last post, I hadn't even considered trying to set up a single database with a backwards-compatible merge publication! I was planning to set up multiple databases in SQL Server 2000 and SQL Server 2005, with each database supporting a single type of mobile client replication. That's still my plan.
It would have been nice if Microsoft had provided us with more guidance on how to make this transition. There are bits and pieces of information out there, but nothing like a complete transiiton plan.
Larry
No comments:
Post a Comment