The cross-version compatibility scenarios for merge replication in SQL Server Compact 3.5 can be summarized as follows:
- SQL Server Compact 3.5 can synchronize only with Microsoft SQL Server 2005 and not with Microsoft SQL Server 2000.
- The SQL Server Compact 3.5 Server Tools package enables synchronization between SQL Server 2005 and the following products:
- SQL Server Compact client version 3.0
- SQL Server Compact client version 3.1
- SQL Server Compact client version 3.5
This synchronization occurs through SQL Server Compact 3.5 Internet Information Services (IIS) components.
- Microsoft SQL Server Compact 3.5 Service Pack 1 (SP1) can synchronize with both SQL Server 2005 and Microsoft SQL Server 2008.
- The SQL Server Compact 3.5 SP1 Server Tools package enables synchronization between SQL Server 2008 and the following products:
- SQL Server Compact client version 3.0
- SQL Server Compact client version 3.1
- SQL Server Compact client version 3.5
This synchronization occurs through SQL Server Compact 3.5 SP1 IIS components. - The SQL Server Compact 3.5 SP1 client version can synchronize with SQL Server 2008 and SQL Server 2005 from the database side.
Product version information
The product names and code names that are used in this article are described in the following table.
Collapse this tableExpand this table
| Version
| Official name | Code name
| General name |
|---|
| Client 2.0 | SQL Server 2000 Windows CE Edition SQL Server Compact 2.0
| Not applicable | SQL CE 2.0
|
| Client 3.0 | SQL Server 2005 Mobile Edition
SQL Server Compact 3.0 | Not applicable | SQL CE 3.0
|
| Client 3.1
| SQL Server 2005 Compact Edition
SQL Server Compact 3.1
| Not applicable | SQL CE 3.1 |
| Client 3.5
| SQL Server Compact 3.5
| Not applicable | SQL CE 3.5
|
| Server 8.0
|
SQL Server 2000
| Shiloh | SQL Server 8.0
|
| Server 9.0
| SQL Server 2005 | Yukon | SQL Server 9.0 |
| Server 10.0 | SQL Server 2008 | Katmai
| SQL Server 10.0 |
SQL Server tools release plan
Phase 1
We plan to release the following tools in Phase 1:
- SQL Server Compact 3.5 Server Tools package for SQL Server 2005
- SQL Server Compact 3.5 Service Pack 1 (SP1) Beta Server Tools package for SQL Server 2008
Phase 2
We plan to release the following tools in Phase 2:
- SQL Server Compact 3.5 SP1 Server Tools package for SQL Server 2005
- SQL Server Compact 3.5 SP1 Server Tools package for SQL Server 2008
Note These new packages will replace the Phase 1 packages.
General information for deployment
- You can install SQL Server Compact client version 3.0 and SQL Server Compact client version 3.5 by using a side-by-side installation.
- The SQL Server IIS components version must be equal to or earlier than the SQL Server publisher version.
- You can install the SQL Server IIS components by using a side-by-side installation. The SQL Server IIS components must be in two directories, one physical and one virtual.
- SQL Server IIS components and SQL Server Compact IIS components reside on a server that is running IIS.
- You can install the SQL Server IIS components from the SQL Server Installation media. To install the SQL Server IIS components, click Shared Features on the Feature Selection page, and then click Client Tools.
Important This article does not describe the following deployment scenarios:
- You upgrade clients from SQL Server Compact version 2.0 to SQL Server Compact version 3.0 or to SQL Server Compact version 3.1.
- You upgrade from SQL Server 2000 to SQL Server 2005.
- You have a mixed installation that includes SQL Server Compact client version 2.0, version 3.0, or version 3.1 together with SQL Server 2000 and SQL Server 2005.
For more information about these deployment scenarios, visit the following Microsoft Web site:
New rules that apply only to SQL Server Compact 3.x versions
- The SQL Server Compact 3.x versions of client components must be equal to or earlier than the SQL Server Compact 3.x IIS components versions. The SQL Server Compact 3.1 client can connect to SQL Server 3.1 and to SQL Server 3.5 IIS components. The SQL Server Compact 3.5 client can connect to SQL Server 3.5 IIS components.
- You cannot install SQL Server Compact 3.x IIS components by using a side-by-side installation.
Cross-version compatibility support matrix
The cross-version compatibility support for each kind of deployment scenario is described in the following table.
Note This table includes the following information:
- "Dx" is an identifier for each deployment scenario. These identifiers are used in the "Deployment scenarios" section.
- “Existing support†indicates a deployment scenario that is already supported.
- “New support†indicates a new supported deployment scenario. This new deployment scenario is described in this article.
- “Pending support†indicates that the release version of SQL Server Compact 3.5 does not support synchronization with SQL Server 2008. This support is enabled in SQL Server Compact 3.5 SP1.
Collapse this tableExpand this table
| Deployment scenario number | SQL Server Compact
client version
| SQL Server publisher version | Support | Notes |
|---|
| D1 | 2.0 | Not applicable |
Not applicable | Not applicable
|
| D2 | 3.0 or 3.1 | SQL Server 2000 SP3a or later versions
| Yes | Existing support |
| D3 | 3.0 or 3.1
| SQL Server 2005
| Yes | Existing support |
| D4 | 3.0 or 3.1 | SQL Server 2008 | Yes | New support |
| D5 | 3.5 release version or later versions | SQL Server 2000 | No | Discontinued or deprecated |
| D6 | 3.5 release version or later versions | SQL Server 2005 | Yes | New support |
| D7 | 3.5 release version | SQL Server 2008 | Yes | New support |
| D8 | 3.5 SP1 or later versions | SQL Server 2008 | Yes | New support |
Collapse this tableExpand this table
| SQL Server Compact versions | SQL Server 2000 | SQL Server 2005 | SQL Server 2008 |
|---|
| 2.0 | Existing support | Existing support | Not supported |
| 3.0 or 3.1 | Existing support | Existing support | New support |
| 3.5 release version | Not supported | New support | Not supported |
| 3.5 SP1 or later versions | Not supported | New support | New support |
Compatibility with SQL Server and IIS components
The SQL Server Compact clients' compatibility with SQL Server Compact IIS components, with SQL Server IIS, and with SQL Server Publisher is described in the following table.
Collapse this tableExpand this table
| SQL Server Compact
client version
| SQL Server Compact IIS components version | SQL Server
IIS components version
| SQL Server
Publisher version
|
|---|
| 2.0 | Not applicable | Not applicable | Not applicable |
| 3.0 or 3.1 | 3.1 | 8.0 | 8.0 |
| 3.0 or 3.1 | 3.1 | 9.0 | 9.0 |
| 3.0 or 3.1 | 3.5 SP1 or later versions | 10.0 | 10.0 |
| 3.5 release version or later versions | Not applicable | Not applicable | 8.0 |
| 3.5 release version or later versions | 3.5 release version or later versions | 9.0 | 9.0 |
| 3.5 release version | 3.5 SP1 Server Tools | 3.5 SP1 Server Tools | 10.0 |
| 3.5 SP1 or later versions | 3.5 SP1 or later versions | 10.0 | 10.0 |
Note For more information, see the "Deployment scenarios" section.
This section describes how to upgrade an existing deployment and how to set up a new deployment. Additionally, this section describes how to set up a deployment of mixed subscribers.
"Mixed subscribers" are SQL Server Compact clients that are of different versions. For example, a single deployment may include different versions of SQL Server Compact clients that connect to the same SQL Server publisher computer through the same or different IIS servers. These SQL Server Compact clients are called "mixed subscribers."
For more information about how to configure the server that is running IIS, visit the following Microsoft Developer Network (MSDN) Web site:
Note SQL Server Compact includes the Configure Web Synchronization Wizard. This wizard helps you configure a virtual directory in IIS. When a virtual directory URL is changed, you must update the virtual directory information to refer to a new URL. Additionally, you must update the clients to point to this new URL.
For more information about the Configure Web Synchronization Wizard, visit the following MSDN Web sites:
New deployment
This section describes how to set up a new deployment for the new deployment scenarios that are introduced in SQL Server Compact 3.5 and in SQL Server 2008.
Deployment scenario D6: SQL Server Compact 3.5 release version or later versions and SQL Server 2005
To perform this deployment, follow these steps:
- On a computer that is running the SQL Server publisher, install SQL Server 2005.
- On a client computer, install the SQL Server Compact 3.5 release version or a later version.
- On a server that is running IIS, install SQL Server 2005 IIS Components.
- On a server that is running IIS, install the release version or a later version of the SQL Server Compact 3.5 Server Tools package.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent Internet Server API (ISAPI).
Deployment scenario D4: SQL Server Compact versions 3.0 and 3.1 and SQL Server 2008
To perform this deployment, follow these steps:
- On a computer that is running the SQL Server publisher, install SQL Server 2005.
- On a client computer, install SQL Server Compact versions 3.0 and 3.1.
- On a server that is running IIS, install SQL Server 2008 IIS Components.
- On a server that is running IIS, install the SQL Server Compact 3.5 SP1 Server Tools package or a later version.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Deployment scenario D8: SQL Server Compact 3.5 SP1 or later versions and SQL Server 2008
To perform this deployment, follow these steps:
- On a computer that is running the SQL Server publisher, install SQL Server 2005.
- On a client computer, install SQL Server Compact 3.5 SP1 or a later version.
- On a server that is running IIS, install SQL Server 2008 IIS Components.
- On a server that is running IIS, install the SQL Server Compact 3.5 SP1 Server Tools package or a later version.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Deployment scenario D7: SQL Server Compact version 3.5 release version and SQL Server 2008
To perform this deployment, follow these steps:
- On a computer that is running the SQL Server publisher, install SQL Server 2008.
- On a client computer, install the release version of SQL Server Compact version 3.5.
- On a server that is running IIS, install SQL Server 2008 IIS Components.
- On a server that is running IIS, install the SQL Server Compact 3.5 SP1 Server Tools package or a later version.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
How to upgrade an existing full deployment
How to upgrade only the server from SQL Server 2000 or SQL Server 2005 to SQL Server 2008
SQL Server Compact version 2.0 clients
This scenario is not supported. You must upgrade the clients together with the server.
SQL Server Compact versions 3.0 and 3.1 clients
To perform this upgrade, follow these steps:
- Upgrade SQL Server. Make sure that you keep SQL Server versions 3.0 and 3.1 on a client computer.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 or SQL Server 2005 IIS Components.
Note This step is optional. - Remove the SQL Server Compact 3.1 Server Agent ISAPI Virtual Directories.
- On a server that is running IIS, install SQL Server 2008 IIS Components.
- On a server that is running IIS, install the SQL Server Compact 3.5 SP1 Server Tools package or a later version.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
How to upgrade only the client
Upgrade from SQL Server Compact 2.0 to SQL Server Compact 3.5
In SQL Server 2000
This scenario is not supported. The server must be upgraded.
In SQL Server 2005To perform this upgrade, follow these steps:
- Upgrade the SQL Server Compact clients. Make sure that you keep SQL Server on a server computer.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall the SQL Server Compact 2.0 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 IIS Components.
Note This step is optional. - On a server that is running IIS, install or keep SQL Server 2005 IIS Components.
- Remove the SQL Server Compact 2.0 Server Agent ISAPI Virtual Directories.
- On a server that is running IIS, install the release version or a later version of the SQL Server Compact 3.5 Server Tools package.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Upgrade from SQL Server Compact versions 3.0 and 3.1 to SQL Server Compact 3.5
In SQL Server 2000This scenario is not supported. You must upgrade the server together with the clients.
In SQL Server 2005
To perform this upgrade, follow these steps:
- Upgrade the SQL Server Compact clients. Make sure that you keep SQL Server on a server computer.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package. Make sure that you keep SQL Server 2005 IIS Components on this server.
- Remove the SQL Server Compact 3.1 Server Agent ISAPI Virtual Directories.
- On a server that is running IIS, install the release version or a later version of the SQL Server Compact 3.5 Server Tools package.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
How to upgrade the client and the server in parallel
Upgrade SQL Server Compact 2.0 to SQL Server Compact 3.5 clients and SQL Server 2000 to SQL Server 2005
To perform this upgrade, follow these steps:
- Upgrade the SQL Server Compact clients.
- Upgrade SQL Server.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall the SQL Server Compact 2.0 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 IIS Components.
Note This step is optional. - Remove the SQL Server Compact 2.0 Server Agent ISAPI Virtual Directories.
- On a server that is running IIS, install SQL Server 2005 IIS Components.
- On a server that is running IIS, install the release version or a later version of the SQL Server Compact 3.5 Server Tools package.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Upgrade SQL Server Compact 2.0 to SQL Server Compact 3.5 clients and SQL Server 2000 or SQL Server 2005 to SQL Server 2008
To perform this upgrade, follow these steps:
- Upgrade the SQL Server Compact clients.
- Upgrade SQL Server.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall the SQL Server Compact 2.0 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 IIS Components or SQL Server 2005 IIS Components.
Note This step is optional. - Remove the SQL Server Compact 2.0 Server Agent ISAPI Virtual Directories.
- On a server that is running IIS, install SQL Server 2008 IIS Components.
- On a server that is running IIS, install the SQL Server Compact 3.5 SP1 Server Tools package or a later version.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Upgrade SQL Server Compact 3.0 or 3.1 to SQL Server Compact 3.5 clients and SQL Server 2000 to SQL Server 2005
To perform this upgrade, follow these steps:
- Upgrade the SQL Server Compact clients.
- Upgrade SQL Server.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 IIS Components.
Note This step is optional. - Remove the Server Agent ISAPI Virtual Directories for SQL Server Compact version 3.0 or for SQL Server Compact 3.1.
- On a server that is running IIS, install SQL Server 2005 IIS Components.
- On a server that is running IIS, install the release version or a later version of the SQL Server Compact 3.5 Server Tools package.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Upgrade SQL Server Compact client 3.0 or SQL Server Compact 3.1 to SQL Server Compact 3.5 and SQL Server 2000 or SQL Server 2005 to SQL Server 2008
To perform this upgrade, follow these steps:
- Upgrade the SQL Server Compact clients.
- Upgrade SQL Server.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 IIS Components or SQL Server 2005 IIS Components.
Note This step is optional. - Remove the Server Agent ISAPI Virtual Directories for SQL Server Compact 3.0 or for SQL Server Compact 3.1.
- On a server that is running IIS, install SQL Server 2008 IIS Components.
- On a server that is running IIS, install SQL Server Compact 3.5 SP1 Server Tools package or a later version.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
Mixed deployments
You may have mixed deployments by choice or because of an incremental upgrade. This section describes how to set up a server that is running IIS in mixed deployment scenarios and in cases that require multiple IIS servers.
The mixed deployment scenarios that this section describes include only subscribers that are mixed versions of SQL Server Compact clients. This section does not describe mixed deployment scenarios that include different kinds of subscribers, such as SQL Server Compact subscribers and SQL Server Express subscribers together.
SQL Server Compact 2.0 and SQL Server Compact 3.5 client versions and any version of SQL Server
This deployment scenario includes SQL Server Compact 2.0 or SQL Server Compact 3.5 subscribers and any version of a SQL Server publisher.
SQL Server Compact 2.0 and SQL Server Compact 3.5 cannot be subscribers to the same publisher even with different publications. This combination is not supported. You must upgrade SQL Server Compact 2.0 subscribers to SQL Server Compact version 3.0, version 3.1, or version 3.5. Or, you must have different publishers for different SQL Server Compact clients in the deployment.
If there are different publishers, you must make sure that you configure different IIS servers.
For more information about how to set up two completely disjoint parallel deployments,
see the "New deployment" section.
SQL Server Compact 2.0, SQL Server Compact 3.0, or SQL Server Compact 3.1 client version and any SQL Server version
SQL Server Compact 2.0 cannot be a subscriber to SQL Server 2008. Therefore, this deployment is a new mixed deployment. For more information about this kind of mixed deployment, visit the following Microsoft Web site:
Any SQL Server Compact client version and SQL Server 2000 and SQL Server 2008
This deployment scenario describes a deployment that may include SQL Server 2000 or SQL Server 2008 publishers and the following subscribers:
- SQL Server Compact 2.0
- SQL Server Compact 3.0
- SQL Server Compact 3.1
- SQL Server Compact 3.5
Important SQL Server Compact 3.5 cannot be a subscriber to a SQL Server 2000 publisher.
If there are different publishers and different sets of subscribers, you must make sure that you configure different IIS servers. In this case, you may have to use a separate set of deployments that resembles the following set of deployments:
- Subscriber Set1 performs a merge replication process through IIS server1 with SQL Server1
- Subscriber Set2 performs a merge replication process through IIS server2 with SQL Server2
Note This deployment scenario is not a mixed deployment. It resembles the two completely disjoint parallel setups that can be configured as specified in the "New Deployment" section.
SQL Server Compact 3.0, SQL Server Compact 3.1, SQL Server Compact 3.5 client versions and SQL Server 2005 or SQL Server 2008
In this deployment scenario, one server that is running IIS can serve all the SQL Server Compact subscribers with or without multiple publishers in the deployment. SQL Server Compact 3.5 IIS programs can connect to any SQL Server Compact 3.x version client program. Therefore, a single SQL Server Compact 3.5 Server Agent URL can be used by all SQL Server Compact 3.x version clients.
Note When you use SQL Server 2008 as a publisher, the SQL Server Compact 3.5 IIS components must be version 3.5 SP1 or a later version.
To set up this mixed deployment, follow these steps:
- Upgrade clients and servers as needed.
- On a server that is running IIS, uninstall the SQL Server Compact 3.1 Server Tools package.
- On a server that is running IIS, uninstall the SQL Server Compact 2.0 Server Tools package.
- On a server that is running IIS, uninstall SQL Server 2000 IIS Components.
Note This step is optional. - Remove the SQL Server Compact 2.0 Server Agent ISAPI Virtual Directories.
- Remove the Server Agent ISAPI Virtual Directories for SQL Server Compact version 3.0 or for SQL Server Compact version 3.1.
- If any publisher is SQL Server 2005, install or keep SQL Server 2005 IIS Components on a server that is running IIS.
- If any publisher is SQL Server 2008, install or keep SQL Server 2008 IIS Components on a server that is running IIS.
- If all publishers are SQL Server 2005, install the release version or a later version of the SQL Server Compact 3.5 Server Tools package on a server that is running IIS.
- If any publisher is SQL Server 2008, install the SQL Server Compact 3.5 SP1 Server Tools package or a later version on a server that is running IIS.
- Configure Web synchronization by using the SQL Server Compact 3.5 Server Agent ISAPI.
You can configure multiple IIS servers for different combinations of publishers and subscribers. When you do this, the deployment is no longer a mixed deployment. The deployment resembles two completely disjoint parallel setups that can be configured as specified in the "New Deployment" section.