# Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Release A

##### October 13, 2003

© Microsoft Corporation, 2003. All rights reserved.

The Microsoft® SQL Server™ documentation team welcomes your suggestions and comments about this readme documentation, but cannot answer technical support questions. You can quickly and directly send e-mail feedback using the link below. Please submit all feedback in English.
To submit written feedback about this document, click here: Submit feedback.

# Contents

1.0 Introduction

1.1 MSDE 2000 Documentation

1.2 Additional Information About MSDE 2000 Release A

2.0 Downloading and Extracting MSDE 2000 Release A

3.0 Installing MSDE 2000 Release A

3.1 MSDE 2000 Setup Documentation

3.2 Installation Prerequisites

3.3 Stopping Services Before Installing MSDE 2000 Release A

3.4 Install MSDE 2000 Release A

3.4.1 Verify the Version of Microsoft Data Access Components

3.4.2 Security Considerations for MSDE 2000 Release A

3.4.3 MSDE 2000 Setup Parameters

3.4.4 MSDE 2000 Release A Installation Examples

3.5 Restart Services

4.0 Documentation Notes

4.1 Desktop Engine Enhancements

4.1.1 Expanded Error Messages for Distributed Queries

4.1.2 Debugging Functionality Changes

4.2 Replication Enhancements

4.2.1 Transactional Replication UPDATE Statements on Unique Columns

4.2.2 Restriction on Non-unique Clustered Indexes

4.2.3 Change to Requirements for Attaching or Restoring a Replication Database

4.3 SQL Server Agent Enhancements

4.3.1 SQL Server Agent Logs Account Information

4.3.2 SQL Server Agent Permission Checks

4.3.3 SQL Agent Mail MAPI Profiles

4.4 DB-Library and Embedded SQL for C

# 1.0 Introduction

Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Release A is a downloadable version of MSDE 2000 with a new End-User License Agreement (EULA) that gives users different rights from previous MSDE 2000 licenses.

After downloading and extracting the MSDE 2000 Release A files, use Desktop Engine Setup.exe to install instances of MSDE 2000 Release A. Desktop Engine Setup.exe is a command prompt utility; it has no user interface. You instead use command prompt switches or an .ini file to specify the installation options.

Once installed, MSDE 2000 Release A functions the same as MSDE 2000 Service Pack (SP) 3a. These are the differences between MSDE 2000 Release A and MSDE 2000 SP3a:

- The MSDE 2000 Release A EULA is new.
- MSDE 2000 Release A cannot be used to upgrade earlier versions of MSDE; it can only be used to install new instances of MSDE 2000 Release A. Use the MSDE part of the SQL Server 2000 service pack files to:
  - Upgrade MSDE 1.0 to MSDE 2000.
  - Apply the latest service pack to an instance of MSDE 2000. For example, use the MSDE part of SQL Server 2000 SP3a to upgrade instances of MSDE 2000 SP1 or MSDE 2000 SP2 to MSDE 2000 SP3a.

  The latest SQL Server 2000 service pack files are available at this Web Site. MSDE 2000 Release A does not include the merge modules that are sometimes used to embed earlier versions of MSDE 2000 in application setup utilities. To distribute the MSDE 2000 Release A files with applications, you must write an application setup wrapper utility that:

  - Calls Desktop Engine Setup.exe to install an instance of MSDE 2000 Release A.
  - Installs the application.

  For more information about distributing MSDE 2000 Release A, see this Microsoft Web page.

- A new readme file, ReadmeMSDE2000A.htm.

MSDE 2000 Release A contains the same fixes as MSDE 2000 SP3a , including those that address issues raised by the Slammer worm. You do not need to apply MSDE 2000 SP3a to MSDE 2000 Release A, or to upgrade MSDE 2000 SP3a or SP3 to MSDE 2000 Release A.

MSDE 2000 Release A returns the same version information as MSDE 2000 SP3a. @@VERSION and SERVERPROPERTY('ProductVersion') report a build number of 8.00.760. SERVERPROPERTY('ProductLevel') returns SP3. @@VERSION and SERVERPROPERTY('Edition') report the edition as Desktop Engine.

[Top]

# 1.1 MSDE 2000 Documentation

SQL Server 2000 Books Online is the primary documentation set for MDSE 2000. The current version of Books Online contains updated information about MSDE 2000. Current versions of Books Online are available at these locations:

- In the MSDN Library. The latest version of Books Online is available at this Web site.
- Periodically, updates to Books Online are also made available as a set of downloadable files at this Books Online download site.

In July 2003 Books Online was updated to document new behavior introduced in MSDE 2000 SP3a. This documentation also applies to MSDE 2000 Release A and is currently available in the MSDN Library only.

