MSDN转载:SQL Server 2005 Express Edition 概述

SQL Server 2005 Express Edition 概述

发布日期: 1/6/2006

适用于:
Microsoft SQL Server 2005 Express Edition
Microsoft Visual Studio 2005

摘要:SQL Server Express Edition 是基于 SQL Server 2005 技术的免费产品,包括特有的应用程序 XCopy 功能以及不同于其他 SQL Server 2005 版本的网络和安全性。本文讨论了这些主题以及 SQL Server Express 与 Visual Studio 2005 集成的问题,同时还将本产品与现有的 Microsoft 免费数据库(如 MSDE 和 Jet)进行了比较。

*
本页内容
简介简介
SQL Server 2005 Express Edition 的主要功能SQL Server 2005 Express Edition 的主要功能
Visual Studio 集成Visual Studio 集成
与其他免费 Microsoft 数据库的比较与其他免费 Microsoft 数据库的比较
结论结论

简介

SQL Server Express 是基于 SQL Server 2005 技术的一款免费易用的数据库产品旨在提供一个非常便于使用的数据库平台,可以针对其目标情况进行快速部署。之所以便于使用,首先是因为它具有一个简单可靠的图形用户界面 (GUI) 安装程序,可以引导用户完成安装过程。SQL Server Express 附带的免费 GUI 工具包括:SQL Server Management Studio Express Edition(启动时可以使用的技术预览版本)、Surface Area Configuration Tool 和 SQL Server Configuration Manager。这些工具可以简化基本的数据库操作。通过与 Visual Studio 项目的集成,数据库应用程序的设计和开发也变得更加简单。此外,我还将介绍通过移动数据库应用程序(像移动典型 Windows 文件一样)来对其进行部署的功能。服务和修补也得到了简化和自动化。

SQL Server Express 使用与其他 SQL Server 2005 版本同样可靠的、高性能的数据库引擎,也使用相同的数据访问 API(如 ADO.NET、SQL Native Client 和 T-SQL)。事实上,它与其他 SQL Server 2005 版本的不同仅体现在以下方面:

缺乏企业版功能支持

仅限一个 CPU

缓冲池内存限制为 1 GB

数据库最大为 4 GB

默认情况下,在 SQL Server Express 中,启用诸如自动关闭和像复制文件一样复制数据库的功能,而禁用高可用性和商业智能功能。如果需要,也容易进行伸缩,因为 SQL Server Express 应用程序可以无缝地与 SQL Server 2005 Workgroup Edition、SQL Server 2005 Standard Edition 或 SQL Server 2005 Enterprise Edition 一起使用。通过 Web 下载文件可以进行免费、快速、方便的部署。

本白皮书介绍 SQL Server Express 特有的组件和功能,如应用程序 XCopy(用户实例)、网络和安全性。还介绍常见情况的使用原则。此外,我还将介绍使用 Microsoft Visual Studio 2005 轻松开发数据应用程序,这主要针对以下人员:

爱好者和其他非专业开发人员

数据库开发人员、管理员和专业操作人员

业务分析人员

技术决策者

目标情况

开发 SQL Server Express 是为了满足以下两个不同的用途。第一个用途是用作服务器产品,特别是作为 Web 服务器或数据库服务器。第二个用途是用作本地客户端数据存储区,其中应用程序数据访问不依赖于网络。易用性和简单性是主要设计目标。

SQL Server Express 主要用于以下三种情况:

非专业开发人员生成 Web 应用程序

ISV 将 SQL Server Express 重新发布为低端服务器或客户端数据存储区

爱好者生成基本的客户端/服务器应用程序

SQL Server Express 提供的易用、可靠的数据库平台功能丰富,可用于这些情况。特别要注意安装和部署的易用性和可靠性使 ISV 的使用和重新发布变得轻松。

SQL Server 2005 Express Edition 的主要功能

SQL Server Express 使用的数据库引擎与其他 SQL Server 2005 版本相同,并且所有编程功能也相同。有关上述主题的其他信息,请参阅 SQL Server 2005 联机丛书。下面详细介绍了 SQL Server Express 特有的、并且/或者对客户有较显著影响的功能。

引擎规范

SQL 引擎支持 1 个 CPU、 1 GB RAM 和 4 GB 的数据库大小。此机制允许通过定义适当的断点来轻松区别于其他 SQL Server 2005 版本。另外,没有工作负荷中止值,并且引擎的执行方式与其他版本相同。对可以附着到 SQL Server Express 的用户数没有硬编码限制,但其 CPU 和内存限制实际上限制可以从 SQL Server Express 数据库获取可接受响应次数的用户数。

SQL Server Express 可以安装并运行在多处理器计算机上,但是不论何时,只使用一个 CPU。在内部,引擎将用户调度程序线程数限制为 1,这样一次只使用 1 个 CPU。因为一次只能使用一个 CPU,所以不支持执行诸如并行查询这样的功能。

1 GB RAM 限制是对缓存池的内存限制。缓存池用于存储数据页和其他信息。但是,跟踪连接、锁等所需的内存不计入缓存池限制。因此,服务器使用的总内存有可能大于 1 GB,但用于缓存池的内存绝不会超过 1 GB。不支持或不需要地址窗口化扩展插件 (AWE) 或 3 GB 数据访问。

4 GB 数据库大小限制仅适用于数据文件,而不适用于日志文件。但是,不限制可以附着到服务器的数据库数。SQL Server Express 的启动略有变化。用户数据库不会自动启动,分布式事务处理协调器也不会自动初始化。虽然对于用户体验而言,除了启动速度更快之外,感觉不出什么变化。仍建议要使用 SQL Server Express 的编程人员在设计自己的应用程序时,牢记这些变化。

多个 SQL Server 2005 Express 安装可以与其他 SQL Server 2000、SQL Server 2005 或 Microsoft Desktop Engine (MSDE) 安装共存于同一台计算机上。通常,最好将 SQL Server 2000 实例升级到 Service Pack 4 (SP4)。在同一台计算机上,最多可以安装 16 个 SQL Server Express 实例。这些实例的名称必须是唯一的,以便可以标识它们。

默认情况下,SQL Server Express 安装为一个名为 SQLEXPRESS 的命名实例。这个特殊的实例可以在多个应用程序和应用程序供应商之间共享。建议您使用此实例,除非您的应用程序具有特殊配置要求。

可用于编程 SQL Server Express 的 API 与用于编程 SQL Server 2005 的 API 相同,这样如果用户选择转到其他 SQL Server 2005 版本,他们也不会感到有任何不适应。支持 SQL Server 2005 中的所有新功能(例如公共语言运行时 (CLR) 集成)、新数据类型(例如 VARCHAR(MAX) 和 XML)、用户定义类型和用户定义聚合。此外,SQL Server Express 数据库可以附着到 SQL Server 2005,而且使用 SQL Server Express 实例编写的应用程序同样可以与 SQL Server 2005 实例一起协调运行。还支持复制和 SQL Service Broker 功能,该功能将在后面详细介绍。

工具支持

SQL Server Express 是以易于使用为目的而设计的,其图形用户界面 (GUI) 工具甚至可以使数据库初学者轻松使用 SQL Server Express 中的基本数据库功能。名为 SQL Server Management Studio Express Edition 的新 GUI 工具可以作为独立的 Web 下载文件获得。SSMS-EE 可以使您轻松管理数据库、执行查询分析功能,并且可以免费重新发布。

SSMS-EE 可以连接到 SQL Server Express 和其他 SQL Server 2005 版本、SQL Server 2000 以及 MSDE 2000。连接时,会显示一个简单的连接对话框,引导用户选择要使用的实例和身份验证方法。可以进行本地连接和远程连接。对象资源管理器将以分层方式枚举并显示使用的公共对象(例如实例、表、存储过程等),有助于用户实现对数据库访问的可视化。

从对象资源管理器的快捷菜单中,可以访问所有数据库管理功能。SSMS-EE 的功能(如创建和修改数据库、表、视图、登录帐户和用户)与其他版本中的完整 SQL Server Management Studio 相同。这使您在升级到 SSMS 完整版后,可以立即应用在 SSMS-EE 中学到的技能。

许多数据库用户更喜欢使用 T-SQL 来管理其服务器,因为与使用图形用户界面相比,这种方法可以进行更精密细致的控制。SSMS-EE 中的查询编辑器允许用户开发和执行 T-SQL 语句和脚本。查询编辑器的功能丰富,例如关键字颜色代码、结果窗格(用于以数据网格形式返回结果)。错误消息(如果有)也将显示在结果窗格中。SSMS-EE 支持 SSMS 的所有查询编辑器功能,包括图形查询计划。


