Microsoft SQL Server 2005

###

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

# Contents

1.0 Introduction

2.0 Installing SQL Server 2005

2.1 Accessing Setup Documentation

2.2 Upgrading to SQL Server 2005

2.3 Side-by-Side Installations

2.4 Uninstalling SQL Server 2005

2.5 Setup Issues

2.6 Failover Cluster Setup Issues

2.7 Installation Considerations for Pre-Release Versions of SQL Server 2005

3.0 Obtaining Additional Information

3.1 Getting SQL Server 2005 Assistance

3.2 Providing Feedback on SQL Server 2005

3.3 SQL Server 2005 Books Online and Developer Documentation

4.0 Documentation Notes

4.1 Database Engine

4.2 Analysis Services

4.3 Notification Services

4.4 Reporting Services

4.5 Replication

4.6 SQL Server 2005 Mobile Edition

4.7 Microsoft Visual Studio 2005

4.8 Shared Tools

4.9 Samples

4.10 Data Access

[Top]

# 1.0 Introduction

This file contains late-breaking or other important information that supplements the Microsoft® SQL Server™ 2005 documentation. You should read this file completely before installing SQL Server 2005.

Note:
This SQL Server 2005 readme file is available online at this Microsoft Web site.

SQL Server 2005 Express Edition (SQL Server Express) and SQL Server 2005 Mobile Edition (SQL Server Mobile) each have their own edition-specific readme files. Consult these readme files for information about these editions. The SQL Server Express readme file is available online at this Microsoft Web site. SQL Server Mobile is available with Microsoft Visual Studio® 2005, and the SQL Server Mobile readme file is available online at this Microsoft Web site.

You should read this readme file and all relevant Setup documentation prior to installing this release. Any information relevant to SQL Server 2005 that was not available in time to be included in this Readme file will be published in Microsoft Knowledge Base article 907284.

[Top]

# 2.0 Installing SQL Server 2005

This section describes how to access SQL Server 2005 installation information and system requirements, and any late-breaking information or setup issues that can affect successful installation of SQL Server 2005.

[Top]

### 2.1 Accessing Setup Documentation

Hardware and software requirements are summarized in the Installation Requirements for SQL Server 2005 document that is available on the product DVD or with the downloaded product files. Complete installation instructions and system requirements are detailed in the "Installing SQL Server" section in SQL Server 2005 Books Online. You can access the complete Setup documentation before you install SQL Server 2005.

To view Setup documentation:

1. Navigate to the root of the installation media or to the directory that contains the extracted product installation files.

2. Navigate to the \Setup\help\XXXX subfolder, where XXXX is the four-digit language designator.

   Note:
   When installing from a DVD, navigate to either the \Servers\Setup\help\XXXX subfolder or the \Tools\Setup\help\XXXX subfolder.

3. Launch Setupsql9.chm.

   Note:
   To view the Setup documentation from a network share on a computer running Microsoft Windows Server 2003 Service Pack 1 (SP1) or later, or a version of Windows XP later than SP2, you must first copy Setupsql9.chm to the local computer.

[Top]

### 2.2 Upgrading to SQL Server 2005

Upgrades are supported. Users can upgrade by using the Installation Wizard or perform unattended Setup by using a template.ini file. For more information, see "Upgrading to SQL Server 2005" in the Setup documentation. Before upgrading to SQL Server 2005, we recommend that you run the Microsoft SQL Server 2005 Upgrade Advisor. For more information, see "Using Upgrade Advisor to Prepare for Upgrades" in the Setup documentation.

[Top]

### 2.3 Side-by-Side Installations

SQL Server 2005 can be installed side-by-side with selected previous versions of SQL Server. For more information, see "Working with Multiple Versions of SQL Server" in the Setup documentation.

Note:
SQL Server 2005 cannot be installed side-by-side with any pre-release builds of SQL Server 2005. You must therefore remove all pre-release builds of SQL Server 2005 before installation. For more information, see section 2.7 Installation Considerations for Pre-Release Versions of SQL Server 2005."

[Top]

### 2.4 Uninstalling SQL Server 2005

For information about uninstalling SQL Server 2005, see "How to: Uninstall an Existing Instance of SQL Server 2005 (Setup)" in the Setup documentation. For information about uninstalling a clustered instance of SQL Server 2005, see "How to: Remove a SQL Server 2005 Failover Clustered Instance (Setup)" in the Setup documentation. For information about accessing the Setup documentation, see section 2.1, Accessing Setup Documentation.

If you have applications, such as Visual Studio 2005, that depend on version 2.0 of the .NET Framework installed by SQL Server 2005, you must uninstall those applications before uninstalling the .NET Framework. Refer to the application documentation for more information.

[Top]

### 2.5 Setup Issues

This section details setup issues.

[Top]

#### 2.5.1 System Configuration Checker Fails with "Performance Monitor Counter Check Failed" Message

System Configuration Checker (SCC) verifies the value of the Performance Monitor Counter registry key before SQL Server installation begins. If SCC cannot verify the existing registry key, or if SCC cannot run the Lodctr.exe system program, the SCC check fails, and Setup is blocked. To complete setup, you must manually increment the registry key.

Caution:
Incorrectly editing the registry can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from editing the registry incorrectly can be resolved. Before editing the registry, back up any valuable data. For information about how to back up, restore, and edit the registry, see Microsoft Knowledge Base article 256986.

To manually increment the counter registry key:

1. On the taskbar, click Start, click Run, type regedit.exe in the Run text box, and then click OK.

2. Navigate to the following registry key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]. Look up the following keys:

   - "Last Counter"=dword:00000ed4 (5276)
   - "Last Help"=dword:00000ed5 (5277)

3. Verify the values. The Last Counter value from the previous step (5276) must be equal to the maximum value of the Counter key from Perflib\009 in the following registry key, and the Last Help value from the previous step (5277) must be equal to the maximum value of the Help key from Perflib\009 in the following registry key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009].

   Note:
   "009" is the key used for the English (United States) language.

4. If necessary, modify the value for the Last Counter and Last Help values in the \Perflib key. Right-click Last Counter or Last Help in the right pane, select Modify, click Base = Decimal, set the value in the Value data field, and then click OK. Repeat for the other key, if necessary, and then close the registry editor.

5. Run SQL Server 2005 Setup again.

[Top]

#### 2.5.2 If Cryptographic Services Are Disabled on Windows Server 2003, Setup Fails with Windows Logo Requirement Dialog

Windows Cryptographic Service Provider (CSP) is code that performs authentication, encoding, and encryption services that Windows-based applications access through CryptoAPI on Windows Server 2003. If the CSP service is stopped or disabled, SQL Server Setup fails and displays a Windows Logo Requirement message.

Note:
Before running SQL Server Setup on a Windows Server 2003 failover cluster, the CSP service must be started on all cluster nodes.

To enable the Windows CSP service on Windows Server 2003:

1. In Control Panel, open Administrative Tools, and then double-click Services.

2. In the Name column, right-click Cryptographic Services, and then click Start.

3. Close Services.

4. Run Setup.

[Top]

#### 2.5.3 MS DTC Is Not Fully Enabled on Windows

Because the Microsoft Distributed Transaction Coordinator (MS DTC) is not completely configured in Windows, applications might fail to enlist SQL Server 2005 resources in a distributed transaction. This problem can affect linked servers, distributed queries, and remote stored procedures that use distributed transactions. To prevent such problems, you must fully enable MS DTC services on the server where SQL Server 2005 is installed.

To fully enable MS DTC:

1. In Control Panel, open Administrative Tools, and then double-click Component Services.

2. In the left pane of Console Root, click Component Services, and then expand Computers.

3. Right-click My Computer, and then click Properties.

4. On the MSDTC tab, click Security Configuration.

5. Under Security Settings, select all of the check boxes.

6. Verify that the DTC Logon Account name is set to NT AUTHORITY\NetworkService.

Note:
For installations of SQL Server 2005 on computers participating in a failover cluster, MS DTC must be fully enabled and clustered before you run Setup. If MS DTC is not clustered, Setup fails. Before running Setup, use the Microsoft Cluster Administrator to ensure that MS DTC has been clustered.

[Top]

#### 2.5.4 Northwind and pubs Sample Databases Are Not Installed by Default

The Northwind and pubs sample databases are not installed by default in SQL Server 2005. These databases can be downloaded from this Microsoft Web site.

[Top]

#### 2.5.5 Sample Databases and Companion Samples Are Not Installed by Default

AdventureWorks, AdventureWorksDW, and AdventureWorksAS sample databases and companion samples are not installed by default. To use SQL Server 2005 samples or to test sample code in SQL Server 2005 Books Online, you must install these databases.

Note:
The Completing Microsoft SQL Server 2005 Setup page, which displays at the end of Setup, contains incomplete instructions for installing the sample databases and samples. Follow the instructions below instead.

To install sample databases and samples during Setup:

1. On the Components to Install page, select Workstation components, Books Online, and development tools.

2. Click Advanced.

3. Expand Books Online and Samples.