Additional MSDE 2000 information will be included in a new SQL Server 2000 Books Online update to be published on the Books Online download site in December 2003, and in the January 2004 MSDN Library. This update will be named SQL Server 2000 Books Online (Updated - 2004).

Additional information about MSDE 2000 is available from the Microsoft MSDE 2000 Web site.

Because MSDE 2000 Release A functionality is the same as MSDE 2000 SP3a, documentation references to MSDE 2000 SP3a also apply to MSDE 2000 Release A. The exceptions are the MSDE 2000 SP3a features not supported in MSDE 2000 Release A:

- Upgrades from earlier versions of MSDE.
- The use of MSDE 2000 merge modules.

In any SQL Server 2000 documentation, references to the components included in MSDE 2000 (the database engine, database client connectivity components and programming APIs, Replication, and Data Transformations Services) also apply to MSDE 2000 Release A, except for features not included in MSDE 2000.

The MSDE 2000 Release A version of Setup.exe installs the readme.txt file from the original release of SQL Server 2000. The information in this copy of readme.txt is not relevant to MSDE 2000 Release A. Use the readme file named ReadmeMSDE2000A.htm for MSDE 2000 Release A.

##### Updated SQL Server Samples Are Available

Samples for the SQL Server 2000 database engine that were updated for SP3 and SP3a are available from this Microsoft Web site. All samples that reference the SQL Server 2000 components included in MSDE 2000 (the dataset engine, database client connectivity components and programming APIs, Replication, and Data Transformations Services) also apply to MSDE 2000 Release A, except for features not supported in MSDE 2000.

[Top]

# 1.2 Additional Information About MSDE 2000 Release A

Any information about MSDE 2000 Release A that was not available in time to be included in this readme file will be published in Microsoft Knowledge Base article 829925.

MSDE 2000 Release A contains all of the fixes included in MSDE 2000 SP3a. The list of the fixes in SQL Server 2000 SP3a is available in Microsoft Knowledge Base article 306908.

### QFE Fixes

MSDE 2000 Release A includes all publicly issued SQL Server 2000 SP2 security bulletins that were addressed in MSDE 2000 SP3a.

If you received an MSDE 2000 hotfix after October 14, 2002, the hotfix is probably not included in MSDE 2000 Release A. Contact your primary support provider about obtaining the same hotfix for MSDE 2000 Release A.

### SQL Server CE Server Tools Updates

You should also update the server replication components on Microsoft Internet Information Services (IIS) servers if you have, or plan to build, replication topologies that include both:

- Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) and
- Databases and publishers running MSDE 2000 Release A.

An updated SQL Server CE Server Tools installer is available at this Microsoft Web site.

[Top]

# 2.0 Downloading and Extracting MSDE 2000 Release A

MSDE 2000 Release A is available as a downloadable self-extracting file named MSDE2000A.exe. After downloading MSDE2000A.exe, run the file on your computer to create a set of folders and files on your disk or a network share. After file extraction is complete, you can install MSDE 2000 Release A from the folders on your disk.

When downloading and extracting MSDE 2000 Release A installation files, follow these guidelines:

- Download MSDE2000A.exe and place it either in a folder on the computer where you are installing MSDE 2000 Release A, or in a folder on a network share. From that folder, run the file. The self-extraction program prompts you for the name of the folder where you want the installation files placed.

  > Note When you extract the installation files to a network share, the path to the folder that you specify is relative to the folder containing the self-extraction program.

- On the local drive or network share to which you download the installation files, you must have free space approximately three times the size of the self-extracting file. This includes space to store the self-extracting file, space for storing the extracted installation files, and sufficient temporary working space for the self-extraction program.
- You can rename or move the folder after extracting the components; however, make sure that the directory path name does not contain blank spaces.

> Note Some of the files in MSDE 2000 are system files. To view the system files, in Windows Explorer, click Options on the View menu, click the View tab, and then select the Show all files check box.

##### Downloading MSDE 2000 Release A

To download the MSDE 2000 Release A file, follow these steps:

- Go to the MSDE 2000 Downloads Web site.
- In the Full Download box in the upper-right of this page, select the language you want your instance of MSDE 2000 to use, and click Go.
- On the next page, locate the Files in this Download section at the bottom of the page. Depending on the language, select one of these files:
  - If you selected English, download the file MSDE2000A.exe to a folder on your computer.
  - If you selected another language, download the file LLL_MSDE2000A.exe, where LLL represents the selected language.

##### Extracting the MSDE 2000 Release A Installation Files

After downloading either MSDE2000A.exe or LLL_MSDE2000A.exe, you must extract the MSDE 2000 Release A installation files:

- Open Windows Explorer and navigate to the folder where you downloaded the MSDE 2000 Release A download file (either MSDE2000A.exe or LLL_MSDE2000A.exe, where LLL represents the selected language).
- Double-click the download file to extract the MSDE 2000 Release A installation files. When asked, specify the folder where the installation files are to be extracted.