图 1:查询编辑器

SSMS-EE 将通过独立的 Web 下载文件进行发布。用户只需单击可执行文件就可以启动安装程序。如果已安装 SSMS,将无法安装 SSMS-EE,因为不需要安装。同样,用户通过重新启动该安装程序或使用“控制面板”中的“添加/删除程序”菜单可以卸载 SSMS-EE。

SQL Server Express 附带的一些工具包括 SQL 计算机管理器、SQL 命令 和 BCP。SQL 计算机管理器用于启动和停止 SQL Server 服务,以及启用和禁用网络协议。SQL 命令用于使用命令行进行连接和查询,而 BCP 用于大容量复制数据。

SQL 计算机管理器允许管理员配置基本服务和网络协议,在 SQL Server 2005 中,与以前的工具(如服务器网络实用工具、客户端网络实用工具和服务管理器)等效。SQL 计算机管理器不用于调整性能特征或 SQL Server 的操作。

在计算机管理器中,有一个名为“Microsoft SQL Servers”的节点,其中包含所有服务、服务器网络协议和客户端网络协议。服务节点列出了所有可用的 Express 服务,并提供了诸如服务器实例名称、服务状态和启动类型之类的详细信息。您可以选择某个特定服务,然后执行诸如启动、停止、暂停或重新启动服务之类的操作。“服务器网络协议”节点枚举了计算机上每个实例的协议列表。右键单击某个协议(例如 TCP 协议),可以从打开的快捷菜单中启用或禁用该协议,也可以更改其属性。“客户端网络协议”节点也提供类似选项。请注意,“服务器网络协议”节点直接处理 SQL Server 实例上的协议设置,而“客户端网络协议”节点处理客户端(如 MDAC 或 SQL Native Client 提供程序)的协议设置。使用“客户端网络协议”节点可以创建别名,该别名是 SQL Server 的备用名称,可以包含服务器名称、使用的协议、连接字符串以及加密信息之类的信息。

SQL 命令是现有 osql 工具的 OLE DB 版本,不仅尝试保持与 osql 的功能性兼容,还支持新的 SQL Server 2005 数据类型。所有命令行选项都将信息输出到标准输出,操作失败时可能出现的错误消息除外。SqlCmd -? 命令显示 sqlcmd 开关的语法摘要。

SQL 计算机管理器和 SQL 命令对于 SQL Server Express 和其他 SQL Server 2005 版本相同。

网络支持

尽管用户可以显式打开其他支持的协议(例如 TCP/IP 和 Named Pipes),但默认情况下,SQL Server Express 只能访问本地计算机上的共享内存连接类型。SQL Server Express 不支持 VIA 协议和 HTTP 协议。因为默认情况下只能使用共享内存,所以除非打开网络,否则无法从远程计算机连接到 SQL Server Express。可以通过以下方式打开网络:

使用外围应用配置器工具启用网络,并启用和启动 SQLBROWSER 服务。

使用 SQL Server 配置管理器启用相关协议,并启动 SQL Browser。图 2 介绍了如何使用此工具启用网络协议。

如果您预先知道需要网络支持,请在安装命令行中使用 DISABLENETWORKPROTOCOLS=0

使用基于 SMO 的脚本启用协议。

在 SQL Server 2005 中,SQL Browser 是一项新服务,用于标识命名实例监听的端口。由于共享内存不使用该服务,因此默认情况下,该服务在 SQL Server Express 中处于关闭状态。这意味着用户必须启动该服务,网络访问才可以进行。

注意:一个有趣的事实是 SQL Browser 监听 UDP 1434 端口。但是,占用 UDP 1434 端口的早于 SQL Server 2000 SP3 之前的版本可能会导致 SQL Browser 名称解析失败,因为它们可能拒绝放弃该端口。解决方法是:将计算机上的所有 SQL Server 2000/MSDE 实例都升级到 SP3 版本或更高版本。


图 2. 使用 SQL Sever 配置管理器启用协议

数据访问支持

SQL Server 2005 Express 支持的本机提供程序和托管提供程序与其他 SQL Server 2005 版本相同。这样会有巨大的好处:为 SQL Server Express 编写的应用程序可以无缝用于其他 SQL Server 版本。

SQL Server 2005 Express 支持使用 ADO.NET 进行托管访问。我们建议您使用 SqlClient 数据提供程序来开发新的应用程序,因为大多数应用程序 XCopy 功能仅能与 SqlClient 一起使用。ADO.NET 2.0 数据提供程序(Visual Studio 2005 中提供)支持 varchar(MAX) 和 XML 之类的新 SQL Server 数据类型以及用户定义类型。

从 SQL Server 2005 开始,服务器中的逻辑会话与物理连接分离。客户端传输层和服务器传输层都将更新为提供多路复用功能,这样只使用一个物理连接就可以建立多个逻辑会话。这使得客户端针对同一个连接可以有多个活动的结果集 (MARS)。请注意,一般而言,MARS 并不是为了避免使用多个连接。在 SQL Server 2005 中,MARS 默认情况下处于关闭状态,使用 MARS 可以交替执行 SQL 操作。例如,您可以对一个结果集进行操作,也可以在处理该结果集时对数据库执行语句,而无需打开新的连接。在许多情况下,MARS 可以有效替代服务器游标,当数据检索操作和更新操作在同一个事务中进行时,尤为有用。

SQL Server 2005 客户端也支持异步输入输出 (I/O),这样应用程序线程不会再被数据传输操作阻塞,客户端应用程序就可以尽快作出响应。在这种模式下,I/O 调用将会立即返回,完成后将异步通知应用程序。这使得应用程序可以继续其他处理过程,并在以后检查 I/O 完成事件。

SQL Server 2005 时间范围内的数据访问组件将分成两部分:MDAC 堆栈(属于操作系统)和 SQL Native Client 提供程序(向 SQL Server 提供用于本机数据访问的特定数据访问库)。SQL Native Client 针对 SQL OLEDB、SQL ODBC 和 ADO 客户,这些客户正在编写新的应用程序或增强现有应用程序以利用 SQL Server 2005 的新功能。

SQL Native Client 将 SQL Server 2005 添加项包含到 SQL OLE DB、SQL ODBC、SQL BCP 和 SQL 网络接口。只有 C 或 C++ 程序员才可以通过 SQL Native Client 使用 SQL Server 2005 功能,例如 MARS、用户定义类型、XML 数据类型等。SQL Native Client 由新的组件构成(新类 ID),这些组件独立于 MDAC 中的现有组件,并且与其不同。例如,使用的 OLE DB Progid 是 SQLNCLI;ODBC 驱动程序名称是 SQL Native Client;使用的头文件是 SQLNCLI.h。

SQL Native Client 作为单个 dll (SQLNCLI.dll) 提供,而不作为操作系统组件提供,这样可以简化服务,使重新发布和部署应用程序变得更轻松。随着新版 SQL Server 的发布,将会提供更新的 SQL Native Client 版本,应用程序可以显式更改其配置清单以使用较此提供程序的更高版本。

在 MDAC 提供程序和 SQL Native Client 提供程序之间存在一些基于交互的有趣动态。例如,MDAC 2.5、2.7 或 2.8 无法使用共享内存连接到 SQL Server 2005。这会影响使用 SQL OLE DB 或 SQL ODBC 的所有本机应用程序,不仅包括现有本机应用程序,而且还包括托管的 OLE DB 或 ODBC 应用程序,因为它们在内部都使用了 MDAC。通常,对于 SQL Server,如果共享内存连接失败,将使用网络协议(例如 TCP/IP)。但是,对于 SQL Server Express,因为网络在默认情况下是关闭的,所以这些应用程序将完全无法连接。解决办法是:将应用程序改为使用 SQL Native Client 提供程序,或者启用网络传输控制协议 (TCP) 并启动 SQL Browser。

安全性

对于 SQL Server Express,我们的一个目标是为不同组件提供安全的默认值。例如,关闭网络协议(如 TCP/IP 和 Named Pipes)。不启动 SQL Browser 服务,除非用户在安装命令行中显式请求启动。如果使用 Windows 身份验证,则默认情况下禁用 SA 帐户或系统管理员帐户。计算机上的普通用户几乎没有对 SQL Server Express 实例的权限。服务器上的本地管理员必须向普通用户显式授予相关权限,这些用户才能使用 SQL 功能。