4. Select Samples.

5. Expand Databases and then select the databases to be installed.

6. After installation is complete, follow the instructions below under "To complete the installation of samples."

To install sample databases and samples after SQL Server Setup is complete:

1. In Add or Remove Programs, select Microsoft SQL Server 2005, and then click Change.

2. On the Component Selection page, select Workstation Components, and then click Next.

3. On the Change or Remove Instance page, click Change Installed Components.

4. On the Feature Selection page, expand the Books Online and Samples node.

5. Select Samples.

6. Expand Databases, and then select the databases to be installed.

7. On the Sample Databases Setup page, select Attach Sample Databases, and then click Next.

   Note:
   This page will not display if only samples are selected.

8. Complete the remaining steps of the Installation Wizard.

9. After installation is complete, follow the instructions below under "To complete the installation of samples."

Setup installs the samples in the installer package SqlServerSamples.msi. Use the following procedure to extract samples from the installer package and complete the installation of samples.

To complete the installation of samples:

1. On the Start menu, point to All Programs, point to Microsoft SQL Server 2005, point to Documentation and Tutorials, point to Samples, and then click Microsoft SQL Server 2005 Samples.

2. In the InstallShield Wizard, click Next, accept the terms in the license agreement, and then click Next again.

3. (Optional) Click Change to specify the installation location for the samples. By default, the samples are installed under C:\Program Files\Microsoft SQL Server\90\Samples.

4. Click Next, and then click Install.

5. Read and follow the installation instructions in the readme files that accompany the samples you want to use.

In unattended installations, if you want to attach the sample databases and samples to a specific instance of SQL Server, use the following command-line switch, where instancename is not required for the default instance:

    SAMPLEDATABASESERVER=<servername>\<instancename>.

The instance to which you attach the sample database must be a local instance. If you do not specify the switch, the files are installed to the \Tools\Samples directory. Otherwise, they are installed to the data directory of the specified instance and attached to the server.

[Top]

#### 2.5.6 Existing Report Server Database Files Might Cause Setup to Fail

When an instance of SQL Server 2005 that hosts the report server database for an instance of Reporting Services is uninstalled by running Setup from the command prompt with the SAVESYSDB parameter, the report server database files are left behind with the rest of the system database files. By default, these files are named ReportServer$Instancename and ReportServer$InstancenameTempdb. If you then reinstall SQL Server 2005 with the USESYSDB Setup parameter and specify that the instance host the report server database, Setup will be unable to re-create these database files because they already exist.

To correct this problem, do one of the following:

- Drop report server databases before uninstalling using SAVESYSDB.
- Do not install Reporting Services along with SQL Server when using the SAVESYSDB Setup parameter.
- Use the RSDATABASENAME Setup parameter to specify a new name for the report server database when installing Reporting Services.

[Top]

#### 2.5.7 Help Might Not Work Properly When Setup Is Run from a Network Share

If you install SQL Server 2005 from a network share to a computer that is running Microsoft Windows Server 2003 Service Pack 1 (SP1) or later, or a version of Windows XP later than SP2, online Help topics might not display properly during Setup. To view these topics, you must first copy setupsql9.chm to the local computer, open it, and then search for desired specific topics. For information about accessing the Setup documentation, see section 2.1 Accessing Setup Documentation.

[Top]

#### 2.5.8 Installing a Default Instance of SQL Server 2000 May Disable SQL Server 2005

If your computer has SQL Server 2000 Management Tools and a default instance of SQL Server 2005 installed, SQL Server Setup will permit you to install a SQL Server 2000 default instance. However, doing so will disable the installed instance of SQL Server 2005. Therefore, do not install a default instance of SQL Server 2000 when SQL Server 2000 Management Tools and a default instance of SQL Server 2005 already exist on the computer.

[Top]

#### 2.5.9 "Force Encryption" Configuration May Cause SQL Server 2005 Setup to Fail

Setup might fail if an existing SQL Server client installation is configured with the "force encryption" option enabled. To work around this issue, disable the option on any SQL Server clients. For Microsoft Data Access Components (MDAC) clients in SQL Server 2000, use the SQL Server 2000 Client Network Utility. For SQL Native Client, uninstall SQL Native Client by using Add or Remove Programs. On a cluster, uninstall SQL Native Client from all nodes. Then run SQL Server 2005 Setup again.

[Top]

#### 2.5.10 Uninstalling SQL Server from a Side-by-Side Configuration on an X64 Server Removes the SQL Server Active Directory Helper Service

When an instance of SQL Server 2005 is uninstalled from a side-by-side configuration on a computer that is running Windows Server 2003 x64 or Windows XP Professional x64, the SQL Server Active Directory® Helper service is deleted. SQL Server Active Directory Helper is a service installed with SQL Server that handles Active Directory objects. There is only one SQL Server Active Directory Helper service instance for all instances of SQL Server installed on the computer.

To reinstall the SQL Server Active Directory Helper service:

1. From the command prompt, navigate to the shared tools installation directory (the default path is C:\Program Files\Microsoft SQL Server\90\Shared\).

2. Run the following command:

       sqladhlp90.exe -i

3. Run `services.msc`. In the Services dialog box, verify that "SQL Server Active Directory Helper" appears in the list of services in the Microsoft Management Console.

Note:
The SQL Server Active Directory Helper service cannot be started manually and does not run continuously; it is started by SQL Server only when needed.

[Top]

#### 2.5.11 Corrections to the Names of Security Groups Created During Setup

During setup, SQL Server 2005 adds the following security groups to Windows:

- SQLServer2005DTSUser$ComputerName
- SQLServer2005MSFTEUser$ComputerName$InstanceName
- SQLServer2005MSOLAPUser$ComputerName$InstanceName
- SQLServer2005MSSQLServerADHelperUser$ComputerName
- SQLServer2005MSSQLUser$ComputerName$InstanceName
- SQLServer2005NotificationServicesUser$ComputerName
- SQLServer2005ReportingServicesWebServiceUser$ComputerName$InstanceName
- SQLServer2005ReportServerUser$ComputerName$InstanceName
- SQLServer2005SQLAgentUser$ComputerName$InstanceName
- SQLServer2005SQLBrowserUser$ComputerName

These groups simplify granting permissions required to run SQL Server Windows services and other executables. They also help secure SQL Server files.

In SQL Server Books Online, $ComputerName was omitted from the names. The computer name has since been added to the group names to uniquely identify each group. Unique group names are necessary if SQL Server 2005 is installed on domain controllers. For all references to security groups that start with "SQLServer2005," substitute the appropriate group name listed above.

[Top]

#### 2.5.12 Installing SQL Server 2005 on a Windows Domain Controller

Security Note:
We recommend against running SQL Server 2005 on a domain controller.

It is possible to install SQL Server 2005 on a Windows domain controller; however, it cannot run on a Windows Server 2003 domain controller as Local Service or Network Service. SQL Server service accounts should run as Windows domain user accounts. It is also possible to install SQL Server service accounts to run as Local System, but this option is not recommended.

Do not change the role of the server after you install SQL Server 2005. For example, if you install SQL Server 2005 on a member server, do not use the Dcpromo tool to promote the server to a domain controller. Or, if you install SQL Server 2005 on a domain controller, do not use Dcpromo to demote the server to a member server. Changing the role of a server after you install SQL Server 2005 can result in loss of functionality and is not supported.

[Top]

#### 2.5.13 Configure IIS to Run 32-bit Reporting Services in WOW64 Mode

This readme item provides an updated version of the "How to: Configure IIS to Run 32-bit Reporting Services in WOW64 Mode" topic. Use the following steps to run Reporting Services in Windows-on-Windows 64 (WOW64) x86 emulation mode. Use the version of ASP.NET 2.0 that is provided through dotnetfx64.exe.

To configure IIS to run 32-bit Reporting Services in WOW64 mode:

1. Uninstall the 64-bit version of Reporting Services. Side-by-side deployment of 64-bit and 32-bit versions is not supported.

2. Run dotnetfx64.exe to install the .NET Framework manually. You can find this file in the Redist subfolder on the SQL Server 2005 installation media or in the directory that contains the extracted product installation files.

3. In IIS Manager, click the Web Server Extensions folder. In the Details pane, right-click ASP.NET V2.0.50727, and then click Allowed.

4. Right-click the Web Sites folder, and then select Properties.

5. Click ISAPI Filters. In Filter Name, select ASP.NET_2.0.50727, and then click Edit.

6. Replace "C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" with the 32-bit version that is located in the Framework folder: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll

7. Click OK. Save your changes, and then close IIS Manager.

8. From the command prompt, run the following command:

       cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

9. Install the 32-bit version of Reporting Services. After setup is complete, open IIS Manager, click the Web Server Extensions folder. In the Details pane, right-click ASP.NET V2.0.50727(32-bit), and then click Allowed.

[Top]

#### 2.5.14 Remote Setup is Not Supported