[Top]

# 3.0 Installing MSDE 2000 Release A

To install MSDE 2000 Release A, use the instructions in the following sections.

##### Before Installing MSDE 2000 Release A

If your instance of MSDE 2000 Release A will be used by an application, first check with the application provider or application documentation to verify that the application runs successfully on MSDE 2000 Release A.

Problems can occur if you use a Terminal Services connection to attempt to install a new instance of MSDE 2000 Release A. If problems are encountered, restart Setup from the local computer without using Terminal Services.

[Top]

# 3.1 MSDE 2000 Setup Documentation

The documentation for Desktop Engine Setup.exe is found in SQL Server 2000 Books Online. The latest version of SQL Server 2000 Books Online in the MSDN Library documents the behavior of Desktop Engine Setup.exe in MSDE 2000 Release A. See "Customizing Desktop Engine Setup.exe."

"Customizing Desktop Engine Setup.exe" documents the functionality of the version of Setup.exe included in MSDE 2000 SP3a. Because MSDE 2000 Release A includes the same Setup.exe, but does not support upgrades, the topic describes the following switches and parameters, which are not supported by MSDE 2000 Release A: UPGRADE, UPGRADEUSER, UPGRADEPWD, or /upgradesp.

This topic will be updated in the January 2004 release of MSDN. For more information about this update of SQL Server 2000 Books Online, see 1.1 MSDE 2000 Documentation.

Earlier versions of "Customizing Desktop Engine Setup.exe," such as the one in the original version of SQL Server 2000 Books Online, describe the behavior of the original version of Desktop Engine Setup.exe, which was different from Desktop Engine Setup.exe included in MSDE 2000 Release A.

[Top]

# 3.2 Installation Prerequisites

Your computer must meet the hardware and software requirements for SQL Server 2000 before you attempt to install MSDE 2000 Release A.

##### Hardware Requirements

This table shows the hardware requirements for installing and running MSDE 2000.

Hardware | Minimum requirements
Computer | Intel Pentium or compatible, 166 MHz or higher
Memory (RAM) | 128 MB on Windows XP 64 MB minimum on Windows 2000 32 MB minimum on all other operating systems
Hard disk space | 44 MB
Drive | CD-ROM drive

MSDE 2000 does not have a hardware compatibility list (HCL). If your computer meets the minimum requirements listed in the preceding table, MSDE 2000 software works on the hardware certified for use with the Microsoft Windows operating system. For more information about hardware certified for use with the Windows operating system, see the Microsoft Windows Hardware Compatibility List on this Microsoft Web site.

##### Operating System Requirements

To use MSDE 2000, you must have installed one of these operating systems:

- Windows Server 2003 Standard Edition, Windows Server 2003 Enterprise Edition, Windows Server 2003 Datacenter Edition.
- Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server.
- Windows NT Server 4.0, SP5 or later; Windows NT Server 4.0, Enterprise Edition, SP5 or later; Windows NT Workstation 4.0, SP5 or later.
- Windows XP Professional, Windows XP Home Edition.
- Windows 2000 Professional.
- Windows Millennium Edition.
- Windows 98. Windows 98 Second Edition is required if the computer does not have a network card.

##### Software and System Requirements

MSDE 2000 requires Microsoft Internet Explorer 5.0 or later be installed. A minimum installation is sufficient, and Internet Explorer does not have to be the default browser.

Except on Windows 98 and Window Millennium Edition, file and print sharing must be active to run Desktop Engine Setup.exe. To verify:

1. In Control Panel, double-click Network Connections.
2. On the Advanced menu, click Advanced Settings.
3. On the Adaptors and Bindings tab, ensure that File and Print Sharing for Microsoft Networks is selected.

A MSDE 2000 Release A installation will fail if either of the following security policies has been set to Do not allow installation:

- The Devices: Unsigned driver installation behavior local security policy for Windows XP.
- The Unsigned non-driver installation behavior local security policy for Windows 2000.

If you use the Do not allow installation setting, you must change it to Silently succeed before installing MSDE 2000 Release A. If necessary, you can return the policy to its previous setting after the installation is complete.

> Note Do not allow installation is not the default setting for these security policies.

To set these policies:

1. In Control Panel, double-click Administrative Tools.
2. Double-click Local Security Policy.
3. Expand Local Policies.
4. Select Security Options.
5. Ensure that the following option in the right pane is set to Silently Succeed before installing MSDE 2000 Release A:
   - On Windows XP and Windows 2003: Devices: Unsigned driver installation behavior.
   - On Windows 2000: Unsigned non-driver installation behavior.