在 SQL Server 中,SA 登录帐户是一个特殊的登录帐户,是系统管理员 (sysadmin) 角色的成员。主要用于使用 SQL 身份验证模式的配置中,而不用于 Windows 身份验证模式。出于安全原因,SQL 验证模式要求输入强 SA 密码,在 GUI 安装和无提示 SQL 身份验证模式安装期间,用户必须输入强 SA 密码。但是,对于无提示 Windows 身份验证安装,不需要 SA 密码。原因是使用 Windows 身份验证模式时,如果用户未指定密码,无提示 SQL Server Express 安装程序会提供一个随机的强 SA 密码。在这种情况下,安装程序也会禁用 SA 帐户,因此如果您想要使用 SA 帐户,必须稍后使用 T-SQL 显式启用该帐户。这样,在使用 Windows 身份验证时,ISV 就不必提供密码了,从而不会阻塞大规模部署情况。在将来的版本中,此功能可能还会扩展到基于 GUI Windows 的安装。

复制支持

用户通过复制可以使用“发布服务器 - 订阅服务器”模式以用户定义的间隔保持多个站点的数据副本同步。SQL Server Express 支持订阅合并发布、快照发布和事务性发布,但不允许自己发布。在 SQL Server Express 中,复制订阅完全正常运行。但是,因为 SQL Server Express 不附带 SQL 代理,所以计划订阅比较困难。您可以通过以下方法同步 SQL Server Express 订阅:

使用复制管理对象 (RMO) 以编程方式同步。

将 Windows 同步管理器用于计划同步。

SQL Service Broker

SQL Service Broker (SSB) 是 SQL Server 2005 中一个新的、可靠的消息传送基础结构。该服务程序可以选择通过对等消息交换约定(称为对话框)进行通信。此功能可以通过 T-SQL 语言的扩展插件来访问。

SQL Server Express 只有在与其他 SQL Server 2005 版本一起使用时,才可以使用 Service Broker。如果 SQL Server Express 接收到一条来自另一个 SQL Server Express 实例的 Broker 消息,并且另一个 SQL Server 2005 版本未处理该消息,则该消息将被删除。因此,消息可以源于一个 SQL Server Express 实例而终止于另一个 SQL Server Express 实例,但是如果要这样,该消息必须通过非 SQL Server Express 实例进行路由。您可以检查 Message Drop 跟踪事件,该事件可以通过事件探查器访问,也可以使用跟踪存储过程来跟踪此类事件。与删除的消息关联的错误消息包括与以下消息类似的消息:"This message has been dropped due to licensing restrictions."(“由于授权限制,此消息已被删除。”)

以扩展情况为例。应用程序在收银机上部署了 100 个 SQL Server Express 实例。它们正连接到后端的非 SQL Server Express 服务器上。只要后端服务器涉及所有对话框,就会发生这种情况。SQL Server Express 实例无法在不经过后端服务器的情况下成功进行会话。

用户实例

用户实例是 SQL Server Express 中的新功能,可以像处理文件一样处理数据库。现在,本地数据库可以随应用程序一起移动、复制或通过电子邮件传送。在新的位置,不需要进行额外配置就可以使其正常运行。用于在 SQL Server Express 中启用应用程序用户实例支持的主要功能有三个:连接字符串中的 AttachDBFilename 选项、不需要指定逻辑数据库名称和“用户实例”选项。

在用户实例支持中,暗含着几个假设。假设实例名为 SQLEXPRESS 的 SQL Server Express 已安装在计算机上。还假设它是一个仅托管堆栈解决方案,您必须使用 .NET SQL Server 数据访问接口开发可部署的 XCopy 应用程序。也就是说,不能使用 SQL Native Client 或 MDAC 来开发可用于用户实例的应用程序。

通常,应用程序开发人员仅将用户数据库和日志文件随应用程序一起复制。但是,在 SQL Server 中,一个特定数据库(称为 master 数据库)中存在多个配置条目。依赖于 master 数据库中的条目的功能包括 SQL 身份验证(建议您尽可能使用 Windows 身份验证)。如果您的应用程序依赖于 master 数据库中的任何条目,则应用程序开发人员必须确保将这些配置条目复制到目标系统中。一个方法是:当将运行的应用程序安装到目标计算机上时,要随之包括一个 SMO、DMO 或 T-SQL 配置脚本。对于大多数使用 Windows 身份验证运行的应用程序,从 master 数据库复制信息并不难。

AttachDBFileName

您可以为 AttachDBFileName 连接字符串条目指定相对文件路径或绝对文件路径。当打开连接时,将附着指定的数据库文件,此数据库用作该连接的默认数据库。如果调用 AttachDBFileName 时该数据库已附着,则附着操作不会产生任何影响。此关键字支持称为 |DataDirectory| 的特定字符串,该字符串在运行时指向存储数据库文件的应用程序的数据目录。此特定字符串应位于文件路径的起始处,仅对本地文件系统有效,并且会检查 /../ 语法以便该文件路径不高于替换字符串指向的目录。

使用 AttachDBFileName 时,日志文件的用法有些变化。日志文件名的格式必须为:<database-File-Name>_log.ldf,并且在使用 AttachDBFileName 时,没有用于指定日志文件名的选项。例如,如果数据库文件名为 myDb.mdf 且位于 c:/myApp,则日志文件名应为 myDb_log.ldf。如果 SQL 在数据库文件所在的目录中找不到此文件,则在附着过程中将创建一个新的日志文件。这意味着,在使用 AttachDBFileName 时,不支持用户定义的日志文件名。

SQL Server 支持对一个数据库使用多个数据和日志文件,这些文件可以分布在多个文件组中。AttachDBFileName 语法不支持此功能,也不支持网路共享、HTTP 路径或通用命名约定 (UNC) 远程数据库。

逻辑数据库名称

如果在连接字符串中未指定逻辑数据库名称,则将为要附着的数据库自动生成一个名称。该名称是基于 .mdf 文件的相对文件路径生成的。例如,如果文件位于 c:/myDocuments/Myapp/myDB.mdf,则逻辑数据库名称将基于完整路径。如果文件路径的字符多于 128 个,则此功能将使用现有路径和一个哈希来生成逻辑数据库名称。这是 SQL Server Express 中的新功能,因为在 SQL Server 2000 中不指定数据库名称将导致出现错误。支持的语法包括 database=;initial catalog=;,或者用户也可以在连接字符串中完全省略它们。

在同一台计算机上移动或复制数据库时,此功能非常有用,因为基于文件路径的逻辑名称是唯一的。如果没有此功能,则在使用同一个逻辑名称打开两个不同目录中的数据库时,SQL Server 中将会发生命名冲突。计算机之间还支持应用程序 XCopy。

请注意,仍然可以使用关键字 databaseInitial Catalog 来显式指定逻辑数据库名称。用户在使用复制、使用 SQL Service Broker、在 T-SQL 查询中使用多个部分组成的名称或使用跨数据库方案时,可能想要显式指定逻辑数据库名称。

自动关闭

SQL 2000 具有自动关闭功能,此功能在 SQL Server Express 中,默认情况下处于启用状态。此功能在不存在到用户数据库的活动连接时,解除对用户数据库的文件锁定。这样,在使用该数据库的应用程序关闭后,就可以移动或复制该数据库了。

但是,在用户看来,自动关闭功能并非始终有效,特别是在发生意外客户端终止或使用连接池时。对于意外客户端终止,连接最终会被超时机制清除。连接池启用后,用户调用连接关闭时,连接实际上并没有关闭,而是返回到连接池。为了关闭所有连接,通常不得不关闭应用程序域或所有打开的连接。ADO.NET 还包含 ClearPool 之类的函数,用于手动重设。

用户实例

用户实例允许非管理员用户附着和管理 SQL Server Express 数据库。他们通过创建 SQL Server 专用副本来进行附着和管理,该副本运行在打开与某个数据库的连接的用户的安全上下文中。打开连接的用户成为用户实例的服务帐户,从而具有完整的数据库系统管理员权限。这些权限允许非管理员 Windows 用户具有数据库管理员权限,从而允许用户使用 AttachDBFilename 附着数据库。这些权限还允许用户创建任何必要的数据库对象;使得此模式对于开发数据库应用程序比较理想。

安装和部署

SQL Server Express 安装程序是 SQL Server 2005 安装程序的简化版本,它功能强大、可靠,并且支持 GUI 和无提示安装两种模式。仅支持基于 Windows 安装程序 (.msi) 的技术。

