SQL Server Mobile Features

Published: November 7, 2005
**
**
On This Page
Integration with SQL Server 2005 Integration with SQL Server 2005
Synchronization FunctionalitySynchronization Functionality
Reliability and PerformanceReliability and Performance
Developer ProductivityDeveloper Productivity
Integration with Visual Studio 2005Integration with Visual Studio 2005
Increased Device SupportIncreased Device Support
Database Upgrade ToolDatabase Upgrade Tool

Microsoft SQL Server 2005 Mobile Edition is a mobile database solution designed for developers who target Microsoft Windows mobile-based devices. New features and enhancements in SQL Server Mobile focus on the following key areas:

Integration with SQL Server 2005 and Microsoft Visual Studio 2005.

Increased reliability and performance

Faster development of mobile applications

SQL Server Mobile includes the largest number of new and improved features in any version of SQL Server Mobile since the original version, SQL Server CE 1.0. Several key enhancements available with SQL Server Mobile are as follows:

Integration with SQL Server 2005

Because of tighter integration with SQL Server 2005, database administrators and developers are able to take advantage of the following:

SQL Workbench. Manage a SQL Server Mobile database on a desktop computer or a mobile device using SQL Workbench, an enhanced management tool that replaces SQL Server Enterprise Manager. SQL Workbench is included in SQL Server 2005. Some benefits of using SQL Workbench include the following:

Graphical query plans that enable developers to easily see query plans and modify query hints to quickly achieve performance-tuning results.

A new subscription wizard that requires minimal effort to create, and subsequently synchronize, a subscription database.

Integration with Data Transformation Services (DTS) that enables developers to import and export data to a SQL Server Mobile database from a variety of data sources, including Microsoft Access, Oracle, and IBM.

Bulk copy program (BCP) file consumption. Developers are able to improve scalability for initial synchronization and performance for dynamically filtered publications by using snapshots that contain precreated .bcp files.

Managed application programming interface (API) access to synchronization business logic. SQL Server 2005 exposes managed APIs that allow developers to manipulate data in merge replication synchronization before that data is stored in the SQL Server 2005 database.

Support for download-only articles (tables). This feature reduces the amount of metadata transferred during synchronization as well as processing time on SQL Server when developers perform subsequent synchronizations.

Support for partitioned (filtered) articles. Many mobile applications (such as route delivery) filter data in such a way that users do not share data across devices. With support for partitioned articles, developers are able to significantly reduce synchronization time and increase scalability. This feature is especially useful for large deployments of mobile devices.

Top of pageTop of page

Synchronization Functionality

Several synchronization enhancements are available in SQL Server Mobile, including the following:

Synchronization progress status. Developers are able to use managed APIs to provide synchronization progress feedback that can be used to create a synchronization status bar for users.

Column-level tracking. In previous versions of SQL Server CE, an entire row would be synchronized with SQL Server even if only one column in the row had been modified. This often resulted in longer synchronization times if the unmodified columns in the row contained large amounts of data. In SQL Server Mobile, only the modified columns are synchronized.

Configurable compression levels. Developers can modify compression levels per device to get the best Microsoft Internet Information Services (IIS) CPU performance and the best transfer times for varying connections.

Support for multiple subscriptions. Previously, only one subscription could be created in a single database. In an environment where the backend published data from two different databases, an application developer would have to specify which database on the device needed to be opened. With SQL Server Mobile, multiple subscriptions are contained in one database, thereby reducing the amount of programming required.

Top of pageTop of page

Reliability and Performance

New and improved features in SQL Server Mobile enhance the reliability and performance of mobile applications. These features include the following:

A revamped storage engine. In addition to a rewritten storage engine architecture that optimizes for a mobile architecture in which each database shares a common memory pool, this feature also provides:

True atomicity, consistency, isolation, and durability (ACID) support to help ensure data consistency when devices experience battery power issues and connectivity disruptions.

Auto-shrink support that automatically reclaims unused data pages.

An improved query processor. Improvements to the SQL Server Mobile query processor include:

Cost-based optimization. The query processor takes advantage of both better statistics available and histogram support in the storage engine to create substantially better query plans.

Show plan and query hints. With SQL Server Mobile, developers can see the query plan and then refine queries for situations in which the developer has more knowledge than the query processor, such as database layout and access time of media and CPU, to override the query processor plan.

Top of pageTop of page

Developer Productivity

New and improved programmability features in SQL Server Mobile enables developers to build mobile applications more quickly and easily. These features include the following:

Multiuser support. To support multiple applications accessing the same database at the same time, SQL Server Mobile provides:

Multiuser synchronization that enables multiple users to synchronize data while using the same application so the database does not have to be disconnected before they use merge replication or Remote Data Access (RDA).

Row-level locking to help ensure a high level of concurrency when multiple users are accessing the same data pages at the same time.

A new SqlCeResultSet. Exposes an updateable, scrollable cursor so developers can directly access a SQL Server Mobile database without double buffering data on the device with the dataset. The benefits of this include the following:

Substantial performance and functional improvements that eliminate the need to use the dataset.

A dramatic increase in application performance, while reducing the amount of code required to accomplish the same task.

Top of pageTop of page

Integration with Visual Studio 2005

Developers are able to create and manage a SQL Server Mobile database on a desktop computer or a mobile device using Visual Studio 2005. With this feature, developers can drag and drop SQL Server Mobile tables onto controls on the mobile device and have them automatically bind to the control.

Top of pageTop of page

Increased Device Support

SQL Server Mobile supports an expanded list of devices, including Microsoft Windows CE 5.0, Microsoft Windows XP Tablet PC Edition, Windows Mobile 2003 Software for Pocket PC, Windows Mobile 5.0, and future releases of the Pocket PC, SmartPhone, and Tablet PC. This additional device support will enable developers to use the same database functionality from a SmartPhone to a Pocket PC to a Tablet PC.

Top of pageTop of page

Database Upgrade Tool

The SQL Server Mobile database file format is different from earlier versions of SQL Server CE. Databases created with earlier versions must be upgraded to the new file format to be used with SQL Server Mobile. The SQL Server Mobile Database Upgrade tool is a command-prompt utility that upgrades a database created with Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) version 2.0 to the latest version of a SQL Server Mobile database. The new database, with the file name extension .sdf, contains all the data that was in the source database. The upgraded database has to be reinitialized before it is used for replication.


Top of pageTop of page