When installing MSDE 2000 Release A on a computer running Windows NT 4.0 SP6a, you must apply the hotfix described in Microsoft Knowledge Base article 258437.

Before you install MSDE 2000 Release A on the French version of Windows NT 4.0, follow the instructions in Knowledge Base article 259484.

[Top]

# 3.3 Stopping Services Before Installing MSDE 2000 Release A

You can install MSDE 2000 Release A without shutting down services. If you do not shut down services, however, you are prompted to reboot the computer when Setup is complete. Without rebooting, the following services will fail to start:

- Microsoft Distributed Transaction Coordinator (MS DTC) and the Microsoft Search and MSSQLServerOLAPService services.
- Microsoft Component Services, Microsoft Message Queuing, and Microsoft COM Transaction Integrator.
- All applications, including Control Panel. (optional)

You can reduce the possibility of having to restart your computer after installing MSDE 2000 Release A by stopping these services and applications before running Setup.

[Top]

# 3.4 Install MSDE 2000 Release A

Run Desktop Engine Setup.exe to install MSDE 2000 Release A. Examples of typical installation procedures are given in 3.4.4 MSDE 2000 Release A Installation Examples.

You can install up to 16 copies, or instances, of MSDE 2000 and the SQL Server 2000 database engine on the same computer. One instance has no instance name, and is called the default instance. The other 15 instances must have unique instance names, and are called named instances. When installing a new instance of MSDE 2000 Release A, use the Desktop Engine Setup.exe INSTANCENAME parameter to specify the name of a named instance. If you do not specify an instance name, Setup will attempt to install a default instance. Instance names must follow the rules on this Microsoft Web page.

Do not specify the name of an existing instance of MSDE 2000 or SQL Server 2000 when you install MSDE 2000 Release A. To find the existing instances on your computer:

1. In Windows Explorer, right-click My Computer, and then click Manage.
2. Expand Services and Applications.
3. Click Services.

A default instance will be listed in the right pane as a service named MSSQLSERVER. Named instances will be listed as services named MSSQL$InstanceName, where InstanceName is the name of the instance.

You can only use MSDE 2000 Release A to install new instances of MSDE 2000. Do not use it to upgrade instances running earlier versions of MSDE 2000. When running the MSDE 2000 Release A version of Desktop Engine Setup.exe, do not use these switches or parameters: UPGRADE, UPGRADEUSER, UPGRADEPWD, or /upgradesp. Use SQL Server 2000 SP3a to upgrade existing instances of MSDE 2000 to MSDE 2000 SP3a. For more information about upgrades, see 1.0 Introduction.

Always start Desktop Engine Setup.exe by running Setup.exe. Do not attempt to install MSDE 2000 by directly invoking one of the MSDE 2000 .msi files, such as by double-clicking one of the MSDE 2000 .msi files. You must run Setup from the command prompt and specify parameters to install or upgrade any instance of MSDE.

You can run Desktop Engine Setup.exe from your hard drive, a network share, or a CD-ROM. If you create your own CD-ROM for installing MSDE 2000 Release A, the volume label on the CD-ROM must be SQL2KSP3. If you are an independent software vendor (ISV) creating a CD-ROM for the purpose of distributing MSDE 2000 Release A as a component of your application, the CD-ROM volume label must be identical to the VolumeLabel property in the Media table of the Windows Installer package (*.msi).

You can install the upgrade for Desktop Engine from a CD-ROM only if you are using Windows Installer version 2.0.2600.0 or later. If you need to upgrade Windows Installer, MSDE 2000 Release A includes the files needed to upgrade Windows Installer.

To upgrade Windows Installer

1. In Windows Explorer, navigate to the \MSDE\MSI folder in the folders that you extracted from MSDE2000A.exe.
2. On Windows 98 and Windows Millennium Edition, run InstMsi20.exe. On Windows 2000, Windows XP, and Windows 2003, run InstMsiW20.exe.
3. When prompted, restart the computer.

[Top]

# 3.4.1 Verify the Version of Microsoft Data Access Components

MSDE 2000 Release A includes updates to Microsoft Data Access Components (MDAC). When you install MSDE 2000 Release A, MDAC 2.7 SP1a is also installed unless Setup detects the same version or a newer version of MDAC.

There are three conditions under which you should consider performing an additional installation of the MDAC components before or after installing MSDE 2000 Release A:

- When installing MSDE 2000 Release A on a computer running Windows XP, MDAC 2.7 will not be updated to MDAC 2.7 SP1a. If your system requires any of the fixes included in MDAC 2.7 SP1a, you must first apply Windows XP SP1 before you install MSDE 2000 Release A. Windows XP SP1 will install MDAC 2.7, and then MSDE 2000 Release A will apply the patches needed for that release.
- If you install MSDE 2000 Release A on Windows 98, Windows Millennium Edition, or Windows NT 4.0, and later upgrade the computer to Windows 2000 or Windows XP, you must download the MDAC 2.7 SP1 Refresh and install it after the upgrade. Download MDAC 2.7 SP1 Refresh from the Microsoft Data Access Downloads page. You must download the version that matches the language of your computer and instance of MSDE 2000. For example, if you installed a French instance of MSDE 2000 on a computer running a French operating system, download the French version of MDAC 2.7 SP1a.
- If you install a language version of MSDE 2000 Release A that is different from the language of the operating system (such as installing an English version of MSDE 2000 on a computer running a Russian version of Windows), you may have to install MDAC 2.7 SP1 Refresh. If the computer has a version of MDAC earlier than 2.7 SP1a, Desktop Engine Setup will install its copy of MDAC 2.7 SP1a, changing the language of the MDAC components. To ensure this does not happen, before installing a copy of MSDE 2000 Release A that has a different language than the operating system, first check that the version of MDAC on the computer is at least MDAC 2.7 SP1a. If it is an earlier version, download MDAC 2.7 SP1 Refresh from the Microsoft Data Access Downloads page and install it. Instructions for determining the version of MDAC currently on your computer are in Knowledge Base article 301202.

For more information about MDAC 2.7 SP1a, see the Microsoft Data Access Downloads page. For more information about MDAC versions, see Knowledge Base artcle 822758. Fixes included in MDAC 2.7 SP1a are documented in Knowledge Base article 326848.

[Top]

# 3.4.2 Security Considerations for MSDE 2000 Release A

If no application on another computer will connect to your instance of MSDE 2000, the instance does not need network support, and it is prudent to turn off these unused resources. By default, Desktop Engine Setup.exe does not enable network support when installing new instances of MSDE 2000 Release A. You can use the DISABLENETWORKPROTOCOLS=0 parameter to enable network support during installation. Or, if you disable network support when installing an instance of MSDE 2000 Release A, you can later reconfigure the instance to enable network support. For more information about disabling and restoring network access, see Microsoft Knowledge Base article 814130.

By default, Desktop Engine Setup.exe will not install a new instance of MSDE 2000 unless you use the SAPWD parameter to specify a strong sa password. You should always assign a strong password to the sa login unless the application using your instance of MSDE depends in some way on a null sa password. Even if the instance of MSDE 2000 is using Windows Authentication, the sa login becomes immediately active if the instance is ever switched to Mixed Mode. A null, blank, simple, or well-known sa password could be used for unauthorized access. If you need to assign a strong sa password before upgrading your instance of MSDE 2000 to SP3a, see Microsoft Knowledge Base article 322336.

For more information about strong passwords, see "Security Rules" in SQL Server 2000 Books Online.

Whenever possible, for greater security, use Windows Authentication with your MSDE 2000 installation. Consider switching from Mixed Mode to Windows Authentication Mode if the following are true:

- The applications using MSDE 2000 can run using Windows Authentication.
- You have defined Windows Authentication logins for all users who need to connect to the instance. For more information about adding logins, see "Adding a Windows User or Group" in SQL Server 2000 Books Online.
- The instance of MSDE 2000 is not running on Windows 98 or Windows ME.

For more information on changing an instance of MSDE 2000 from Mixed Mode to Windows Authentication Mode, see Microsoft Knowledge Base article 322336.

[Top]

# 3.4.3 MSDE 2000 Setup Parameters

MSDE 2000 is designed to be distributed with applications and installed by the setup program of the application. The Desktop Engine Setup.exe utility is usually called by an application setup utility, but can also be run from a command prompt window. The MSDE 2000 setup utility does not have a graphical user interface. Instead, this utility accepts a set of switches and parameters that specify the actions the utility should take.

You can only use MSDE 2000 Release A to install new instances of MSDE 2000. Do not use it to upgrade instances running earlier versions of MSDE 2000. When running the MSDE 2000 Release A version of Desktop Engine Setup.exe, do not use these switches or parameters: UPGRADE, UPGRADEUSER, UPGRADEPWD, or /upgradesp. Use SQL Server 2000 SP3a to upgrade existing instances of MSDE 2000 to MSDE 2000 SP3a. For more information about upgrades, see 1.0 Introduction.

This readme only discusses the more commonly used Setup parameters and switches. All of the switches and parameters supported by Desktop Engine Setup.exe are documented in "Customizing Desktop Engine Setup.exe" in SQL Server 2000 Books Online. The version of this topic that describes the behavior of Desktop Engine Setup.exe included in MSDE 2000 Release A is at this Microsoft Web page. For more information about setup documentation, see 1.1 MSDE 2000 Documentation.