SQL Server Express Web 下载文件使用称为 SFXCab 的 Microsoft 安装技术被打包成一个可执行文件。您可以从 Microsoft 下载中心下载 SQL Server Express。双击 .exe 文件将自动启动安装进程。

Visual Studio 2005 版本的 .NET Framework 是安装 SQL Server Express 的必备组件,如果在计算机上找不到正确版本,安装程序将生成错误。在安装程序实际运行之前,会运行一个称为系统配置检查 (SCC) 的组件。此组件验证系统是否满足安装的最低要求;包括最低硬件要求、最低操作系统要求、挂起的重新启动要求等。许多用户可能无法满足挂起的重新启动要求,这意味着用户必须重新启动计算机,SQL Server Express 安装才能继续。SCC 的主要优点是可以及早标识出因计算机配置此外引起的常见安装错误,进而向用户显示相应的警告和错误消息。例如,如果计算机只有 256 MB 的内存,SCC 将显示警告,但会继续安装。下面的图 3 显示了 SCC 屏幕快照示例。


图 3. 系统配置检查

安装程序启动后,您可以看到屏幕被简化了,任何开发人员都可以进行访问。例如,默认情况下,使用“隐藏高级配置”复选框隐藏了一些复杂的对话框(如用于处理排序规则和服务帐户的对话框)。如果用户没有选中此选项,则会显示高级配置对话框。默认情况下,安装日志记录功能被打开,这样用户可以使用 /Program Files/Microsoft SQL Server/90/Setup Bootstrap/LOG 目录中创建的日志文件轻易了解所有安装故障。

默认情况下,SQL Server Express 安装为一个名为 SQLEXPRESS 的命名实例,建议应用程序使用共享的 SQLEXPRESS 实例。默认情况下,SQL 中有几项功能也被关闭,因此您必须显式选择要安装的组件。下面显示了功能组件树屏幕,从中您可以手动复选要安装的项目。安装命令行 ADDLOCAL=All 将选择安装所有组件。下面的表 1 中显示了功能组件树 GUI 条目和相应的命令行选项。

表 1. SQL Server Express 功能组件树
功能组件 GUI功能组件命令行参数:提供逗号分隔的列表,要安装的功能与 ADDLOCAL 之间没有空格。

SQL Server Database Services

SQL_Engine

数据文件

SQLEngine_Data_Files

复制

SQL_Replication

客户端组件

Client_Components

SQL 命令行工具

Server_tools

连接组件

Connectivity

软件开发工具包

SDK

当您自己安装产品时,建议您使用 GUI 安装模式。通常,您可以从 Microsoft 站点下载 SQL Server Express,也可以从应用程序 CD 获得。

建议您在安装应用程序过程中安装 SQL Server Express 时使用无提示安装模式。在这种模式下,您可以验证计算机中是否存在名为 SQLEXPRESS 的实例,如果不存在,请进行无提示安装。有两种方法可以很容易地确定计算机上是否存在 SQL Server Express 实例:

SQL Windows Management Instrumentation (WMI) 提供程序中的 ServerInstance 包含 SQL 版本和版本信息。

T-SQL 命令 Select SERVERPROPERTY("ENGINEEDITION") 返回值 4,代表 SQL Server Express。

您可以使用安装引导程序或 Visual Studio“单击一次”技术来包括 SQL Server Express Microsoft Windows Installer (MSI) 或 Web 下载文件 exe,这对于 ISV 特别有用。如果 SQLEXPRESS 实例已经存在,就不应该继续安装 SQL Server Express。需要注意的重要一点是:Microsoft 不支持 .msi 链接,因而不应该使用。SQL Server Express 也不支持合并模块。如果某个现有 MSDE 安装未显示在“控制面板”的“添加/删除程序”菜单中,则必须清除 SQL Server Express 的安装。

以下列出了一些常用的命令行参数。

SAPWD 用于提供 SA 帐户的密码,主要与 SECURITYMODE=SQL 一起使用。SECURITYMODE=SQL 用于启用混合模式身份验证,对于提供强 SA 密码很重要。对于 Windows 身份验证,不需要此参数。

ADDLOCAL=ALL 用于选择安装所有 SQL Server Express 组件。

DISABLENETWORKPROTOCOLS 用于启用/禁用网络协议。默认情况下,值为 1,意味着默认情况下,禁用网络协议。使用 DISABLENETWORKPROTOCOLS=0 可以在实例中启用网络协议。

/qn 用于无提示安装。

INSTANCENAME 参数用于指定命名实例的名称。建议的默认值为 SQLEXPRESS

语言支持

SQL Server Express 数据库引擎支持 MSDE 支持的全部 12 种语言。目标语言包括:英语、葡萄牙语(巴西)、荷兰语、简体中文、繁体中文、法语、德语、意大利语、日语、朝鲜语和西班牙语。

支持注意事项

通过新闻组、基于 Web 的文档和资源(例如 SQL 联机丛书和白皮书),对 SQL Server Express 提供支持。

硬件/软件要求

硬件要求

处理器频率最小为 600 mHz

处理器频率建议为 1 GHz

RAM 最小为 256MB(安装程序会发出警告)

RAM 建议为 512MB

硬盘空间最小为 170 MB(系统中必须装有 Microsoft .NET Framework)

视频设备分辨率最低为 800 x 600,256 色

视频设备分辨率建议为 1024 x 768,增强色 - 16 位

软件要求:

Microsoft Internet Explorer 6.0 SP1 或更高版本

Microsoft .NET Framework 2.0

操作系统

Microsoft Windows 2000 SP4 Professional

Microsoft Windows 2000 SP4 Server

Microsoft Windows 2000 SP4 Advanced

Microsoft Windows 2000 SP4 Data Center

Microsoft Windows XP SP1 Professional 或更高版本

Microsoft Windows 2003 Server 或更高版本

Microsoft Windows 2003 Enterprise 或更高版本

Microsoft Windows 2003 Data Center 或更高版本

Microsoft Windows Small Business Server 2003 Standard 或更高版本

Microsoft Windows Small Business Server 2003 Premium 或更高版本

64 位支持

SQL Server Express 将支持 x64 平台上的 Windows on Windows (WOW)。WOW 实质上是在 64 位计算机上运行 32 位 SQL Server Express。SQL Server Express 不能安装在 IA64 计算机上。

SQL Server Express 没有的功能

其他 SQL 版本具有的某些功能,SQL Server Express 却不具有,这些功能包括:

可用性功能,例如数据镜像、群集等

全文搜索

SQL 代理

Reporting Services

商业智能平台,例如 Notification Services 和 Analysis Services

SQL Management Studio,是新的 GUI 工具,用于替换 SQL 2000 企业管理器

请注意,在 2006 年,全文搜索和 Reporting Services 功能将添加到 SQL Server Express Edition 中。

Visual Studio 集成

SQL Server Express 随所有 Visual Studio 版本一起安装。Visual Studio 使用实例名称 SQLEXPRESS 安装 SQL Server Express。在 SQL Server Express 中,应用程序依赖于 SQLEXPRESS 实例名称。集成 Visual Studio 和 SQL Server Express 是为了让使用 SQL Server Express 访问数据库与使用 Jet 访问一样简单容易。这对于客户端应用程序和 ASP.NET Web 服务器两种情况都是如此。

例如,在 Visual Studio 项目中引入了一个数据库对象,该对象模板 SQL Server 数据库。当用户在 Visual Studio 项目中选择“添加新对象”选项时,将显示此对象。将数据库添加到项目后,将对该数据库自动进行连接管理,这样用户就可以单击该数据库来查看数据库中的所有对象,例如表、存储过程等。我们为您提供了直接将相关表拖放到表单中的功能。如果使用 Visual Web Developer,将自动创建 GridViewSqlDataSource,而不需要用户在代码行中键入。您也可以仅通过拖放操作,将某个控件(如文本框)自动绑定到某个数据库值。所有连接字符串设置都存储在中心 Web.config 文件中,这样用户便必须在一个单独的位置才能进行修改。

Visual Studio 使用 SQL Server Express 中的用户实例,所以在 Visual Studio 项目中,可以像处理 Windows 文件一样处理 SQL Server 数据库文件。例如,您可以像处理 Jet 文件一样,重命名、删除、复制或移动数据目录中的数据库 (.mdf) 文件。对关联日志文件 (.ldf) 的操作与 .mdf 文件一样,因为 Visual Studio 保持这些文件之间的关联。Visual Studio 管理这些操作,即使运行的 ASP.NET 页面或进程针对的是数据库,这些操作也会成功。这意味着通常的 Visual Studio 应用程序开发人员不需要在设计和开发期间担心日志文件。但是,在部署期间,日志文件必须与数据库文件一起传输。

