Microsoft Office 2000/Visual Basic Programmer's Guide |
Microsoft Data Engine (MSDE) is a new technology that provides local data storage compatible with Microsoft SQL Server 7.0. You can also use MSDE as a remote data storage solution. You can think of MSDE as a client/server database engine alternative to the file-server Microsoft Jet database engine. MSDE runs under Windows NT 4.0 or later and Windows 95 or later. It is designed and optimized for use on smaller computer systems, such as a single-user computer or small-workgroup server.
MSDE doesn't limit the number of users who can connect to its database, but is optimized for five users. For a larger numbers of users, you should use SQL Server 7.0. Databases created with MSDE are 100 percent compatible with SQL Server 7.0 and support many of the features of SQL Server 7.0, including most Transact-SQL commands. MSDE also logs transactions, which means that if anything should go wrong during a write to an MSDE database, such as a disk error, network failure, or power failure, MSDE will recover from its transaction log and revert to its last consistent state. This gives MSDE databases greater reliability than Microsoft Jet (.mdb) databases, which don't log transactions.
Because MSDE is based on the same database engine as SQL Server, most Access projects or client/server applications can run unchanged on either version. However, unlike SQL Server 7.0, MSDE has a 2-gigabyte database size limit, supports up to 2 processors for Symmetrical Multiprocessing (SMP), and in a replicated database environment cannot be a replication publisher for transactional replication (although it can act as a replication subscriber for both transactional and merge replication, and as a replication publisher for merge replication).
Compared with using Access with a Microsoft Jet database (.mdb), using MSDE does require more memory. The minimum supported configuration for running MSDE is a Pentium 166 with 32 MB of RAM. MSDE does manage its memory usage dynamically, so that it will react to operating system pressure on memory resources to allocate as much memory as it can effectively use, but will stop allocating memory and even, if needed, give back memory to ensure that other applications have memory available. However, if your solution requires the minimum usage of memory resources, you should use Access with a Microsoft Jet database.