You must enclose the values for MSDE Setup parameters in double quotation marks if the values specified have special characters, such as blanks. Otherwise quotation marks are optional.

Most installations of MSDE 2000 Release A are made using only these Setup parameters:

Parameter | Description
SAPWD="AStrongPassword" | Specifies a strong password to be assigned to the sa administrator login.
INSTANCENAME="InstanceName" | Specifies the name of the instance. If INSTANCENAME is not specified, Setup installs a default instance.

Other parameters often used to tailor an installation are:

Parameter | Description
DISABLENETWORKPROTOCOLS=n | Specifies whether the instance will accept network connections from applications running on other computers. By default, or if you specify DISABLENTWORKPROTOCOL=1, Setup configures the instance to not accept network connections. Specify DISABLENETWORKPROTOCOLS=0 to enable network connections.
SECURITYMODE=SQL | Specifies that the instance be installed in Mixed Mode, where the instance supports both Windows Authentication and SQL Authentication logins.
DATADIR="data_folder_path" | Specifies the folder where Setup installs the system databases, error logs, and installation scripts. The value specified for data_folder_path must end with a backslash (\). For a default instance, Setup appends MSSQL\ to the value specified. For a named instance, Setup appends MSSQL$InstanceName\, where InstanceName is the value specified with the INSTANCENAME parameter. Setup builds three folders at the specified location: a Data folder, a Log folder, and a Script folder.
TARGETDIR="executable_folder_path" | Specifies the folder where Setup installs the MSDE 2000 executable files. The value specified for executable_folder_path must end with a backslash (\). For a default instance, Setup appends MSSQL\Binn to the value specified. For a named instance, Setup appends MSSQL$InstanceName\Binn, where InstanceName is the value specified with the INSTANCENAME parameter.

When you use DISABLENETWORKPROTOCOLS=0 to enable network support for an instance of MSDE 2000, applications connecting to the instance over a network use Microsoft Data Access Components (MDAC). All versions of Windows supported for use with MSDE 2000 include a version of the MDAC software that works with MSDE 2000 Release A. For more information about network communications, see this Microsoft Web page.

##### Using an .ini File

Desktop Engine Setup.exe parameters can be specified in two locations:

- On the command prompt when running Setup.exe.
- In an .ini file whose location is specified by a /settings switch. An .ini file is a text file, such as a file created using Notepad, and saved with a file name that has an extension of .ini. In the .ini file, the first line is [Options], and then the parameters are specified, one parameter per line.

> Important If you use an .ini file during setup, avoid storing security credentials in it.

This example specifies the parameters on the command prompt:

    setup SAPWD="AStrongPassword" INSTANCENAME="InstanceName" TARGETDIR="C:\MyInstanceFolder"

To run Setup with the same parameters using an .ini file, use Notepad to create a file named MyParameters.ini with these contents:

    [Options]
    INSTANCENAME="InstanceName"
    TARGETDIR="C:\MyInstanceFolder"

Then run Setup using the /settings switch to point to the .ini file:

    setup /settings "MyParameters.ini" SAPWD="AStrongPassword"

##### Requesting a Setup Log

You will need a verbose log to verify that the installation succeeded or to assist in debugging any problems that occur.

To generate a verbose log, specify /L*v <LogFileName>. <LogFileName> is the name of a log file where Setup will record all of its actions. If you do not specify a path as part of the name, the log file is created in the current folder. If you are executing Setup from a compact disc, you must specify the full path to a folder on the hard disk of your computer.

This example creates a log file, MSDELog.log, in the root folder of the C: drive:

    setup SAPWD="AStrongSAPassword" /L*v C:/MSDELog.log

If installation succeeds, an entry similar to the following will be at the end of the log:

    === Logging stopped: 5/16/03  0:06:10 ===
    MSI (s) (BC:7C): Product: Microsoft SQL Server Desktop Engine -- Installation operation completed successfully.

If the installation does not succeed, an entry similar to the following will be at the end of the log:

    === Logging stopped: 5/15/03  23:50:34 ===
    MSI (c) (6A:CE): Product: Microsoft SQL Server Desktop Engine -- Installation operation failed.

If the installation failed, search for the string "value 3" in the error log. Within 10 lines of the string will be a failure notice for a custom action. The notice will have additional information about the nature of the failure.

[Top]

# 3.4.4 MSDE 2000 Release A Installation Examples

The examples in this section illustrate how to perform typical installations of MSDE 2000 Release A.

The examples install new instances of MSDE 2000 Release A that have been configured with network connectivity disabled. If your instance must accept connections from applications running on other computers, also specify DISABLENETWORKPROTOCOLS=0.