与其他免费 Microsoft 数据库的比较

与 MSDE 的比较

在 SQL Server 2005 中,SQL Server Express 代替了 Microsoft SQL Server Desktop Engine (MSDE),提供了很多易用的功能,可供非专业开发人员或爱好者使用。MSDE 基于 SQL 2000 技术,建议用于 Windows 9x 平台,而 SQL Server Express 基于 SQL Server 2005 技术。SQL Server Express 具有诸如应用程序 XCopy、有效的安装程序 UI、CLR 支持、GUI 工具和 Visual Studio 集成之类的功能,而 MSDE 不具有这些功能。但是,与 MSDE 相比,有些功能 SQL Server Express 也不具有。这些功能包括:DTS、复制发布和 SQL 代理。

在 MSDE 中,一直可以在部署时使用合并模块功能,而 SQL Server Express 不具有此功能。MSDE 中的工作负荷中止值有时难以理解和使用。在 SQL Server Express 中,不再使用此中止值,引擎改为使用 CPU、RAM 和数据库大小限制,这与其他版本不同。下表显示了这两个产品的比较结果。

表 2. MSDE 与 SQL Server Express 的比较
SQL Server Express 2005MSDE 2000

用户实例支持

没有此功能

独立下载中的 DTS

具有 DTS 运行时

因为没有 MDAC 而容易部署

安装时会同时安装 MDAC

只有 MSI,服务顺利

MSI 和 MSM,MSM 服务困难

支持订阅服务器的事务复制、合并复制和快照复制

除了支持复制订阅外,还支持合并/快照发布

有效的安装程序 UI

基本的安装程序 UI

没有代理

具有代理

支持 Windows 2000 SP4、Windows XP SP1 和 Windows 2003

支持 Windows 98、Windows Me、Windows 2000、Windows XP、Windows NT4 和 Windows 2003

CLR 支持

无 CLR 支持

提供 GUI 工具

不提供 GUI 工具

数据库大小限制:4 GB

数据库大小限制:2 GB

1 个 CPU,1 GB RAM

2 个 CPU,2 GB RAM

没有中止值

工作负荷中止值限制为 5 个并发工作负荷

与 Visual Studio 深度集成

与 Visual Studio 基本集成

与 Jet 的比较

SQL Server Express 基于最新的 SQL Server 2005 技术,而 Jet 相当长的一段时间内一直处于 Servive Pack 和维护阶段。仅 SQL Server Express 提供所有最新、最强大的功能,例如 CLR 集成和 XML 支持。SQL Server Express 的可靠性和可伸缩性也明显优于 Jet。为 SQL Server Express 编写的应用程序可以轻松移植到 SQL Server Workgroup Edition、SQL Server Standard Edition 或 SQL Server Enterprise Edition,而 Jet 实现这种伸缩比较困难。SQL Server Express 还对其数据库对象提供更加细化的安全性控制。使用 Visual Studio 2005 集成和用户实例功能,我们将 Jet 的易用性引入 SQL Server。

结论

