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 by using the link provided. Please send your feedback in English.

To submit written feedback about this document, click here: Submit feedback.

Contents

1.0 Introduction

Microsoft SQL Server 2005 Express Edition (SQL Server Express) is a free and easy-to-use version of SQL Server 2005 that replaces the Microsoft Desktop Engine (MSDE). Integrated with Microsoft Visual Studio 2005, SQL Server Express makes it easy to develop powerful, secure, data-driven applications and deploy them quickly. SQL Server Express can be redistributed (subject to agreement), and can function as the client database as well as a basic server database. SQL Server Express is an ideal choice for independent software vendors (ISVs), server users, non-professional developers, Web application developers, Web site hosters, and hobbyists building client applications.

Any information relevant to SQL Server Express that was not available in time to be included in this Readme file will be published in Microsoft Knowledge Base article 907284.

For information about providing feedback using the SQL Server Express newsgroup, see 4.6 Newsgroup Support.

[Top]

2.0 Downloading and Installing SQL Server Express

This section covers information about installing .NET Framework 2.0, SQL Server Express, and tools that can be used to connect to SQL Server Express.

2.1 .NET Framework 2.0

You must install the .NET Framework 2.0 before installing SQL Server Express.

SQL Server Express depends on a specific 2.0 version of the .NET Framework. If you have a different version, your SQL Server Express installation might function unpredictably. You can download the .NET Framework 2.0 from this Microsoft Web site.

Note:
The .NET Framework 2.0 is installed automatically by both Microsoft Visual Studio 2005 and all editions of SQL Server 2005.

[Top]

2.2 SQL Server Express

SQL Server Express is available for download at this Microsoft Web site.

Note:
Be sure to follow the instructions provided at the download site for downloading and extracting the product.

After you install SQL Server Express, use the following command to connect to SQL Server Express by using the command prompt:

sqlcmd -S Server\Instance

Where Server is the name of the computer and Instance is the name of the instance you want to connect to. If you have used the default named instance during setup, specify the instance as "SQLExpress".

[Top]

2.3 Tools to Manage SQL Server Express

For information about connecting to and managing a SQL Server Express database, see Microsoft Knowledge Base article 907716.

[Top]

2.4 Accessing Setup Documentation

Hardware and software requirements are summarized in the Installation Requirements for SQL Server Express document.

[Top]

2.5 SQL Server 2005 Readme

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

Note:
Any information relevant to SQL Server 2005 and SQL Server Express that was not available in time to be included in the Readme file will be published in Microsoft Knowledge Base article 907284.

[Top]

3.0 Setup Issues

This section details Setup issues in this release.

3.1 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]

3.2 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 might 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 Express Edition Setup again.

[Top]

3.3 SQL Server Express Books Online Has Incorrect Information on Operating System Support

The "Hardware and Software Requirements (SQL Server Express)" topic in SQL Server Express Books Online does not have an accurate list of operating systems. The following operating systems are supported by SQL Server Express.

  • Windows Server 2003 SP1

  • Windows Server 2003 Enterprise Edition SP1

  • Windows Server 2003 Datacenter Edition SP1

  • Windows Small Business Server 2003 Standard Edition SP1

  • Windows Small Business Server 2003 Premium Edition SP1

  • Windows XP Professional SP2

  • Windows XP Home Edition SP2

  • Windows XP Tablet Edition SP2

  • Windows XP Media Edition SP2

  • Windows 2000 Professional Edition SP4

  • Windows 2000 Server Edition SP4

  • Windows 2000 Advanced Edition SP4

  • Windows 2000 Datacenter Server Edition SP4

[Top]

3.4 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 double-click Services.

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

  3. Close Services.

  4. Run Setup.

[Top]

3.5 MSDTC 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 Express 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 Express 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.

[Top]

3.6 Sample Databases Are Not Installed by Default

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

[Top]

3.7 "Force Encryption" Configuration Might Cause SQL Server Express 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]

3.8 Settings For sp_configure Might 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 Express using SAVESYSDB and then install this release using USESYSDB, if the sp_configure options SMO and DMO 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 at this Microsoft Web site.

[Top]

3.9 Installing a Default Instance of SQL Server 2000 May Disable SQL Server Express

If your computer has SQL Server 2000 Management Tools and a default instance of SQL Server Express is 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 Express. Therefore, do not install a default instance of SQL Server 2000 when SQL Server 2000 Management Tools and a default instance of SQL Server Express already exist on the computer.

[Top]

3.10 Installing SQL Server Express on a Windows Domain Controller

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

It is possible to install SQL Server Express 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 Express. For example, if you install SQL Server Express on a member server, do not use the Dcpromo tool to promote the server to a domain controller. Or, if you install SQL Server Express 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 Express can result in loss of functionality and is not supported.

[Top]

3.11 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]

3.12 Uninstalling Pre-release Versions SQL Server Express and Visual Studio 2005

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

  • SQL Server Express

  • Visual Studio 2005

  • .NET Framework 2.0

[Top]

3.13 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]

3.14 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]

4.0 Additional Information