These examples install instances using the defaults for all configuration items such as file locations. The configurations can be controlled by setup parameters, such as DATADIR and TARGETDIR. For more information about the configuration parameters that you can specify with Setup, see "Customizing Desktop Engine Setup.exe" in SQL Server 2000 Books Online. The version of this topic that describes the behavior of Desktop Engine Setup.exe included in MSDE 2000 Release A is at this Web page. For more information about Setup documentation, see 1.1 MSDE 2000 Documentation.

To install a new instance of Desktop Engine

1. Open a command prompt window.
2. From the command prompt, use the cd command to navigate to the folder containing the MSDE 2000 Release A Setup utility:

       cd c:\MSDE2000AFolder\MSDE

   where c:\MSDE2000AFolder is the path to the folder where you extracted the MSDE 2000 Release A files.

3. Execute one of the following commands:
   - To install a default instance configured to use Windows Authentication Mode, execute:

         setup SAPWD="AStrongSAPwd"

     Where AStrongSAPwd is a strong password to be assigned to the sa login.

   - To install a named instance configured to use Windows Authentication Mode, execute:

         setup INSTANCENAME="InstanceName" SAPWD="AStrongSAPwd"

     Where AStrongSAPwd is a strong password to be assigned to the sa login and InstanceName is the name to be assigned to the instance.

   - To install a default instance configured to use Mixed Mode, execute:

         setup SAPWD="AStrongSAPwd" SECURITYMODE=SQL

     Where AStrongSAPwd is a strong password to be assigned to the sa login.

   - To install a named instance configured to use Mixed Mode, execute:

         setup INSTANCENAME="InstanceName" SECURITYMODE=SQL SAPWD="AStrongSAPwd"

     Where AStrongSAPwd is a strong password to be assigned to the sa login and InstanceName is the name to be assigned to the instance.

> Important If you are using an .ini file during setup, avoid storing credentials in the .ini file.

> Important Always specify a strong password for the sa login, even when the instance is configured to use Windows Authentication Mode.

[Top]

# 3.5 Restart Services

When Setup completes, it may prompt you to restart the system. After the system restarts (or after Setup completes without requesting a restart), use the Services application in Control Panel to make sure that any services you stopped before applying the service pack are now running. This includes services such as MS DTC and the Microsoft Search, MSSQLServer, MSSQLServerOLAPService, and SQLServerAgent services or their instance-specific equivalents.

[Top]

# 4.0 Documentation Notes

This section covers features that are not documented in the latest versions of SQL Server 2000 Books Online. These features were originally made to the MSDE 2000 components as part of SQL Server 2000 service packs, and have not yet been added to SQL Server 2000 Books Online. Some of the items mention the service pack in which they were originally introduced.

Any information about MSDE 2000 Release A that was not available in time to be included in this readme file will be published in Microsoft Knowledge Base article 829925.

[Top]

# 4.1 Desktop Engine Enhancements

The following enhancements apply to the database engine included in MSDE 2000 Release A.

# 4.1.1 Expanded Error Messages for Distributed Queries

For distributed queries, MSDE 2000 Release A returns provider error information in addition to the server error information returned by earlier versions of MSDE 2000. When a query between linked servers results in an error, MSDE 2000 checks to see if the provider supports the IErrorRecords OLE DB interface. If this interface is supported, MSDE 2000 calls the GetErrorInfo function to get additional error information from the provider and returns this information to the user as part of the error message. If the IErrorRecords interface is not supported, there is no change in MSDE 2000 behavior: MSDE 2000 returns a generic error.

For example, run the following query against a server that uses MSDASQL, which does not support sql_variant:

    SELECT * FROM remote2k.dqtable.dbo.sqlvariantnotnull
    --Remote2k is a loopback server.

Prior to SP3, MSDE 2000 returned the following error message:

    Server: Msg 7356, Level 16, State 1, Line 1
    OLE DB provider 'msdasql' supplied inconsistent metadata for a column.
    Metadata information was changed at execution time.

MSDE 2000 SP3 or later, including MSDE 2000 Release A, returns the following error message:

    Server: Msg 7356, Level 16, State 1, Line 1
    OLE DB provider 'msdasql' supplied inconsistent metadata for a column.
    Metadata information was changed at execution time.
    OLE DB error trace [Non-interface error:  Column 'sql_variant' (compile-time
    ordinal 3) of object '"dqtable"."dbo"."sqlvariantnotnull"' was reported
    to have a DBCOLUMNFLAGS_ISFIXEDLENGTH of 16 at compile time and 0 at run time].

[Top]

# 4.1.2 Debugging Functionality Changes

The functionality for debugging stored procedures with Microsoft Visual Studio® 6.0 and earlier or with SQL Server Query Analyzer prior to SP3 is turned off by default in MSDE 2000 Release A. Application debugging (stopping at a SQL Server Transact-SQL breakpoint while debugging a client application) is also turned off by default. To enable debugging functionality, run sp_sdidebug, passing the parameter legacy_on. To disable debugging, pass legacy_off to this procedure.

