Often people in newsgroups ask about some comparison of Access and SQL Server databases. In this article, I want to tell you about some general characteristics of Access 97/2000 and SQL Server 7.0/2000, about their restrictions, and about the comparison of these products.
Access 97/2000
Microsoft offers a full family of database tools for the desktop, the server, and for open connectivity. For the desktop Microsoft offers Microsoft Access 97/2000.
The Microsoft Access 97/2000 is a full-featured multiuser relational database management system that designed for the Microsoft Windows operating systems (such as Windows 9x, Windows NT, Windows 2000). Access 97/2000 is extremely visually oriented and easy to use. It makes extensive use of drag-and-drop and visual design for queries, forms, and reports.
Access 97/2000 comes with an integrated development environment (IDE), including incremental compilation, a fully interactive visual debugger, breakpoints, and single step-through. These capabilities combine to make Microsoft Access an extremely powerful platform for developing client-server database solutions.
There are general Access 97/2000 characteristics:
| Object | Maximum sizes/numbers |
| Database size |
1 Gb |
| Number of characters in an object name |
64 |
| Number of characters in a password |
14 |
| Number of characters in a user name or group name |
20 |
| Number of concurrent users |
255 |
| Number of characters in a table name |
64 |
| Number of characters in a field name |
64 |
| Number of fields in a table |
255 |
| Number of characters in a Text field |
255 |
| Number of characters in a Memo field |
65,535 / 1 Gb |
Though the maximum database size is 1 Gb, but your database can include linked tables in other files, and its total size is limited only by available storage capacity.
Number of characters in a Memo field can be up to 65,535 characters when entering data through the user interface or can be up to 1 Gb when entering data programmatically.
Access 2000 can lock on the row level in comparison with Access 97 page level's lock.
SQL Server 7.0/2000
For the server engine in client-server solutions Microsoft provides the Microsoft SQL Server 7.0/2000.
There are no many differences in the internal architecture between SQL Server 7.0 and SQL Server 2000. SQL Server 2000 has the same features as SQL Server 7.0: autogrow features, new storage engine, complete row level locking and so on. So, the general characteristics of these versions are the same.
There are general SQL Server 97/2000 characteristics:
| Object | Maximum sizes/numbers |
| Batch size |
65,536 * Network Packet Size |
| Bytes per short string column |
8,000 |
| Bytes per text, ntext,or image column |
2 GB-2 |
| Bytes per index |
900 |
| Bytes per foreign key |
900 |
| Bytes per primary key |
900 |
| Bytes per row |
8,060 |
| Bytes in source text of a stored procedure |
Lesser of batch size or 250 MB |
| Clustered indexes per table |
1 |
| Columns per index |
16 |
| Columns per foreign key |
16 |
| Columns per primary key |
16 |
| Columns per base table |
1,024 |
| Columns per SELECT statement |
4,096 |
| Columns per INSERT statement |
1,024 |
| Connections per client |
Maximum value of configured connections |
| Database size |
1,048,516 TB |
| Databases per instance of SQL Server |
32,767 |
| Filegroups per database |
256 |
| Files per database |
32,767 |
| File size (data) |
32 TB |
| Identifier length (in characters) |
128 |
| Locks per connection |
Max. locks per server |
| Nested stored procedure levels |
32 |
| Nested subqueries |
32 |
| Nested trigger levels |
32 |
| Nonclustered indexes per table |
249 |
| Objects in a database |
2,147,483,6474 |
| Parameters per stored procedure |
1,024 |
| REFERENCES per table |
253 |
| Rows per table |
Limited by available storage |
| Tables per database |
Limited by number of objects in a database |
| Tables per SELECT statement |
256 |
| Triggers per table |
Limited by number of objects in a database |
| UNIQUE indexes or constraints per table |
249 nonclustered and 1 clustered |
SQL Server 2000 Enterprise Edition on the Windows 2000 DataCenter can support up to 32 CPU and up to 64GB physical memory (RAM) on a computer!