Remote setup of SQL Server 2005 is not supported in this release. If you use the TARGETCOMPUTER parameter to install SQL Server 2005 on a remote computer, SQL Server Setup will fail. To install SQL Server 2005 on a remote computer, use a remote connection to run SQL Server Setup in user interface mode or from the command prompt.

[Top]

#### 2.5.15 Existing Jobs Might Fail When You Reinstall Multiple Instances on the Same Computer

If you uninstall an instance of SQL Server 2005 by running Setup from the command prompt with the SAVESYSDB parameter, system databases are retained. In this case, when you remove multiple instances of SQL Server 2005 from the same computer, you must reinstall the instances in the same order that they were originally installed. Otherwise, existing jobs might not run because of agent job information stored in the retained system databases.

[Top]

#### 2.5.16 Upgrading to Spanish Versions of SQL Server 2005 Fails

When upgrading from any edition of the Spanish-language version of SQL Server 2000 to any edition of the Spanish-language version of SQL Server 2005, Setup fails, and an error message displays that instructs you to correct the problem and re-run Setup. To correct the problem, exit Setup and re-run it to continue upgrading.

[Top]

#### 2.5.17 Installing SQL Server Components to the Root Directory is Not Supported

If you specify a non-default installation path for SQL Server components, you must include at least one directory in the installation path. Installing directly to the root directory (C:\, for example) will install WOW64 components to %<root>% (X86)\ and cause Setup to fail.

[Top]

#### 2.5.18 Side-by-Side Installation of 32-bit Components on the X64 Platform is Not Supported

If you have 64-bit (X64) Management Tools, SQL Server Integration Services, and Notification Services installed as part of a 64-bit instance of SQL Server 2005, you cannot install 32-bit versions of the same components in a side-by-side configuration.

[Top]

#### 2.5.19 Maintenance Mode Prompts for Path to Setup.exe

If you install a new SQL Server 2005 component in maintenance mode, you will be prompted for the location of Setup.exe on the SQL Server 2005 installation media. When specifying the location, make sure that the path includes "Setup.exe." For example, the path "D:\" will fail, but "D:\Setup.exe" will succeed.

[Top]

#### 2.5.20 Troubleshooting Failure of Setup Command Shell Scripts

Setup command shell scripts can generate Windows script errors when path variables contain parentheses. This occurs because command shell scripts do not support parentheses in path variables, which can occur when installing 32-bit components to the Windows on Windows (WOW64) 32-bit subsystem on a 64-bit computer. For example, the following script, with a path value of "C:\Program Files (x86)\", generates an error because the shell script interpreter misinterprets the parentheses in the expanded PATH variable as part of the IF/ELSE statement:

    IF "%SOME_PATH%" == "" (
            SET PATH=%PATH%;%PATH_A%
    ) ELSE (
            SET PATH=%PATH%;%PATH_B%
    )

To work around this issue, change the script to remove the parentheses. For example:

    IF "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_A%
    IF NOT "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_B%

Or remove the SQL entry containing parentheses from the path.

[Top]

#### 2.5.21 Full-Text Search Incorrectly Installs Under the Local System Account

When you add Full-Text Search to an existing instance of SQL Server 2005 through maintenance mode or upgrade from another edition of SQL Server 2005, the Full-Text Search service does not run under the specified domain account. Instead, it runs under the Local System account. For more information, see Knowledge Base article 907256.

[Top]

#### 2.5.22 Setup Issues When Running SQL Server Agent Under a Low-Privileged User Account

When running SQL Server Agent service under an account that is not a Windows Administrator, see Knowledge Base article 907557 for details on supported low-privileged accounts, known issues, and any workarounds.

[Top]

#### 2.5.23 Using the Built-in NT Authority\NetworkService Account for SQL Server and SQL Server Agent When Reporting Services Is Installed

If SQL Server and SQL Server Agent are running under the NT Authority\NetworkService account, and Reporting Services is installed on the same computer, SQL Server Agent will not run. To resolve this problem, restart the computer. See Knowledge Base article 907557 for details on supported low-privileged accounts, and known issues.

[Top]

#### 2.5.24 Side-by-Side Installation of SQL Server 2000 and SQL Server 2005 Reporting Services on an Internet Information Services 5.0 Web Server

An installation of SQL Server 2000 Reporting Services that runs on Internet Information Services (IIS) 5.0 or IIS 5.0 isolation mode might stop running if you perform a side-by-side installation of SQL Server 2005 Reporting Services (or if you install the Microsoft .NET Framework 2.0 or register ASP.NET 2.0 on the host computer). Errors that occur vary by operating system. On Microsoft Windows XP, the error is:

    The report server cannot decrypt the symmetric key used to access sensitive or encrypted
    data in a report server database. You must either restore a backup key or delete all
    encrypted content and then restart the service.

On other Windows servers, the error is:

    Key not valid for use in specified state.

After you install SQL Server 2005 Reporting Services, perform the following steps to update your SQL Server 2000 version of Reporting Services installation:

1. Under <drive>:\Documents and Settings\<machine_name>\ASPNET\Application Data\Microsoft\Crypto\RSA\, search for a file named '1aedd7b5699f3d6a88e354100b596aae*'.

2. Delete the file.

3. Run `RSActivate –r –c <`rsreportserver.config file`>`, specifying the RSReportServer.config file of the SQL Server 2000 Reporting Services installation.

[Top]

#### 2.5.25 Considerations for Uninstalling SQL Server 2005 Books Online

The following limitations apply when uninstalling SQL Server 2005 Books Online.

##### Setup Fails to Completely Uninstall SQL Server 2005 Books Online

To uninstall SQL Server 2005 Books Online from Add or Remove Programs, click Change on the Microsoft SQL Server 2005 selection. If you try to uninstall SQL Server Books Online by clicking Change on the SQL Server 2005 Books Online selection, Setup fails to completely uninstall it.

To reinstall SQL Server Books Online after a failed uninstallation:

1. In Add or Remove Programs, select Microsoft SQL Server 2005, and then click Change.

2. Expand Workstation Components on the feature tree, and then clear the Books Online selection.

3. Complete the remaining steps in the Installation Wizard.

4. In Add or Remove Programs, select Microsoft SQL Server 2005, and then click Change.

5. Expand Workstation Components on the feature tree, and then select Books Online.

6. Complete the remaining steps in the Installation Wizard.

##### Uninstalling SQL Server 2005 Books Online from Side-by-Side Configuration Causes Loss of Functionality

If more than one language version of SQL Server 2005 Books Online is installed on the same computer, all versions must be uninstalled if any are; failure to uninstall all versions will cause the remaining versions to not function properly. Once all versions are uninstalled, you can reinstall the language versions you want using Add or Remove Programs.

[Top]

#### 2.5.26 SQL Server 2005 Setup Requires 1.6 GB of Disk Space on the System Drive

During installation of SQL Server 2005, Windows Installer creates temporary files on the system drive. Before you run Setup to install or upgrade to SQL Server 2005, verify that you have 1.6 GB of available disk space on the system drive for these files. This requirement applies even if you install SQL Server components to a non-default drive.

[Top]

### 2.6 Failover Cluster Setup Issues

This section details setup issues that only affect failover cluster installations.

[Top]

#### 2.6.1 MS DTC Cluster Resources

MS DTC cluster resources must be created on all Windows Server 2003 32-bit and 64-bit clusters before installing SQL Server 2005. If MS DTC is not set up as a cluster resource on Windows Server 2003, a warning is displayed.

[Top]

#### 2.6.2 Setup Installs Management Tools Only on the Primary Node of a Failover Cluster

Setup installs management tools only on the primary node of a failover cluster. To make the tools accessible from secondary nodes of a failover cluster, install them separately on each secondary node.

[Top]

#### 2.6.3 Guidelines for Failover Cluster Virtual Server Names and Instance Names

Follow these recommendations for failover cluster installations using virtual servers:

- When planning a SQL Server failover cluster implementation, always maintain a 1:1 relationship between virtual server names and SQL Server instance names: for each virtual server, there should be one and only one SQL Server instance.
- If you use the Installation Wizard to install additional components to an existing failover cluster, install the additional components to a new virtual server with a new SQL Server instance name. If you install additional components via the command prompt, you can either use the existing virtual server name and the existing instance name, or you can use a new virtual server name and a new instance name.
- To create a failover cluster with multiple SQL Server 2005 components, install all components with a single run of the SQL Server Installation Wizard, or use unattended Setup to add components to an existing failover cluster.

[Top]

### 2.7 Installation Considerations for Pre-Release Versions of SQL Server 2005

This section contains information that is applicable only when installing on a computer on which a pre-release version of SQL Server 2005 was previously installed.

Note:
SQL Server 2005 cannot be installed side-by-side with any pre-release builds of SQL Server 2005. You must therefore remove all pre-release builds of SQL Server 2005 before installation.

[Top]

#### 2.7.1 Uninstalling Pre-Release Versions of SQL Server 2005 and Visual Studio 2005

You must remove all pre-release builds of SQL Server 2005, Visual Studio 2005, and the .NET Framework before installation. Because both products depend on the same version of the .NET Framework, they must be uninstalled in the following order:

1. SQL Server 2005
2. Visual Studio 2005
3. .NET Framework 2.0

For more information about using Visual Studio 2005 with SQL Server 2005, see section 4.7 Microsoft Visual Studio 2005.

[Top]

#### 2.7.2 Existing SQL Native Client Installation May Cause Setup to Fail

Setup might fail and roll back with the following error message: "An installation package for the product Microsoft SQL Native Client cannot be found. Try the installation again using a valid copy of the installation package 'sqlncli.msi'." To work around this problem, uninstall SQL Native Client by using Add or Remove Programs. On a cluster, uninstall SQL Native Client from all nodes. Then, run SQL Server Setup again.

[Top]

#### 2.7.3 Settings For sp_configure May Cause Setup to Fail When Upgrading System Databases

Setup from the command prompt might fail when you uninstall an earlier Community Technology Preview (CTP) release of SQL Server 2005 by using SAVESYSDB, and then install this release by using USESYSDB, if the sp_configure options SMO and DMO XPs or Agent XPs are disabled on the earlier instance. To resolve this issue, ensure that these options are enabled before using Setup to upgrade system databases. For more information, see "Setting Server Configuration Options" in SQL Server Books Online.

[Top]

#### 2.7.4 Database Engine Tuning Advisor Requires Clean-up Script

If a pre-June CTP Database Engine Tuning Advisor (DTA) client was used to tune SQL Server 2000 or the pre-June CTP release of SQL Server 2005 (including SQL Server 2005 Beta 2), there might be problems in this release if a DTA client is used to tune these servers. Knowledge Base article 899634 contains a Transact-SQL script that is used to remove DTA client metadata from the msdb database on these servers. This script can be executed only by a member of the sysadmin fixed server role.

Caution:
Running this script will delete any previous DTA tuning sessions on these servers.

[Top]

#### 2.7.5 Jobs with Active Scripting Job Steps Fail If the User Is Not a Member of the sysadmin Fixed Server Role

If you uninstall an instance of SQL Server 2005 earlier than the June CTP by running Setup from the command prompt with the SAVESYSDB parameter, and then install this release, some jobs might fail. Jobs will fail for users who are not members of the sysadmin fixed server role if the jobs contain job steps that use active scripting subsystem proxies. When this problem occurs, you receive the following error message:

    sqlstubss90.exe - Unable To Locate Component
    The application failed to initialize properly(0xc0000022).
    Click on OK to terminate the application

To resolve this problem, execute the following script:

    USE [msdb]
    GO

    create table #tmp_sp_help_proxy(proxy_id int null, name nvarchar(128) null,
        credential_identity nvarchar(128) null, enabled tinyint null, description
        nvarchar(1024) null, user_sid varbinary(40) null, credential_id int null,
        credential_identity_exists int null)
    insert into #tmp_sp_help_proxy(proxy_id, name, credential_identity, enabled, description,
        user_sid, credential_id, credential_identity_exists) exec msdb.dbo.sp_help_proxy
    GO

    DECLARE @cred_id int
    DECLARE @name sysname
    DECLARE proxy_cursor CURSOR LOCAL
    FOR
       SELECT name, credential_id FROM msdb.dbo.sysproxysubsystem sps
       JOIN #tmp_sp_help_proxy t on (t.proxy_id=sps.proxy_id) WHERE subsystem_id=2
    OPEN proxy_cursor
    FETCH NEXT FROM proxy_cursor INTO @name, @cred_id
    WHILE (@@fetch_status = 0)
    BEGIN
          SET @name = (N'____Copy'+@name)
          EXEC msdb.dbo.sp_add_proxy @proxy_name=@name, @credential_id=@cred_id,@enabled=1
          EXEC msdb.dbo.sp_grant_proxy_to_subsystem @proxy_name=@name, @subsystem_id=2
          EXEC msdb.dbo.sp_delete_proxy @proxy_name=@name
          FETCH NEXT FROM proxy_cursor INTO @name, @cred_id
    END
    CLOSE proxy_cursor
    DEALLOCATE proxy_cursor
    GO

    drop table #tmp_sp_help_proxy
    GO

[Top]

#### 2.7.6 Report Builder Role Permissions Must Be Recreated After Upgrade

The Report Builder role has changed permissions in this release. Reports created using a release of SQL Server 2005 earlier than the September CTP may fail to load in this release because of insufficient permissions.

To re-create the Report Builder role with the correct permissions using Report Manager:

1. Browse to your report server.

2. Click the Properties tab.

3. Click the Edit box for BUILTIN\Adminstrators.

4. Under the Role column, click the Report Builder link.

5. Add any task to this role by clicking an empty check box. Remember which task you added so you can remove it in step 10.

6. Click OK to save the role.

7. Click Apply to return to the Security Properties page.

8. Click the Edit box for BUILTIN\Administrators.

9. Under the Role column, click the Report Builder link.

10. Remove the task you added in step 5 by clicking the check box to clear it.

11. Click OK to save the role.

12. Click Apply.

[Top]

#### 2.7.7 Update Notification Services Version Numbers Before Migrating June CTP Instances

If you deployed instances of Notification Services on the June CTP, and you want to migrate those instances to this release of SQL Server 2005, you must manually migrate the instances of Notification Services. However, because of an incorrect version number in the June CTP, you must perform an additional step of manually updating version numbers before you can migrate the instances.

To upgrade to a newer version and migrate the instances of Notification Services:

1. Disable and stop all instances of Notification Services.

2. Detach the instance and application databases and move all databases to another location.

3. Unregister all instances of Notification Services.

4. Remove the June CTP using the Build Uninstall Wizard, included with SQL Server 2005.

5. Install the newer version of the Database Engine and Notification Services.

6. Attach the instance and application databases.

7. Run nscontrol repair for each instance of Notification Services to add metadata to msdb.

8. Update the version numbers by running the following update statement in each instance database:

       UPDATE [<Instance Schema>].[NSVersionInfo] SET [NSFileVersionRevision] = 7
       WHERE [NSFileVersionMajor]=9 AND [NSFileVersionMinor]=0
         AND [NSFileVersionBuild]=1187

9. Run the following update statement in each application database:

       UPDATE [<Application Schema>].[NSVersionInfo] SET [NSFileVersionRevision] = 7
       WHERE [NSFileVersionMajor]=9 AND [NSFileVersionMinor]=0
         AND [NSFileVersionBuild]=1187

10. Run the Notification Services Upgrade command.

11. Run the Notification Services Update command.

12. Register all instances of Notification Services.

13. Enable and start the instances.

[Top]

#### 2.7.8 Restrictions for Registering Common Language Runtime Assemblies

SQL Server does not allow registering different versions of an assembly with the same name, culture, and public key. If you plan to retain databases from a version of SQL Server 2005 earlier than the September CTP release, you must drop all but one instance of an assembly that has multiple registrations before you install the this release.

[Top]

#### 2.7.9 Database Mirroring Issues

For critical information about upgrading a mirrored database, see Microsoft Knowledge Base article 907741.

Note:
Microsoft support policies do not apply to database mirroring in SQL Server 2005. For more information, see section 4.1.20 Working With Database Mirroring.

[Top]

# 3.0 Obtaining Additional Information

This section describes where to find additional information and documentation about SQL Server 2005.

[Top]

### 3.1 Getting SQL Server 2005 Assistance

There are three principal sources of information from Microsoft about SQL Server 2005:

- The documentation, tutorials, and samples installed with SQL Server.
- The SQL Server sites on the Microsoft Developer Network (MSDN) and TechNet.
- SQL Server information on additional Microsoft Web sites.

You can also get help from others, either through the SQL Server community, or directly from Microsoft support. For more information, see "Getting SQL Server 2005 Assistance" in SQL Server Books Online.

[Top]

### 3.2 Providing Feedback on SQL Server 2005

You can provide suggestions and bug reports on Microsoft SQL Server 2005 in the following ways:

- Make suggestions and file bug reports about the features and user interface of SQL Server 2005 at this Microsoft Web site.
- Send suggestions and report inaccuracies about the documentation by using the feedback functionality in SQL Server Books Online.
- Send error reports and feature usage data automatically to Microsoft for analysis.

For more information, see "Providing Feedback on SQL Server 2005" in SQL Server Books Online.

[Top]

### 3.3 SQL Server 2005 Books Online and Developer Documentation

Microsoft periodically publishes downloadable updates to SQL Server 2005 Books Online. We strongly recommend installing these updates to keep the information current in your local copy of the documentation. A stand-alone version of the latest SQL Server 2005 Books Online is available at this Microsoft Web site. For more information, see "Downloading and Updating Books Online" in SQL Server Books Online.

Help documentation for SQL Server 2005 is designed to integrate with other Microsoft developer documentation collections for an improved local Help experience. The .NET Framework 2.0 SDK is available online at this Microsoft Web site. For information about how integrate SQL Server 2005 Books Online Help documentation with the .NET Framework 2.0 SDK, see "SQL Server 2005 Combined Help Collection Manager" in SQL Server Books Online.