> Note Running the sp_sdidebug stored procedure on production servers is not recommended.

For more information, see Microsoft Knowledge Base article 328151.

[Top]

# 4.2 Replication Enhancements

This section discusses enhancements to SQL Server 2000 replication that are included with MSDE 2000 Release A.

[Top]

# 4.2.1 Transactional Replication UPDATE Statements on Unique Columns

In transactional replication, UPDATE statements usually are replicated as updates. But if the update changes any column that is part of a unique index, a clustered index, or an expression that is used as a unique constraint, the update is performed as a DELETE statement followed by an INSERT statement at the Subscriber. This is done because this type of update can affect multiple rows, and a uniqueness violation can occur if updates are delivered row by row.

If the update affects only one row, there is no chance for a uniqueness violation. Therefore, trace flag 8207 has been added to SP1 or later to allow updates to any unique column that affect only one row to be replicated as UPDATE statements. This optimization has been added specifically for applications that install user-defined UPDATE triggers at the Subscriber and require these triggers to fire for updates that affect only one row on a unique column.

To use trace flag 8207, turn it on from the command prompt (`sqlservr.exe -T8207`) or at run time using DBCC TRACEON(8207, -1) before the Log Reader Agent is started.

> Important Typically, trace flag 8207 is used with read-only transactional replication. Do not use this trace flag with updatable subscriptions if the primary key UPDATE can occur at the Subscriber.

[Top]

# 4.2.2 Restriction on Non-unique Clustered Indexes

You cannot create a non-unique clustered index on a table after it is published for transactional replication. Before creating the index, you must first drop any publication that includes the table.

[Top]

# 4.2.3 Change to Requirements for Attaching or Restoring a Replication Database

Change the owner of a published database to the sa built-in administrator login before attaching or restoring the database if:

- The instance is running MDSE 2000 Release A.
- The user attaching the database is not a member of the sysadmin fixed server role.
- Cross-database ownership chaining has not been allowed.

If all of these conditions are true, you should execute the sp_changedbowner stored procedure on the attached or restored database. Assign ownership to the sa login to ensure that replication functions correctly.

> Note You must be a member of the sysadmin fixed server role to execute sp_changedbowner .

[Top]

# 4.3 SQL Server Agent Enhancements

This section discusses enhancements to SQL Server Agent included in MSDE 2000 Release A.

# 4.3.1 SQL Server Agent Logs Account Information

The SQL Server Agent Job History now records the Windows account under which each job step runs. This information helps administrators diagnose security issues with scheduled jobs, including scheduled jobs that are defined for replication and Data Transformation Services (DTS) tasks.

[Top]

# 4.3.2 SQL Server Agent Permission Checks

SQL Server now checks that the Agent job owner has permission to append or overwrite the output log file from each job. This happens in three ways:

- If the job owner is a member of the sysadmin fixed server role, the job output log file can be written to the server.
- If the job owner is a Windows user, SQL Server tests to see if the user has permission to write to the selected job output log file location on the server.
- If the job owner is a SQL Server user, SQL Server tests the SQL Server Agent proxy account for permission to write to the selected job output log file location on the server. If the proxy account has not been set, no log is written.

In all cases, jobs are written with SQL Server Agent credentials, but SQL Server now tests to ensure the user has permission to write to the selected job output log file location on the server. Errors appear in the job history, but the job steps do not fail if the log file cannot be written.

[Top]

# 4.3.3 SQL Agent Mail MAPI Profiles

In the 32-bit version of SQL Server 2000, SQL Agent Mail can be configured to use an Extended MAPI e-mail profile for sending e-mail alerts. You can use an Extended MAPI e-mail application, such as Microsoft Outlook, to create an Extended MAPI profile. In the 64-bit version of SQL Server 2000, SQL Agent Mail can only use a Simple MAPI profile for sending e-mail alerts. Do not use Simple MAPI profiles in the 32-bit version of SQL Server 2000.

[Top]

# 4.4 DB-Library and Embedded SQL for C

Although the DB-Library and Embedded SQL for C APIs are still supported in SQL Server 2000 (including MSDE 2000 Release A), no future versions of SQL Server will include the necessary files for programming applications that use them. Connections from existing applications written using DB-Library and Embedded SQL for C will still be supported in the next version of SQL Server, but this support will be dropped in a future release. When writing new applications, therefore, avoid using these components. Furthermore, when modifying existing applications, you are strongly encouraged to remove dependencies on these technologies. Instead of DB-Library or Embedded SQL for C, you can use ADO, OLE DB, or ODBC to access data in SQL Server. For more information about these technologies, see SQL Server Books Online.

[Top]