Since release 2.0 of MS Access, an add-on tool has been available from Microsoft that can greatly simplify moving an Access database into the SQL Server environment. This tool is called the Upsizing Wizard. It is available from a variety of sources, including Microsoft Office 97 Professional and the Microsoft Developer Network. In this example, we'll use the version supplied with Office 97.
Upsizing Wizard consists of two tools. The first is the wizard itself, which takes a Microsoft Access database and creates an equivalent database on SQL Server—with the same table structure, data and most (but not all) of the attributes of the original Microsoft Access database.
The second tool supplied is the SQL Server Browser. This allows the developer to view, create, and edit SQL Server objects, including tables, views, defaults, rules, stored procedures and triggers. SQL Server Browser can be used to manage both a SQL Server database created by the Upsizing Wizard, and any existing SQL Server objects.
Before we can upsize an Access database to SQL Server, there are several important design issues we need to consider. Ideally, we would design our database from the very beginning with Web deployment in mind. As we'll see, the design of a database optimized for access from the Internet, or on an intranet, is very different to that of a typical single-user database. If you have an existing database that was not built with Web access in mind, you're likely to have to redesign certain aspects of it to take advantage of the upsizing process. We'll look at these aspects first.
Throughout this book, we're looking at how to build Active Server Pages. Let's take a moment to recap on some of the things we should take into account when designing a Web page that accesses data using ADO. These can have an enormous impact on the performance of our site.
Recordset
objects of the static cursor type if the result set contains relatively few columns, doesn’t contain OLE
Object
or large Memo
fields and when you don’t need to update the server tables. If you are simply presenting data, and multi-directional strolling is not required, use the adOpenForwardOnly
cursor type. This makes a single pass through the request table to present the results, incurring a minimum overhead.Recordset
objects to populate these controls wherever possible. Don't let the selection lists get too big—keep in mind that you have to pump all this data across to the user's Web browser. Anyway, from a design perspective, a selection list with too many items quickly becomes unwieldy. 30
characters or less. The first character must be a letter or the symbol @
. The remaining characters may be numbers, letters, or the symbols, $
, #
and _
. No spaces are allowed.On SQL Server, we also need to take into account some basic design issues. Addressing these before we start the process can save us the difficulties associated with having to start again.
CREATE
TABLE
permission. If you want to build a new database from scratch, you must have CREATE
DATABASE
permissions. Finally, if you want to create new devices, you must be a member of the Admin group.