4.1 Service Account and Network Protocols

For SQL Server Express, the Local System Account is Network Service Account.

SQL Server Express listens on local named pipes and shared memory. With a default installation, you cannot remotely connect to SQL Server Express. You will need to enable TCP/IP and check if the firewall is enabled.

To enable TCP/IP:

  1. From the Start menu, choose All Programs, point to Microsoft SQL Server 2005, point to Configuration Tools, and then click SQL Server Configuration Manager.

    Optionally, you can open Computer Manager by right-clicking My Computer and choosing Manage. In Computer Management, expand Services and Applications, expand SQL Server Configuration Manager.

  2. Expand SQL Server 2005 Network Configuration, and then click Protocols for InstanceName.

  3. In the list of protocols, right-click the protocol you want to enable, and then click Enable.

    The icon for the protocol will change to show that the protocol is enabled.

To enable the firewall:

  1. Click Start, click Control Panel, and then click Network Connections.

  2. From the navigation bar on the left, click Change Windows Firewall settings.

  3. On the Exceptions tab, in the Programs and Services box, you will probably see that SQL Server is listed, but not selected as an exception. If you select the check box, Windows will open the 1433 port to let in TCP requests. Alternatively, if you do not see SQL Server listed, do the following:

    1. Click Add Program.

    2. Click Browse.

    3. Navigate to drive:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BINN

    4. Add the file sqlservr.exe to the list of exceptions.

[Top]

4.2 User Instance Functionality

SQL Server Express allows non-administrator users to copy or move databases (using Xcopy deployment) without requiring DBCreator privileges. For more information, see “User Instances for Non-Administrators” in SQL Server Express Books Online at this Microsoft Web site.

[Top]

4.3 WMI provider and User Instance functionality

WMI Provider for Server Events will not be supported on the dynamically spawned user instances. This should still work on the parent SQL Server Express instance.

[Top]

4.4 Books Online

SQL Server Express Books Online is available for download from this Microsoft Web site.

Note:
Because SQL Server Express is a limited version of SQL Server 2005, the documentation in SQL Server Express Books Online is heavily dependent on the content present in SQL Server 2005 Books Online.

SQL Server 2005 Books Online is available for download from this Microsoft Web site.

Microsoft periodically publishes downloadable updates to SQL Server Express Books Online and SQL Server 2005 Books Online. We recommend installing these updates to keep the information current in your local copy of the documentation.

[Top]

4.5 Getting SQL Server Express Assistance

There are four principal sources of information from Microsoft about SQL Server Express:

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 Express Assistance" in SQL Server Express Books Online.

[Top]

4.6 Newsgroup Support

For newsgroup support, visit the SQL Server Express newsgroup at this Microsoft Web site. Do not use other Microsoft newsgroups for posting questions regarding SQL Server Express.

The latest information from the SQL Server Express team can be found at the SQL Server Express Weblog.

Note:
Newsgroups are supported in English only.

[Top]

4.7 Providing Feedback on SQL Server Express

To provide suggestions and bug reports on SQL Server Express:

  • Send suggestions and bug reports about the features and user interface of SQL Server Express at this Microsoft Web site.

  • Send suggestions and report inaccuracies about the documentation using the feedback functionality in SQL Server Express Books Online.

  • Choose to 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]

5.0 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 that also apply to SQL Server Express.

[Top]

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

If TCP/IP networking is turned on, client connections to an instance of the SQL Server Express 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 might 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 might 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 might 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, Microsoft Knowledge Base article 256986.

[Top]

5.2 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 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]

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

Each instance of a byte-ordered user-defined type (UDT) 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 UDT passed through RPC, UDT validation performs de-serialization/re-serialization of the UDT 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, the bytes stored in a byte-ordered UDT 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.

[Top]

5.4 Network Connectivity Not Enabled by Setup

To enhance security, SQL Server Express 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]

5.5 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]

5.6 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]

5.7 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]

5.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 Express earlier than the September CTP release, you must drop all but one instance of an assembly that has multiple registrations before you install this release.

[Top]

5.9 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]

5.10 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 Express 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]

5.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]

5.12 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]

5.13 XQuery Changes

The following aspects of the SQL Server Express XQuery implementation are not documented in 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]

5.14 Conversion From xsd:dateTime is Less Restrictive Than Documented

A string representation of an xs: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]

5.15 XML Schema Support

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

  • The XML schema for Reporting Services (RDL) can be loaded into an XML schema collection.

  • Values of type xs:dateTime and xs: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 xs:dateTime, xs:data, and xs:time data types.

[Top]

5.16 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]

6.0 Replication

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

[Top]

Replication is Disabled by Default

Microsoft SQL Server 2005 Express Edition can serve as a Subscriber for all types of replication, but replication is not installed by default for this edition.

To install replication components:

  1. On the Feature Selection page, expand Database Services.

  2. Click Replication, and then click Entire feature will be installed on local hard drive.

To install connectivity components and Replication Management Objects (RMO):

  • On the Feature Selection page, click Client Components, and then click Entire feature will be installed on local hard drive.

[Top]