Note:
We recommend adding the MSDN Library to Business Intelligence Development Studio. For more information, see "Adding Help Collections" in SQL Server Books Online.

[Top]

# 4.0 Documentation Notes

The notes in this section are late-breaking items that are not reflected in the SQL Server 2005 Books Online documentation. Any information relevant to SQL Server 2005 that was not available in time to be included in this Readme file will be published in Microsoft Knowledge Base article 907284.

For information that is applicable only to computers on which a pre-release version of SQL Server 2005 was previously installed, see section 2.7 Installation Considerations for Pre-Release Versions of SQL Server 2005.

[Top]

### 4.1 Database Engine

The notes in this section are late-breaking items for the SQL Server 2005 Database Engine and Database Engine-specific command prompt utilities.

[Top]

#### 4.1.1 Network Connectivity Not Enabled by Setup

To enhance security, SQL Server 2005 disables network connectivity for some new installations. Network connectivity using TCP/IP is not disabled if you are using SQL Server Enterprise, Standard, or Workgroup Edition, or if a previous installation of SQL Server is present. Named Pipes connectivity is available only for local connections unless a previous installation of SQL Server is present. For all installations, the shared memory protocol is enabled to allow local connections to the server. The SQL Browser service might be stopped, depending on installation conditions and installation options.

[Top]

#### 4.1.2 Connections May Be Forcibly Closed When Running on Windows Server 2003 SP1

Client connections to an instance of the SQL Server Database Engine running on Windows Server 2003 Service Pack 1 might fail with the following error: "ProviderNum: 7, Error: 10054, ErrorMessage: "TCP Provider: An existing connection was forcibly closed by the remote host"." This can occur when you are testing scalability with a large number of client connection attempts. To resolve this issue, use the regedit.exe utility to add a new DWORD value named SynAttackProtect to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ with value data of 00000000.

Security Note:
Setting this registry key can expose the server to a SYN flood denial-of-service attack. Remove this registry value when testing is complete.

Caution:
Incorrectly editing the registry can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from editing the registry incorrectly can be resolved. Before editing the registry, back up any valuable data. For information about how to back up, restore, and edit the registry, see Microsoft Knowledge Base article 256986.

[Top]

#### 4.1.3 Secure Service Broker Dialogs Require a Database Master Key

SQL Server 2005 Books Online incorrectly states that when a conversation using dialog security spans databases, SQL Server creates a session key encrypted with the master key for the database. Actually, the session key is encrypted with the master key for the database for all conversations that use dialog security. If a database master key is not available, messages for the conversation remain in the transmission_queue with an error until a database master key is created, or until the conversation times out. Either use the `ENCRYPTION = OFF` parameter to create an unencrypted dialog, or use the following command to create a database master key:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'

[Top]

#### 4.1.4 Considerations for Assemblies That Contain User-Defined Types

The following limitations apply to common language runtime (CLR) assemblies that contain user-defined types.

##### Common Language Runtime User-Defined Types Should Have Only One Serialization

Each instance of a byte-ordered user-defined type object can have only one serialized representation. If the serialize or de-serialize routines recognize more than one representation of a particular object, you may see errors in the following cases:

- During validation of a byte-ordered user-defined type passed through RPC, user-defined type validation performs de-serialization/re-serialization of the user-defined type and requires that the resulting bytes be exactly the same as the original. If the validation fails, you will see the error: "System.Data.SqlClient.SqlException, Incoming TDS RPC protocol stream is incorrect. Parameter 1 ("<ParameterName>"): The supplied value is not a valid instance of data type <TypeName>. Check the source data for invalid values."
- During DBCC CHECKTABLE, the bytes stored in a byte-ordered user-defined type column must be equal to the computed serialization of the UDT value. If this is not true, the DBCC CHECKTABLE routine will report a consistency error.

##### Updated Restrictions on Updating Assemblies That Hold User-Defined Type Classes

ALTER ASSEMBLY can be used to update CLR user-defined types in the following ways:

- To modify public methods of the user-defined type class, as long as signatures or attributes are not changed.
- To add new public methods.
- To modify private methods in any way.

Fields that are contained within a native-serialized user-defined type, including data members or base classes, cannot be changed by using ALTER ASSEMBLY. All other changes are unsupported.

[Top]

#### 4.1.5 Considerations for the Autorecovered Shadow Copy Feature of the Volume Shadow Copy Service

The autorecovered shadow copy feature of the Volume Shadow Copy Service (VSS) has the following limitations.

##### Multiple Persisted Autorecovered Shadow Copies

On Windows Server 2003 Service Pack 1 (SP1) and later, you can create only a single persisted autorecovered shadow copy. To create an additional shadow copy, you must first apply the update described in Knowledge Base article 891957.

Note:
If you have not applied this update, you can create a new persisted autorecovered shadow copy by deleting the existing one first, and then creating the new one.

##### Autorecovered Shadow Copies and Full-Text Catalogs

The autorecovered shadow copy feature does not support full-text catalogs. When an autorecovered shadow copy is created, any full-text catalogs in the database on the shadow copy are taken offline. When the database is attached from the shadow copy, the full-text catalog remains offline permanently. All other data remains available in the attached database.

When a database that contains a full-text catalog is attached directly from an autorecovered shadow copy, the attach operation returns the following error message:

    Server: Msg 7608, Level 17, State 1, Line 1
    An unknown full-text failure (0xc000000d) occurred during "Mounting a full-text catalog".

If you do not need to attach a database directly from the shadow copy, you can avoid this issue by copying the database files and full-text catalogs from the shadow copy to a regular drive-letter based volume, and then attaching the database from that location. As long as the attach command specifies the correct location of the copied full-text files, the full-text catalogs will work.

[Top]

#### 4.1.6 Lowering Privileges for Full-Text Search

In releases prior to SQL Server 2005, the Full-Text Search service ran under the NT AUTHORITY\LOCAL SYSTEM account, which has a high degree of privileges. In SQL Server 2005, the service account selected for the SQL Server Database Engine is used to run the MSFTESQL service that supports Full-Text Search. By doing this, MSFTESQL runs with lower privileges than before.

Because the MSFTESQL service account requires fewer privileges than the Database Engine service account, in SQL Server 2005, you can change the MSFTESQL service account. If you do so, we strongly recommend using the following guidelines:

- Always use the SQL Server Configuration Manager to change the service account. This helps ensure that the service account is placed in the proper Windows local group that supports Full-Text Search security.
- Use a Windows user account that belongs only to the Windows Users group on the local computer system.
- Use a different Windows user account for each MSFTESQL instance. This ensures least privileges for each service account by limiting it to only one instance of SQL Server.

Note:
In a clustered environment, the MSFTESQL service account must be a Domain account with local Administrator privileges.

[Top]

#### 4.1.7 Creating EXTERNAL_ACCESS and UNSAFE Assemblies

To create an EXTERNAL_ACCESS or UNSAFE assembly in SQL Server, or to load an assembly, one of the following two conditions must be met:

- The assembly is strong name signed or authenticode signed with a certificate. This strong name (or certificate) is created inside SQL Server as an asymmetric key (or certificate) and has a corresponding logon with EXTERNAL ACCESS ASSEMBLY permission (for external access assemblies) or UNSAFE ASSEMBLY permission (for unsafe assemblies).
- The database owner (DBO) has EXTERNAL ACCESS ASSEMBLY (for EXTERNAL ACCESS assemblies) or UNSAFE ASSEMBLY (for UNSAFE assemblies) permission, and the database has the TRUSTWORTHY database property set to ON.

We recommend that the TRUSTWORTHY property on a database not be set to ON only to run common language runtime (CLR) code in the server process. Instead, we recommend that an asymmetric key be created from the assembly file in the master database. A logon mapped to this asymmetric key must then be created, and the logon must be granted EXTERNAL ACCESS ASSEMBLY or UNSAFE ASSEMBLY permissions.

The following Transact-SQL statements perform the steps that are required to create an asymmetric key, map a logon to this key, and then grant EXTERNAL_ACCESS ASSEMBLY permission to the logon. You must execute the following Transact-SQL statements before executing the CREATE ASSEMBLY statement.

    USE master
    GO

    CREATE ASYMMETRIC KEY HelloWorldKey FROM EXECUTABLE FILE = 'C:\HelloWorld.dll'
    CREATE LOGIN HelloWorldLogin FROM ASYMMETRIC KEY HelloWorldKey
    GRANT EXTERNAL ACCESS ASSEMBLY TO HelloWorldLogin
    GO

[Top]

#### 4.1.8 Full-Text Search in SQL Server 2005 Uses Enhanced Noise Word Files

On upgrade to SQL Server 2005, Full-Text Search uses enhanced noise word files to populate full-text indexes. If you customized the noise word files in the previous version of SQL Server and you want Full-Text Search to continue using the customized files after upgrade, you must replace the SQL Server 2005 noise word files with the customized files.

Note:
Replace the new noise word files immediately after upgrading to SQL Server 2005 to avoid having to re-populate the full-text indexes later.