SQL Server Express 是一款重要的 Microsoft 产品版本,因为该产品专用于非专业开发人员、ISV 和爱好者。它免费、易用、具有强大的功能,并且可以无缝升级到其他 SQL Server 版本。有一些功能(例如用户实例)是此 SQL Server 版本的专有功能,并且默认情况下,安装和部署都是安全的。与现有的免费 Microsoft 数据库(Jet 和 MSDE)相比,SQL Server Express 的优势明显。SQL Server Express 与 Visual Studio 2005 的集成也简化了您的数据库设计和部署操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Microsoft SQL Server 2005 Express Edition SQL Server 文档小组无法回答技术支持问题,但是欢迎您对本自述文档提出建议和意见。您可以使用提供的链接快速、直接地发送电子邮件反馈。请使用英语发送您的反馈信息。 若要通过邮件提交有关本文档的反馈信息,请单击此处:提交反馈。 目录 1.0 简介 2.0 下载并安装 SQL Server Express 2.1 .NET Framework 2.0 2.2 SQL Server Express 2.3 SQL Server Express 的管理工具 2.4 访问安装文档 2.5 SQL Server 2005 自述文件 3.0 安装问题 4.0 其他信息 4.1 服务帐户和网络协议 4.2 用户实例功能 4.3 WMI 提供程序和用户实例功能 4.4 联机丛书 4.5 获取 SQL Server Express 帮助 4.6 新闻组支持 4.7 提供有关 SQL Server Express 的反馈 5.0 数据库引擎 6.0 复制 [顶部] 1.0 简介 Microsoft SQL Server 2005 Express Edition (SQL Server Express) 是一个免费且易于使用的 SQL Server 2005 版本,它替换了 Microsoft Desktop Engine (MSDE)。与 Microsoft Visual Studio 2005 集成之后,SQL Server Express 可以轻松的开发功能强大且安全的数据驱动应用程序,并允许快速部署这些应用程序。SQL Server Express 可以根据协议重新进行发布,并可作为客户端数据库以及基本服务器数据库使用。SQL Server Express 是独立软件供应商 (ISV)、服务器用户、非专业开发人员、Web 应用程序开发人员、网站宿主以及客户端应用程序编程爱好者的理想之选。 未及时包括在本自述文件中的任何有关 SQL Server Express 的信息都将发布到 Microsoft 知识库文章 907284 中。 有关使用 SQL Server Express 新闻组提供反馈的信息,请参阅 4.6 新闻组支持部分。 [顶部] 2.0 下载并安装 SQL Server Express 本节介绍有关安装 .NET Framework 2.0、SQL Server Express 以及可用于连接到 SQL Server Express 的工具的信息。 2.1 .NET Framework 2.0 在安装 SQL Server Express 之前,必须安装 .NET Framework 2.0。 SQL Server Express 依赖于特定 2.0 版本的 .NET Framework。如果您已安装了其他版本的 .NET Framework,则 SQL Server Express 安装可能会在运行时发生意外情况。您可以从此 Microsoft 网站下载 .NET Framework 2.0。 注意: .NET Framework 2.0 由 Microsoft Visual Studio 2005 和所有版本的 SQL Server 2005 自动安装。 [顶部] 2.2 SQL Server Express SQL Server Express 可从此 Microsoft 网站下载获得。 注意: 下载和提取产品时,请务必按照下载站点提供的说明进行操作。 安装 SQL Server Express 之后,请在命令提示符下使用以下命令连接到 SQL Server Expresssqlcmd -S Server\Instance 其中 Server 是计算机名称,Instance 是要连接到的实例名称。如果已在安装过程中使用了默认的命名实例,则将实例指定为“SQLExpress”。 [顶部] 2.3 管理 SQL Server Express 的工具 有关连接到 SQL Server Express 数据库并进行管理的信息,请参阅 Microsoft 知识库文章 907716。 [顶部] 2.4 访问安装文档 SQL Server Express 的安装要求文档中概述了硬件和软件要求。 [顶部] 2.5 SQL Server 2005 自述文件 SQL Server 2005 自述文件可以从此 Microsoft 网站在线获取。 注意: 未及时包括在本自述文件中的任何有关 SQL Server 2005SQL Server Express 的信息都将发布到 Microsoft 知识库文章 907284 中。 [顶部] 3.0 安装问题 本部分详细介绍此版本中的安装问题。 3.1 现有的 SQL 本机客户端安装可能导致安装失败 安装可能失败并回滚,同时显示以下错误消息:“找不到产品 Microsoft SQL 本机客户端的安装包。请使用安装包 sqlncli.msi 的有效副本重试安装。”若要解决此问题,请使用“添加或删除程序”卸载 SQL 本机客户端。对于群集,请从所有节点中卸载 SQL 本机客户端。然后,再次运行 SQL Server 安装程序。 [顶部] 3.2 系统配置检查器失败并显示“性能监视器计数器检查失败”消息 在开始安装 SQL Server 之前,系统配置检查器 (SCC) 会验证性能监视器计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或者 SCC 无法运行 Lodctr.exe 系统程序,则 SCC 检查会失败,并且安装程序会被阻止。若要完成安装,您必须手动增加注册表项。 注意: 如果注册表编辑不当,则可能会导致严重的问题并可能需要您重新安装操作系统。Microsoft 不保证可以解决因注册表编辑不当而导致的问题。在编辑注册表之前,请备份所有重要数据。有关如何备份、恢复和编辑注册表的信息,请参阅 Microsoft 知识库文章 256986。 若要手动增加计数器注册表项,请执行下列操作: 在任务栏中,依次单击“开始”和“运行”,在“运行”文本框中键入 regedit.exe,再单击“确定”。 导航到以下注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]。查找下列项: "Last Counter"=dword:00000ed4 (5276) "Last Help"=dword:00000ed5 (5277) 验证值。上一步 (5276) 中的 Last Counter 值必须与以下注册表项内 Perflib\009 中 Counter 项的最大值相等,上一步 (5277) 中的 Last Help 值必须与以下注册表项内 Perflib\009 中 Help 项的最大值相等:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]。 注意: “009”是用于英语(美国)的项。 如有必要,请修改 \Perflib 项中 Last Counter 和 Last Help 的值。在右窗格中,右键单击 Last Counter 或 Last Help,选择“修改”,单击 Base = Decimal,在“值”数据字段中设置值,再单击“确定”。如有必要,请对其他项重复此操作,然后关闭注册表编辑器。 再次运行 SQL Server 2005 Express Edition 安装程序。 [顶部] 3.3 SQL Server Express 联机丛书中包含关于操作系统支持的错误信息。 SQL Server Express 联机丛书中的“硬件和软件要求 (SQL Server Express)”主题中没有提供操作系统的精确列表。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 [顶部] 3.4 如果在 Windows Server 2003 中禁用了加密服务,则安装程序会失败并显示“Windows 徽标要求”对话框 Windows 加密服务提供程序 (CSP) 是执行身份验证、编码和加密服务的代码,基于 Windows 的应用程序通过 Windows Server 2003 中的 CryptoAPI 访问这些服务。如果停止或禁用 CSP 服务,则 SQL Server 安装程序会失败并显示“Windows 徽标要求”消息。 注意: 在 Windows Server 2003 故障转移群集中运行 SQL Server 安装程序之前,必须在所有群集节点上启动 CSP 服务。 若要在 Windows Server 2003 中启用 Windows CSP 服务,请执行下列操作: 在“控制面板”中,打开“管理工具”,再双击“服务”。 在“名称”列中,右键单击“加密服务”,再单击“启动”。 关闭“服务”。 运行安装程序。 [顶部] 3.5 未在 Windows 中完全启用 MSDTC 由于未在 Windows 中完全配置 Microsoft 分布式事务处理协调器 (MS DTC),因此,应用程序可能无法在分布式事务中登记 SQL Server Express 资源。此问题会影响使用分布式事务的链接服务器、分布式查询以及远程存储过程。为了避免出现此类问题,您必须在安装有 SQL Server Express 的服务器中完全启用 MS DTC 服务。 若要完全启用 MS DTC,请执行下列操作: 在“控制面板”中,打开“管理工具”,再双击“组件服务”。 在左窗格的“控制台根目录”中,单击“组件服务”,再展开“计算机”。 右键单击“我的电脑”,再单击“属性”。 在 MSDTC 选项卡中,单击“安全配置”。 在“安全设置”下,选中所有复选框。 验证是否已将“DTC 登录帐户”名称设置为 NT AUTHORITY\NetworkService。 [顶部] 3.6 默认情况下不安装示例数据库 默认情况下,不在 SQL Server Express 中安装示例数据库。Northwind 和 pubs 示例数据库可以从 Microsoft 网站进行下载。Adventureworks 示例数据库可从此 Microsoft 网站安装。 [顶部] 3.7“强制加密”配置可能会导致 SQL Server Express 安装程序失败 如果现有的 SQL Server 客户端安装配置为启用了“强制加密”选项,则安装程序可能会失败。若要解决此问题,请在所有 SQL Server 客户端上禁用此选项。对于 SQL Server 2000 中的 Microsoft 数据访问组件 (MDAC) 客户端,请使用 SQL Server 2000 客户端网络实用工具。对于 SQL 本机客户端,请使用“添加或删除程序”卸载 SQL 本机客户端。在群集中,请卸载所有节点中的 SQL 本机客户端。然后,再次运行 SQL Server 2005 安装程序。 [顶部] 3.8 sp_configure 的设置可能会导致安装程序在升级系统数据库时失败 如果在更早 Community Technology Preview (CTP) 版本的 SQL Server Express 中禁用了 sp_configure 选项“SMO 和 DMO XP”,则在使用 SAVESYSDB 卸载该早期实例,然后使用 USESYSDB 安装本版本时,将可能无法从命令提示符下进行安装。若要解决此问题,请确保在使用安装程序升级系统数据库之前,已启用上述选项。有关详细信息,请参阅此 Microsoft 网站上 SQL Server 联机丛书中的“设置服务器配置选项”。 [顶部] 3.9 安装 SQL Server 2000 的默认实例可能会禁用 SQL Server Express 如果您的计算机已安装 SQL Server 2000 管理工具和 SQL Server Express 的默认实例,则可以使用 SQL Server 安装程序安装 SQL Server 2000 的默认实例。但是,这样做会禁用已安装的 SQL Server Express 实例。因此,如果计算机上已安装 SQL Server 2000 管理工具和 SQL Server Express 的默认实例,则不要安装 SQL Server 2000 的默认实例。 [顶部] 3.10 在 Windows 域控制器中安装 SQL Server Express 安全说明: 我们不建议在域控制器中运行 SQL Server Express。 可以在 Windows 域控制器中安装 SQL Server Express;但是,SQL Server Express 无法在 Windows Server 2003 域控制器中像本地服务或网络服务那样运行。SQL Server 服务帐户应以 Windows 域用户帐户的身份运行。您也可安装 SQL Server 服务帐户以本地系统的身份运行,但是不建议使用此选项。 不要在安装完 SQL Server Express 之后更改服务器的角色。例如,如果您在成员服务器中安装了 SQL Server Express,则不要使用 Dcpromo 工具将该服务器提升为域控制器。或者,如果您在域控制器中安装了 SQL Server Express,则不要使用 Dcpromo 将该服务器降级为成员服务器。如果在安装完 SQL Server Express 之后更改服务器的角色,便会导致功能丢失,不支持这样做。 [顶部] 3.11 现有的 SQL 本机客户端安装可能导致安装失败 安装可能失败并回滚,同时显示以下错误消息:“找不到产品 Microsoft SQL 本机客户端的安装包。请使用安装包 sqlncli.msi 的有效副本重试安装。”若要解决此问题,请使用“添加或删除程序”卸载 SQL 本机客户端。对于群集,请从所有节点中卸载 SQL 本机客户端。然后,再次运行 SQL Server 安装程序。 [顶部] 3.12 卸载 SQL Server Express 和 Visual Studio 2005 的预发布版本 安装前,您必须删除 SQL Server Express、Visual Studio 2005 和 .NET Framework 2.0 的所有以前内部版本。由于这两个产品都依赖于相同版本的 .NET Framework,因此必须按照以下顺序卸载它们: SQL Server Express Visual Studio 2005 .NET Framework 2.0 [顶部] 3.13 维护模式下将提示输入 Setup.exe 的路径 如果在维护模式下安装新的 SQL Server 2005 组件,系统将提示您指定 SQL Server 2005 安装媒体中 Setup.exe 文件的位置。指定该文件位置时,路径中一定要包含“Setup.exe”。例如,路径“D:\”将失败,而“D:\Setup.exe”将成功。 [顶部] 3.14 Setup 命令 Shell 脚本的故障排除失败 路径变量中包含括号时,Setup 命令 shell 脚本可以生成 Windows 脚本错误。出现该错误的原因是命令 shell 脚本不支持路径变量中包含的括号。在将 32 位组件安装到 64 位计算机的 Windows (WOW64) 32 位子系统中的 Windows 时可能会出现该错误。例如,下列路径值为“C:\Program Files (x86)\”的脚本将生成一个错误,因为 shell 脚本解释器会将扩展的 PATH 变量中的括号错误地解释为 IF/ELSE 语句的一部分: IF "%SOME_PATH%" == "" ( SET PATH=%PATH%;%PATH_A% ) ELSE ( SET PATH=%PATH%;%PATH_B% ) 若要解决此问题,请更改该脚本以删除括号。例如: IF "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_A% IF NOT "%SOME_PATH%" == "" set PATH=%PATH%;%PATH_B% 或者从路径中删除包含括号的 SQL 项。 [顶部] 4.0 其他信息 4.1 服务帐户和网络协议 在 SQL Server Express 中,本地系统帐户即为网络服务帐户。 SQL Server Express 可侦听本地命名管道和共享内存。执行默认安装时,无法远程连接到 SQL Server Express。您需要启用 TCP/IP 并检查是否已启用防火墙。 若要启用 TCP/IP,请执行下列操作: 在“开始”菜单中,选择“所有程序”,依次指向 Microsoft SQL Server 2005 和“配置工具”,再单击“SQL Server 配置管理器”。 或者,您可以通过右键单击“我的电脑”并选择“管理”来打开计算机管理器。在“计算机管理”中,依次展开“服务和应用程序”和“SQL Server 配置管理器”。 展开“SQL Server 2005 网络配置”,再单击“InstanceName 的协议”。 在协议列表中,右键单击要启用的协议,再单击“启用”。 协议的图标将更改为显示该协议已启用。 若要启用防火墙,请执行下列操作: 依次单击“开始”和“控制面板”,再单击“网络连接”。 在左侧的导航栏中,单击“更改 Windows 防火墙的设置”。 在“异常”选项卡的“程序和服务”框中,您可能看到已列出 SQL Server,但未将其选择为异常。如果您选中该复选框,则 Windows 将打开端口 1433 以允许 TCP 请求进入。或者,如果您未看到列出 SQL Server,则请执行下列操作: 单击“添加程序”。 单击“浏览”。 导航到 drive:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BINN 将文件 sqlservr.exe 添加到异常列表中。 [顶部] 4.2 用户实例功能 SQL Server Express 允许非管理员用户在没有 DBCreator 特权的情况下也能复制或移动数据库(使用 Xcopy 部署)。有关详细信息,请参阅此 Microsoft 网站上的 SQL Server Express 联机丛书中的“非管理员用户实例”。 [顶部] 4.3 WMI 提供程序和用户实例功能 动态生成的用户实例中不支持 WMI Provider for Server Events。此程序仍运行于父 SQL Server Express 实例中。 [顶部] 4.4 联机丛书 SQL Server Express 联机丛书可从此 Microsoft 网站下载获得。 注意: 由于 SQL Server ExpressSQL Server 2005 的一个受限版本,因此,SQL Server Express 联机丛书中的文档很大程度上依赖于 SQL Server 2005 联机丛书中的内容。 SQL Server 2005 联机丛书可从此 Microsoft 网站下载获得。 Microsoft 定期发布 SQL Server Express 联机丛书和 SQL Server 2005 联机丛书的可下载更新。我们建议您安装这些更新以及时更新该文档的本地副本中相应的信息。 [顶部] 4.5 获取 SQL Server Express 帮助 Microsoft 通过以下四个主要信息来源提供有关 SQL Server Express 的信息: SQL Server Express 文档和示例 SQL Server 2005 文档 Microsoft Developer Network (MSDN) 和 TechNet 上的 SQL Server 站点 其他 Microsoft 网站上的 SQL Server 信息 您也可以通过 SQL Server 社区从其他人或直接从 Microsoft 支持人员处获取帮助。有关详细信息,请参阅 SQL Server Express 联机丛书中的“获取 SQL Server Express 帮助”。 [顶部] 4.6 新闻组支持 有关新闻组支持的信息,请从此 Microsoft 网站访问 SQL Server Express 新闻组。请不要使用其他 Microsoft 新闻组张贴有关 SQL Server Express 的问题。 可在 SQL Server Express 网站日志中找到来自 SQL Server Express 小组的最新信息。 注意: 仅支持英语版的新闻组。 [顶部] 4.7 提供有关 SQL Server Express 的反馈 可通过下列方式提供有关 SQL Server Express 的建议和错误报告: 在此 Microsoft 网站发送有关 SQL Server Express 的功能和用户界面的建议和错误报告。 使用 SQL Server Express 联机丛书中的反馈功能发送有关文档的建议以及报告其中不正确的内容。 选择自动将错误报告和功能使用情况数据发送给 Microsoft 进行分析。 有关详细信息,请参阅 SQL Server 联机丛书中的“提供有关 SQL Server 2005 的反馈”。 [顶部] 5.0 数据库引擎 本部分说明 SQL Server 2005 数据库引擎和数据库引擎特定的命令提示实用工具的最新项,这些最新项也应用于 SQL Server Express。 [顶部] 5.1 在 Windows Server 2003 SP1 中运行时连接可能会被强行关闭 如果 TCP/IP 网络处于打开状态,则指向 Windows Server 2003 Service Pack 1 中运行的 SQL Server Express 数据库引擎实例的客户端连接可能会失败,并出现以下错误:“提供程序号: 7,错误: 10054,错误消息:‘TCP 提供程序: 现有连接被远程主机强行关闭’”。 如果要通过大量客户端连接尝试来测试可伸缩性,则可能会出现此错误。若要解决此问题,请使用 regedit.exe 实用工具将名为 SynAttackProtect 的新 DWORD 值添加到注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\(值数据为 00000000)中。 安全说明: 设置此注册表项可能会使服务器受到 SYN Flood 拒绝服务攻击。测试完成时,请删除该注册表值。 注意: 如果注册表编辑不当,可能会导致严重问题并可能需要重新安装操作系统。Microsoft 不保证可以解决因注册表编辑不当而导致的问题。在编辑注册表之前,请备份所有重要数据。有关如何备份、恢复和编辑注册表的信息,请参阅 Microsoft 知识库文章 256986。 [顶部] 5.2 安全的 Service Broker 对话需要数据库主密钥 SQL Server 2005 联机丛书错误地说明了当跨数据库使用对话安全设置进行会话时,SQL Server 会创建通过数据库主密钥加密的会话密钥。实际上,对于所有使用对话安全设置进行的会话而言,会话密钥均通过数据库主密钥进行加密。如果数据库主密钥不可用,则在创建数据库主密钥或会话超时之前,会话的消息将一直保留在 transmission_queue 中并出现错误。您可以使用 ENCRYPTION = OFF 参数创建未加密的对话,也可以使用以下命令创建数据库主密钥: CREATE MASTER KEY ENCRYPTION BY PASSWORD = '' [顶部] 5.3 公共语言运行时用户定义类型应只有一个序列化 每个字节顺序的用户定义类型 (UDT) 对象的实例只能有一种序列化表示形式。如果序列化或反序列化例程识别出某个特定对象具有多种表示形式,则可能会在下列情况下出现错误: 在验证通过 RPC 传递的字节顺序的 UDT 期间,UDT 验证执行 UDT 的反序列化/重新序列化,并要求生成的字节与原始字节完全相同。如果验证失败,则会出现错误:“System.Data.SqlClient.SqlException,传入的 TDS RPC 协议流不正确。参数 1 (""):提供的值不是数据类型 的有效实例。请检查源数据中的无效值。” 在 DBCC 期间,字节顺序的 UDT 列中存储的字节数必须等于计算的 UDT 值序列化。如果不相等,则 DBCC CHECKTABLE 例程将会报告一致性错误。 [顶部] 5.4 尚未通过设置启用网络连接 为了提高安全性,SQL Server Express 针对某些新安装禁用了网络连接。如果您使用的是 SQL Server Enterprise Edition、Standard Edition 或 Workgroup Edition,或计算机上已经安装有 SQL Server,则不会禁用使用 TCP/IP 协议的网络连接。除非计算机上已经安装有 SQL Server,否则 Named Pipes 连接仅适用于本地连接。对于所有安装,都会启用 Shared Memory 协议,以允许服务器的本地连接。根据具体的安装条件和安装选项,可能会停止 SQL Browser 服务。 [顶部] 5.5 包含用户定义类型的程序集注意事项 下列限制适用于包含用户定义类型的公共语言运行时 (CLR) 程序集。 公共语言运行时用户定义类型只能有一个序列化 字节顺序的用户定义类型对象的各个实例只能有一种序列化表示形式。如果序列化或反序列化例程检测到某个特定对象具有多种表示形式,则在以下情况下可能会显示错误: 在验证通过 RPC 传递的字节顺序的用户定义类型的过程中,用户定义类型验证过程会对该用户定义类型执行反序列化/重新序列化,并要求生成的字节与原始字节完全相同。如果验证失败,您将看到以下错误:“System.Data.SqlClient.SqlException,传入的 TDS RPC 协议流不正确。参数 1 (""): 提供的值不是数据类型 的有效实例。请检查源数据中的无效值。” 在 DBCC CHECKTABLE 过程中,在字节顺序的用户定义类型列中存储的字节必须与计算出的 UDT 值的序列化表示形式相同。如果不相同,则 DBCC CHECKTABLE 例程将报告一个一致性错误。 有关更新带有用户定义类型类的程序集的已更新的限制 可以按下列方式使用 ALTER ASSEMBLY 更新 CLR 用户定义类型: 修改用户定义类型类的公共方法,但不更改签名或属性。 添加新的公共方法。 以任何方式修改私有方法。 使用 ALTER ASSEMBLY 不能更改本机序列化的用户定义类型中包含的字段,包括数据成员和基类。不支持所有其他更改。 [顶部] 5.6 SQL Server 不保证更新程序集时的数据一致性 如未指定 WITH UNCHECKED DATA,则在新的程序集版本对表、索引或其他持久站点中的现有数据产生影响时,SQL Server 将会阻止执行 ALTER ASSEMBLY。更新公共语言运行时 (CLR) 程序集时,SQL Server 并不保证计算列、索引、索引视图或表达式与基础例程和类型保持一致。执行 ALTER ASSEMBLY 时需谨慎操作,以确保在表达式结果和基于存储在程序集中的该表达式的值之间没有不匹配。 [顶部] 5.7 卷影复制服务的快照自动恢复功能的注意事项 卷影复制服务 (VSS) 的快照自动恢复功能具有下列限制。 多个持续自动恢复的快照 在 Windows Server 2003 Service Pack 1 (SP1) 和更高版本中,您只能创建单个持续自动恢复的快照。若要创建其他快照,您必须首先应用知识库文章 891957 中所述的更新。 注意: 如果尚未应用此更新,则可以通过以下方式创建新的持续自动恢复的快照:首先删除现有的持续自动恢复的快照,然后创建一个新的持续自动恢复的快照。 自动恢复的快照和全文目录 快照自动恢复功能不支持全文目录。创建自动恢复的快照之后,在该快照中,数据库中的所有全文目录都将处于脱机状态。在从快照中附加数据库时,全文目录会永久保持脱机状态。但附加的数据库中的其他所有数据均可用。 在从自动恢复的快照中直接附加包含全文目录的数据库时,附加操作将返回以下错误消息: Server: Msg 7608, Level 17, State 1, Line 1 An unknown full-text failure (0xc000000d) occurred during "Mounting a full-text catalog". 如果不需要直接从快照中附加数据库,则可以通过如下方式来避免此问题:先将快照中的数据库文件和全文目录复制到基于驱动器号的常规卷中,然后从该位置附加数据库。只要附加命令指定了所复制的全文文件的正确位置,即可正常使用这些全文目录。 [顶部] 5.8 注册公共语言运行时程序集的限制 SQL Server 不允许使用相同的名称、区域性和公钥注册程序集的不同版本。如果计划保留九月份 CTP 版本之前的 SQL Server Express 版本中的数据库,则在安装该版本之前,必须删除具有多个注册的程序集的所有其他实例,只保留一个实例。 [顶部] 5.9 创建 EXTERNAL_ACCESS 和 UNSAFE 程序集 若要在 SQL Server 中创建 EXTERNAL_ACCESS 或 UNSAFE 程序集或者要加载程序集,必须满足下列两个条件之一: 程序集经过强名称签名或使用证书进行了 authenticode 签名。此强名称(或证书)在 SQL Server 中作为非对称密钥(或证书)创建,并具有相应的登录名,该登录名具有 EXTERNAL ACCESS ASSEMBLY 权限(对于 EXTERNAL ACCESS 程序集)或 UNSAFE ASSEMBLY 权限(对于 UNSAFE 程序集)。 数据库所有者 (DBO) 具有 EXTERNAL ACCESS ASSEMBLY(对于 EXTERNAL ACCESS 程序集)或 UNSAFE ASSEMBLY(对于 UNSAFE 程序集)权限,并且该数据库的 TRUSTWORTHY 属性设置为 ON。 除了要在服务器进程中运行公共语言运行时 (CLR) 代码之外,建议始终将数据库的 TRUSTWORTHY 属性设置为 ON。并且建议通过 master 数据库中的程序集文件创建非对称密钥。然后,必须创建映射到此非对称密钥的登录名,并且为该登录名授予 EXTERNAL ACCESS ASSEMBLY 或 UNSAFE ASSEMBLY 权限。 下面的 Transact-SQL 语句将执行完成下列操作所需的步骤:创建非对称密钥,将一个登录名映射到此密钥,然后为该登录名授予 EXTERNAL_ACCESS ASSEMBLY 权限。必须在执行 CREATE ASSEMBLY 语句之前执行下面的 Transact-SQL 语句: 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 [顶部] 5.10 应用程序角色与元数据可见性限制以及动态管理视图的兼容性 在某个应用程序角色下运行的程序的行为可能会发生更改,因为在默认情况下,SQL Server Express 将限制 master 数据库元数据对于应用程序角色的可见性。作为临时解决方法,您可以启用跟踪标志 #4616。有关详细信息,请参阅知识库文章 906549。 [顶部] 5.11 未实现 SUPPLEMENTAL_LOGGING 数据库选项 在此版本的 SQL Server 中未实现 SUPPLEMENTAL_LOGGING 数据库选项。此选项可以设置,但不起任何作用。 [顶部] 5.12 sys.dm_clr_loaded_assemblies 显示无法加载的程序集 由于任何原因未能加载到服务器地址空间中的程序集仍将显示在 sys.dm_clr_loaded_assemblies 动态管理视图中。 [顶部] 5.13 XQuery 更改 联机丛书中未说明 SQL Server Express XQuery 实现的以下几个方面: 没有将 CDATA 部分生成的字符视为空格字符。例如,select cast(''as xml).query(' <![CDATA[ ]]> {"abc"}') 返回 abc。 支持构造空元素和空属性。 命名空间前缀 xmlns 用于标识命名空间声明属性,不能在 XQuery 表达式中重新声明。这是 XQuery 规范要求的行为。 将“for”与源表达式 () 一起使用会生成一个静态的错误。 在使用 xml 数据类型的 query() 方法构造的 XML 文档中,CDATA 部分中的回车符变为换行符。为了进行文本 XML 分析,使用换行符代替之前的回车符实体引用 ( )。 包含 local-name() 和 namespace-uri() 的 Transact-SQL 用户定义函数为确定性函数。 [顶部] 5.14 xsd:dateTime 转换的限制比所述限制更少 不包含日期和时间分隔符 T 或时区的 xs:dateTime 值的字符串表示可以在 value() 方法中转换为 SQL datetime 类型,如以下示例所示: declare @aaa xml set @aaa = '' select @aaa.value('(//AAA)[1]/@MyDate', 'datetime') [顶部] 5.15 XML 架构支持 SQL Server 2005 联机丛书中未说明 SQL Server 2005 对 XML 架构以下几个方面的支持: 可以将 Reporting Services (RDL) 的 XML 架构加载到 XML 架构集合中。 如果 xs:dateTime 和 xs:time 类型的值包含具有三个以上小数位数的副值,则这些值不会返回错误,而是会被进行舍入。 当基类型具有 fixed="true" 时,如果在派生类型中重新定义 maxInclusive,便会拒绝使用 XML 架构。 限制 xs:dateTime、xs:data 和 xs:time 等数据类型的派生类型将忽略 minInclusive、minExclusive、maxInclusive 和 maxExclusive 部分的尾随空格。 [顶部] 5.16 不应使用 RC4 加密 请勿使用 RC4 加密保护 SQL Server 2005 中的数据,而改为使用分组密码,如 AES 256 或 Triple DES。 [顶部] 6.0 复制 本部分介绍了有关复制的最新信息。 [顶部] 默认情况下禁用复制功能 Microsoft SQL Server 2005 Express Edition 可以用作所有复制类型的订阅服务器,但是默认情况下不会为此版本安装复制功能。 若要安装复制组件,请执行下列操作: 在“功能选择”页中,展开“数据库服务”。 单击“复制”,再单击“整个功能将被安装在本地硬盘上”。 若要安装连接组件和复制管理对象 (RMO),请执行下列操作: 在“功能选择”页中,单击“客户端组件”,再单击“整个功能将被安装在本地硬盘上”。 [顶部] © 2005 Microsoft Corporation。保留所有权利。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值