The SQL Server 2005 noise word files are located in the <InstallDirectory>\Microsoft SQL Server\MSSQL.1\MSSQL\FTDATA\ folder, where InstallDirectory is the installation folder. Noise word files from previous versions of SQL Server are located in the <InstallDirectory>\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\FTERef folder. For information about how to replace the SQL Server 2005 noise word files with the noise word files from the previous version of SQL Server, see Microsoft Knowledge Base article 905617.

[Top]

#### 4.1.9 Application Role Compatibility with Metadata Visibility Restrictions and Dynamic Management Views

The behavior of programs that run under an application role might change because, by default, SQL Server 2005 limits the visibility of master database metadata to application roles. As a temporary workaround, you can enable trace flag #4616. For more information, see Knowledge Base article 906549.

[Top]

#### 4.1.10 Unsupported Database Tuning Options on Some Editions of SQL Server 2005 and SQL Server 2000

SQL Server 2005 Books Online incorrectly lists the editions of SQL Server that are supported by the Database Engine Tuning Advisor graphical user interface (GUI) and dta utility tuning options. Tuning options that involve indexed views, partitioning, and generating recommendations online are not supported by the Standard Edition of either SQL Server 2005 or SQL Server 2000. In addition, tuning options that involve partitioning and generating recommendations online are not supported by the Enterprise, Developer, and Enterprise Evaluation editions of SQL Server 2000. These limitations apply to both the 32-bit and 64-bit versions of SQL Server. For detailed information about which tuning options are not supported, see Knowledge Base article 906649.

[Top]

#### 4.1.11 SUPPLEMENTAL_LOGGING Database Option Is Not Implemented

The SUPPLEMENTAL_LOGGING database option is not implemented in this release of SQL Server. This option can be set but has no effect.

[Top]

#### 4.1.12 Database Objects Left Behind on the Test Server May Interfere with a Test Server/Production Server Tuning Session

Cloned databases may be left behind unexpectedly on the test server after a successful test server/production server tuning session using Database Tuning Advisor even if you have not used the RetainShellDB option. These cloned databases may interfere with subsequent tuning sessions and should be dropped before performing another test server/production server tuning session. In addition, if a tuning session exits unexpectedly, the databases cloned to the test servers and objects within those databases may be left behind on the test server. You should also delete these databases and objects before starting a new test server/production server tuning session.

[Top]

#### 4.1.13 sys.dm_clr_loaded_assemblies Shows Assemblies That Failed to Load

Assemblies that fail to load into the server address space for any reason will still appear in the sys.dm_clr_loaded_assemblies dynamic management view.

[Top]

#### 4.1.14 Accessing 32-Bit SQL Server 2000 Servers from 64-Bit SQL Server 2005 Clients May Fail

For distributed queries from 64-bit SQL Server 2005 clients to 32-bit SQL Server 2000 servers, SQL Server 2000 SP3 or later is required. Distributed queries include references to linked server entries that you define by using sp_addlinkedserver and the OPENROWSET and OPENQUERY functions. In addition, system stored procedures, known as catalog stored procedures, must be manually upgraded on SQL Server 2000 SP3 and SP4 servers.

If the versions of the catalog stored procedures on the 32-bit instance of SQL Server 2000 are not updated with the versions that shipped with the service pack, you will receive the following error:

    "The stored procedure required to complete this operation could not be found on the server.
    Please contact your system administrator."
    Msg 7311, Level 16, State 2, Line 1
    Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for
    linked server "<ServerName>". The provider supports the interface, but returns a
    failure code when it is used.

To correct this issue, you must run the instcat.sql script from the service pack against the 32-bit instance of SQL Server 2000 or MSDE.

[Top]

#### 4.1.15 XQuery Changes

The following aspects of the SQL Server 2005 XQuery implementation are not documented in SQL Server Books Online:

- Characters that are generated by CDATA sections are not considered to be white-space characters. For example, `select cast(''as xml).query('<a> <![CDATA[ ]]> {"abc"}</a>')` returns `<a> abc</a>`.
- Construction of empty elements and attributes is supported.
- The namespace prefix xmlns identifies a namespace declaration attribute and cannot be redeclared in an XQuery expression. This behavior is required by the XQuery specification.
- Using 'for' with source expression () yields a static error.
- In an XML document that is constructed by using the query() method on the xml data type, a carriage return within a CDATA section becomes a line feed. The line feed is used instead of the earlier carriage-return entity reference (&#x0d;) for uniformity with text XML parsing.
- Transact-SQL user-defined functions that contain local-name() and namespace-uri() are deterministic.

[Top]

#### 4.1.16 Conversion From xsd:dateTime is Less Restrictive Than Documented

A string representation of an xsd:dateTime value that does not contain a date and time separator T or a time zone can be converted to an SQL datetime type in a value() method, as in the following example:

    declare @aaa xml
    set @aaa = '<AAA MyDate="2005/1/1 00:00:00"/>'
    select @aaa.value('(//AAA)[1]/@MyDate', 'datetime')

[Top]

#### 4.1.17 XML Schema Support

The following aspects of the SQL Server 2005 support for XML Schema are not documented in SQL Server Books Online:

- The XML schema for Reporting Services (RDL) can be loaded into an XML schema collection.
- Values of type xsd:dateTime and xsd:time that contain second values that have more than three fractional digits do not return an error. Instead they are rounded off.
- An XML schema is rejected if maxInclusive is redefined in a derived type when base type has `fixed="true"`.
- Trailing spaces in minInclusive, minExclusive, maxInclusive, and maxExclusive facets are ignored in derived types that restrict the xsd:dateTime, xsd:data, and xsd:time data types.

[Top]

#### 4.1.18 Remote Connections to a SOAP/HTTP Endpoint May Fail Using Integrated Authentication

Remote connections to a SOAP/HTTP endpoint may fail when the SQL Server service account is a domain account and authentication for the endpoint is set to INTEGRATED, even though local connections succeed. The problem can occur when the Service Principal Name (SPN) is registered to the local system account. You can work around the issue by either registering an SPN for the SQL Server Service account or specifying NTLM authentication for the endpoint. For more information about registering an SPN, see "Registering Kerberos Service Principal Names by Using Http.sys" in SQL Server Books Online.

[Top]

#### 4.1.19 SQL Server does not Guarantee Data Consistency when Updating Assemblies

If WITH UNCHECKED DATA is not specified, SQL Server attempts to prevent ALTER ASSEMBLY from executing if the new assembly version affects existing data in tables, indexes, or other persistent sites. SQL Server does not guarantee, however, that computed columns, indexes, indexed views or expressions will be consistent with the underlying routines and types when the common language runtime (CLR) assembly is updated. Use caution when executing ALTER ASSEMBLY to ensure that there is not a mismatch between the result of an expression and a value based on that expression stored in the assembly.

[Top]

#### 4.1.20 Working With Database Mirroring

Microsoft support policies do not apply to the database mirroring feature in SQL Server 2005. Database mirroring is currently disabled by default, but may be enabled for evaluation purposes only by using trace flag 1400 as a startup parameter. Database mirroring should not be used in production environments, and Microsoft support services will not support databases or applications that use database mirroring. Database mirroring documentation is included in SQL Server 2005 for evaluation purposes only, and the Documentation Policy for SQL Server 2005 Support and Upgrade does not apply to the database mirroring documentation. For more information, see Microsoft Knowledge Base article 907741.

[Top]

#### 4.1.21 SQL Server Agent Cannot Send Job Status Notifications and Alert Notifications via Database Mail on 64-Bit SQL Server

SQL Server Agent is not integrated with Database Mail in the 64-bit edition of SQL Server. To send any notifications such as Job status notifications and alert notifications, use Outlook Express to manually configure Simple MAPI for use by SQL Server Agent Mail. For more information, see Knowledge Base article 908360.

[Top]

#### 4.1.22 RC4 Encryption Should Not Be Used

Do not use RC4 encryption to protect your data in SQL Server 2005. Use a block cipher such as AES 256 or Triple DES instead.

[Top]

#### 4.1.23 Unique Nonclustered Indexes Cannot be Created Online

In the final release of SQL Server 2005, unique nonclustered indexes cannot be created online. These indexes include unique nonclustered indexes that are created due to a UNIQUE or PRIMARY KEY constraint. SQL Server Books Online incorrectly states that this is a supported operation. The following error message is returned when you create a unique nonclustered index online by using CREATE INDEX or CREATE INDEX WITH DROP_EXISTING:

    Msg 1844, Level 16, State 2, Line 1
    Create index online is not supported on unique nonclustered index.

If the unique nonclustered index is created due to a UNIQUE or PRIMARY KEY constraint, (ALTER TABLE ADD CONSTRAINT), the following error message is also returned:

    Msg 1750, Level 16, State 0, Line 1
    Could not create constraint, See previous errors.

To resolve this issue, remove the ONLINE index option from the Transact-SQL statement. In SQL Server Management Studio, clear the Allow online processing of DML statements while creating the index box from the Options page of the New Index dialog.

SQL Server 2005 does support online index operations that create clustered indexes or nonunique nonclustered indexes, drop or rebuild clustered indexes, or rebuild unique or nonunique nonclustered indexes.

[Top]

### 4.2 Analysis Services

The notes in this section are late-breaking items for SQL Server 2005 Analysis Services.

[Top]

#### 4.2.1 Server Encryption Key No Longer Dependent on Service Account

In this release, Analysis Services uses an access control list (ACL) to secure the instance encryption key file. An ACL is an integral part of Windows security, and lets you more easily change the user account associated with the Windows service for an Analysis Services instance. The askeymgmt utility (askeymgmt.exe), which provided Data Protection API (DPAPI) management functionality for the instance encryption key file, is no longer necessary.

[Top]

#### 4.2.2 Redistribution of Microsoft ADOMD.NET

When you write applications that use ADOMD.NET, you must redistribute ADOMD.NET along with your application. The ADOMD.NET installation file (SQLServer2005_ADOMD.msi) is available for download from this Microsoft Web site.

[Top]

#### 4.2.3 Analysis Services 9.0 OLE DB Provider May Be Overwritten By Client Applications

If you install Excel (or any other client application) after installing Microsoft SQL Server 2005 Analysis Services, you can no longer reference the Analysis Services 9.0 OLE DB Provider by using the MSOLAP provider name. This happens because the client application installs the older PivotTable Service that overwrites the version-independent ProgID. For example, if you are using `"provider=MSOLAP"` in a connection string, the provider for SQL Server 2000 Analysis Services will be invoked. As a result, you may not be able to connect to a SQL Server 2005 Analysis Services server by using Excel. In the future, there will be an Office XP and Office 2003 update that you can use to update the provider that Excel uses. For now, to resolve this problem, repair the existing installation by running the following command at the command line:

    setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=ALL

You can also download and reinstall the Analysis Services 9.0 OLE DB Provider from this Microsoft Web site.

[Top]

#### 4.2.4 Considerations for the Instance Rename Tool

If you have installed a 32-bit version of the instance rename tool on a 64-bit computer, you must uninstall the 32-bit version of the instance rename tool, and reinstall the 64-bit version of the tool from the SQL Server 2005 product CD. For more information, see Knowledge Base article 906161.

[Top]

#### 4.2.5 Local Cube Security

If a local cube contains a password, the local cube itself must also be password encrypted. To encrypt a local cube, enter a password in the password connection string property named "Encryption Password." Creating the local cube in encrypted format helps protect sensitive information stored in local cube files, such as passwords and keys.

[Top]

#### 4.2.6 Visual Totals Prevent Roles from Connecting to Cubes

Dimension security does not support visual totals on a parent attribute in a parent-child dimension. If a user belongs to a role that enables visual totals on a parent attribute in a parent-child dimension, the user will not be able to connect to the cube that contains the parent-child dimension. Also, when the user tries to connect to the cube that contains the parent-child dimension, the user may receive an error message such as one of the following messages:

    The '<dimension>' parent-child dimension has dimension security defined on the key
    attribute, which is not allowed. You could, alternately, define the equivalent dimension
    security on the parent attribute.

    The '<attribute>' attribute in the '<dimension>' dimension has a generated dimension
    security expression that is not valid.

[Top]

#### 4.2.7 CustomData Connection String Property Not Supported

The CustomData connection string property is not currently supported by Microsoft SQL Server 2005 Analysis Services.

[Top]

#### 4.2.8 Grouping Members in Microsoft Excel 2003 PivotTables is Not Supported

For this release of Microsoft SQL Server, Microsoft Excel 2003 PivotTable does not support grouping members based on a cube in Microsoft SQL Server 2005 Analysis Services.

[Top]

### 4.3 Notification Services

The notes in this section are late-breaking items for SQL Server 2005 Notification Services.

[Top]

#### 4.3.1 Use the New, Undocumented NSInstance Members When Using SQL Server Authentication

If you use SQL Server Authentication when hosting the Notification Services engine or managing subscriptions, you must do one of the following when creating an instance of and initializing the Microsoft.SqlServer.NotificationServices.NSInstance class:

- Use the undocumented NSInstance(string instanceName, string sqlUser, string sqlPassword) constructor to create an instance of and initialize the NSInstance object;
- Use the default constructor and then use the undocumented Initialize(string instanceName, string sqlUser, string sqlPassword) method to initialize the NSInstance object; or
- If using COM interop, use the default constructor, set credentials using the SqlUser and SqlPassword properties, and then use the Initialize(string instanceName) method to initialize the NSInstance object.

Using the NSInstance class in these ways ensures that Notification Services has the SQL Server Authentication information before it attempts to obtain information about the instance from the Database Engine.

[Top]

#### 4.3.2 Do Not Use Open SqlConnection Objects When Using SQL Server Authentication with NMO Management APIs

When using SQL Server Authentication to connect to a Notification Services instance via Notification Services Management Objects (NMO), you use a Server object to obtain a NotificationServices reference, and then use this reference to get a Notification Services instance. When creating an instance of the Server object, you can specify a ServerConnection object that uses a SqlConnection object.

If you are using SQL Server Authentication to call instance and application management methods such as Create, Update, Drop, Enable, or Disable, the SqlConnection must not already be open.

Make sure the SqlConnection is not opened before the Server object instance is created, or else use another ServerConnection constructor that does not use a SqlConnection object.

[Top]

#### 4.3.3 Registering and Unregistering Instances of Notification Services May Be Slow When Using the Multilingual User Interface Pack

When Notification Services is installed on a computer that uses the Multilingual User Interface Pack (MUI), registering and unregistering an instance of Notification Services may take several minutes to complete.

To improve the performance, change the regional settings as follows:

1. In the Control Panel, open Regional and Language Options.

2. On the Regional Options tab, select English (United States), and click OK.

[Top]

### 4.4 Reporting Services

The notes in this section are late-breaking items for SQL Server 2005 Reporting Services (SSRS).

[Top]

#### 4.4.1 Launching Report Builder

Report Builder can run in either full trust mode or partial trust mode using a URL. The URL path used to launch Report Builder determines the trust mode.

If you are launching Report Builder in a full trust environment, use the following URL:

    http://<localhost>/reportserver/reportbuilder/reportbuilder.application

If you are launching Report Builder in a partial trust environment, use the following URL:

    http://<localhost>/reportserver/reportbuilder/reportbuilderlocalintranet.application

where <localhost> is the name of the computer that is running Report Server.

Depending on which URL you want the Report Builder button in Report Manager to launch, specify one of the following values for the ReportBuilderTrustLevel element in the RSWebApplication.config file: FullTrust or PartialTrust. This file can be found in the Report Manager installation directory. By default, FullTrust is specified.

Note:
A client cannot use both links simultaneously.

In a partial trust environment, the Report Builder Help file (ReportBuilder.chm) cannot be accessed from Report Builder. However, the administrator can provide Report Builder users with a copy of the Help file.

[Top]

#### 4.4.2 API Syntax Blocks Include Attribute Descriptions That Can Be Ignored

In the Reporting Services Managed Programming Reference Documentation, especially in the Reporting Services Web Services Class Library, some API topic syntax blocks include attribute descriptions before the class or method name. These attribute descriptions are an artifact of the process used to generate the documentation and can be ignored.

[Top]

#### 4.4.3 Configuring the Microsoft .NET Data Provider for mySAP Business Suite

To enable the Microsoft .NET Data Provider for mySAP Business Suite for Reporting Services, you must perform the following steps to modify installed configuration files. These steps replace those documented in the "Microsoft .NET Data Provider for mySAP Business Suite" topic in SQL Server Books Online. The actions are described in the steps below, followed by the feature and specific .config files on which to perform the steps.

1. Remove the comment marks (delete `<!--` and `-->` characters from the beginning and end of the line) for this entry in the Extensions/Data section and save the file:

       <!-- <Extension
           Name="SAP"
           Type="Microsoft.Adapter.SAP.SAPConnection,Microsoft.Adapter.SAP.SAPProvider,
       Version=1.0.0.0, Culture=neutral, PublicKeyToken= 31bf3856ad364e35"/> -->

   Note:
   Line breaks have been added to improve readability. The Type value must be specified on a single line in the .config file.

2. Insert the following code in the PolicyLevel/CodeGroup section at the same level as the Microsoft_Strong_Name entry, and then save the file:

       <CodeGroup
           class="UnionCodeGroup"
           version="1"
           PermissionSetName="FullTrust"
           Name="Microsoft_Generic_Signing"
           Description="This code group grants code signed with the generic Microsoft key full
       trust. Used by the Microsoft .Net Data Provider for mySAP Business Suite.">
           <IMembershipCondition
               class="StrongNameMembershipCondition"
               version="1"
               PublicKeyBlob="00240000048000009400000006020000002400005253413100040000010001
       00b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f14
       15ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598e
       d4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def4
       6b2a2b1247adc3652bf5c308055da9" />
       </CodeGroup>

   Note:
   Line breaks have been added to improve readability. The PublicKeyBlob value must be specified on a single line in the policy file.

To enable the data provider on the report server, perform step 1 on rsreportserver.config and step 2 on rssrvpolicy.config. The default installation directory for these files is C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer.

To enable the data provider in Report Designer, perform step 1 on RSReportDesigner.config and step 2 on RSPreviewPolicy.config. The default installation directory for these files is C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies.

[Top]

#### 4.4.4 Incomplete Report Server Configuration on an SSL-Protected Server Causes Broken Report Links in Report Server E-Mail Notifications

Reporting Services uses the <UrlRoot> configuration setting to resolve links in e-mail messages to reports on a report server. When you use the Reporting Services Configuration tool to deploy a report server on a computer that has a Secure Sockets Layer (SSL) certificate installed, the value for <UrlRoot> is not set correctly. As a result, users who click report links in e-mail messages will get a broken link message rather than the report they expect. To correct the link, you must manually edit the RSReportServer.config file to correct the <UrlRoot> configuration setting. The format of the URL is as follows:

    https://certificatename/report_server_virtual_directory

When editing RSReportServer.config, be sure to specify the same values that you typed in the Reporting Services Configuration tool when you first deployed the report server. Check the Report Server Virtual Directory page in the Reporting Services Configuration tool to verify which values to use; the values are located in the Certificate Name and Name fields.

[Top]

#### 4.4.5 Potential Information Disclosure from Report Snapshots That Include User Profile Data

Sometimes, reports that include the User!UserID variable will fail to show report data that is specific to the current user who is viewing the report. The following conditions must be present for this failure to occur:

- The report must be a snapshot.
- The report must be accessed programmatically through SOAP methods, or through a direct connection to the report server, such as `http://<servername>/reportserver`.

When this failure occurs, user profile information in the report snapshot will be based on either of the following:

- The identity of the user who created the snapshot.
- The account that the report server runs under if the snapshot is created by the report server as a scheduled operation.

Failure to update a report snapshot based on user profile information causes incorrect data and introduces a security risk if sensitive or confidential data is included in the snapshot. Until this problem is resolved, we recommend that you do not run reports that include the User!UserID variable as a report execution or report history snapshot.

Note that user profile dependencies do not work only for report snapshots that are opened through SOAP calls or through the URL address of a report snapshot. User!UserID is fully functional for reports that run on-demand and for all report snapshots that are opened from Report Manager.

[Top]

### 4.5 Replication

The notes in this section are late-breaking items for replication.

[Top]

#### 4.5.1 Enabling SQL Server 2000 Publications for Non-SQL Server Subscribers

SQL Server 2005 Management Studio does not support enabling SQL Server 2000 publications for non-SQL Server Subscribers. To enable a SQL Server 2000 publication for non-SQL Server Subscribers, use the Create Publication Wizard, which is available in SQL Server 2000 Enterprise Manager. In the Create Publication Wizard, on the Specify Subscriber Types page, select Heterogeneous data sources, such as Oracle or Microsoft Access.

[Top]

#### 4.5.2 Existing Replication Agent Jobs May Fail When You Reinstall Multiple Instances on the Same Computer

For more information, see section 2.5.15 Existing Jobs May Fail When You Reinstall Multiple Instances on the Same Computer.

[Top]

### 4.6 SQL Server 2005 Mobile Edition

SQL Server 2005 incorporates SQL Server Mobile functionality and enables access to SQL Server Mobile databases, to allow you to create distributed database applications and extend database applications to smart devices. Within SQL Server Management Studio, you can create, connect to, query, and modify SQL Server Mobile databases. For information about building applications that use SQL Server Mobile, see to the SQL Server Mobile documentation, available through SQL Server Management Studio.

[Top]

#### 4.6.1 Installing SQL Server Mobile Server Tools

With SQL Server 2005 Developer or Standard Edition installed, you can install the SQL Server Mobile Server Tools.

Note:
This also installs the readme file for SQL Server 2005 Mobile Edition.

To install SQL Server Mobile Server Tools:

1. Navigate to <InstallDirectory>:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE.

2. Double-click sqlce30setupen.msi to launch SQL Server Mobile Server Tools Setup.

3. Follow the Setup instructions.

[Top]

#### 4.6.2 Accessing the SQL Server 2005 Mobile Edition Readme File

When you run the SQL Server Mobile Server Tools Setup, the readme (ssmreadme.htm) file is installed by default in C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Docs\xx, where xx is a two-character designator for the installed language. The readme file is installed in the subdirectory of the installation directory that is specified in the Microsoft SQL Server Version page of Microsoft SQL Server Mobile Server Tools setup.

[Top]

### 4.7 Microsoft Visual Studio 2005

SQL Server 2005 is designed to integrate with Visual Studio 2005.

Note:
If you have a pre-release build of Visual Studio 2005 installed, you must first uninstall it. For more information, see section 2.7.1 Uninstalling Pre-Release Versions of SQL Server 2005 and Visual Studio 2005.

For more information about Visual Studio 2005, see this Microsoft Web site.

[Top]

### 4.8 Shared Tools

The notes in this section are late-breaking issues for all tools that are shared by multiple product components.

[Top]

#### 4.8.1 Considerations for Installing Database Diagram Support

The following limitations apply when installing database diagram support.

##### Database Diagram Support Cannot Be Installed Unless Database Compatibility Mode Is 2005 [90]

To install database diagram support in SQL Server Management Studio, databases must be in SQL Server 2005 database compatibility level. Database compatibility level can be reset after diagram support is installed. If the databases are not in 2005 compatibility level, the following error occurs when you attempt to install diagram support:

    Database diagram support objects cannot be installed because this database does not have a
    valid owner. To continue, first use the Files page of the Database Properties dialog box or
    the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the
    database diagram support objects.

To create database diagrams, change the database compatibility level to 2005, install database diagram support, and then return the database to the desired database compatibility level. For more information, search for "sp_dbcmptlevel" in SQL Server Books Online.

##### Installation of Database Diagram Support Objects Requires a Valid Logon Account

In SQL Server 2005, database diagram support objects will be installed on a database if a member of the db_owner fixed database role performs one of the following operations:

- Expands the Database Diagrams folder
- Creates a new diagram
- Explicitly chooses to install the objects from the context menu

The installation of these support objects can fail on a database that has been attached or restored from another instance of SQL Server. This can occur when the database owner name (stored in the database) is not a valid logon for the instance of SQL Server that the database is being attached or restored to.

Use the following Transact-SQL expression to change the database owner to a valid logon for the instance of SQL Server. Then, retry the database diagram operation.

    ALTER AUTHORIZATION ON DATABASE::database_name TO valid_login

[Top]

#### 4.8.2 Running 32-bit Tools on 64-bit Operating Systems

64-bit SQL Server 2005 installs 32-bit versions of some tools. When run on 64-bit operating systems, these tools run in the WOW environment and in some conditions may perform slowly. To improve the performance of 32-bit tools, connect to 64-bit SQL Server with tools running on a 32-bit operating system. SQL Server 2005 Business Intelligence Development Studio, the 32-bit development environment for business intelligence solutions, is not designed to run on the IA64 64-bit architecture and is not installed on IA64 servers. For additional information concerning SQL Server tools on 64-bit operating systems, see Knowledge Base article 906892.

[Top]

### 4.9 Samples

The notes in this section are late-breaking items specific to SQL Server 2005 samples.

[Top]

#### 4.9.1 Store Sample Key File in Sample Root Folder

The readme files for Visual Studio-based SQL Server samples instruct you to create a key file named samplekey.snk in the "install directory." You should create this file in the root folder of each sample that requires it.

[Top]

#### 4.9.2 Notification Services Samples Addenda

The following information applies to Notification Services samples:

- If you are deploying a Notification Services sample using an account that is the database owner or a system administrator, you do not have to grant SQL Server permissions to the account. Granting these permissions might now result in an error, which you can ignore. When you deploy your own applications, you should use accounts with lower privileges to help improve security.
- The Notification Services samples refer to a dialog box named "Database Access." This dialog box is now named User Mapping.

[Top]

#### 4.9.3 Business Intelligence Development Studio Samples Do Not Run on IA64 Servers

SQL Server 2005 Business Intelligence Development Studio, the 32-bit development environment for business intelligence solutions, is not designed to run on the IA64 64-bit architecture and is not installed on IA64 servers. This prevents samples that require Business Intelligence Development Studio from being run on IA64 servers. For additional information, see Knowledge Base article 906892.

[Top]

### 4.10 Data Access

The notes in this section are late-breaking items specific to data access components.

[Top]

#### 4.10.1 Obtaining the Microsoft OLE DB Provider for DB2

The Microsoft OLE DB Provider for DB2, which is a component of Microsoft Host Integration Server 2004, can be downloaded for use with SQL Server 2005. For information about how to install and configure the OLE DB provider, see the documentation that is included with the provider. For instructions about how to download this provider, see this Microsoft Web site.

[Top]