与 MSDE 不同,MSDE 不支持任何形式的 GUI 安装实用工具,而 SQL Server Express 允许命令行安装和 GUI 版本。对于使用标准版版本或更高版本的开发人员来说,这个安装版本是非常熟悉的。但是,在该过程的早期,SQL Server Express GUI 安装程序出现对话框(如图 1 所示),询问用户是否要设置 Advanced Configuration 选项。默认情况下,安装程序会配置正在进行安装的 SQL Server Express 实例来使用集成安全性,同时禁用对 TCP 端口和外部协议的所有访问。这意味着您将无法从其他系统或使用 SQL Server 凭据来访问 SQL Server Express 实例,除非更改高级配置选项。
选择安全性模式
SQL Server Express 安装实用工具允许您在身份验证模式对话框(如图 2 所示)中设置服务器所使用的安全性类型。正如我将在稍后讨论的那样,默认模式是 Windows Authentication,它会根据域 Active Directory 数据库来验证用户凭据。在理解切换到 SQL Server Mixed Mode 安全性的安全意义之前,最好保留为默认模式。例如,混合模式 (SQL Server) 安全性强制开发人员指出隐藏由其应用程序所使用的 SQL Server 凭据的方法,以防止肆无忌惮的黑客的使用。尽管如此,最好还是坚持使用默认设置,除非您的设计使该配置无法使用。
兴趣使然 黑客从何处来?在伦敦举行的 Diligence Information Security 研讨会上,一项调查表明大多数“黑客”(那些试图获得对受保护的数据进行未经授权访问的人)是公司防火墙内部的个人 — 并且大多数(到目前为止)都是公司的正式员工。
不管您选择的安全性类型如何,安装实用工具都将要求您提供 SA 密码。尽管它要求您需要提供“强”密码,这实际上是域密码强度设置的功能。我提倡您使用格式规范的强密码,但是如果使用 Windows 身份验证模式,这一点就并不那么重要了。实用工具不会让您将其保留为空。
安装 SQL Server 计算机管理器扩展
与 SQL Server Express 安装的一个也是唯一一个工具就是 SQL Server 计算机管理器 MMC 管理单元。该工具可用于管理 SQL Server 服务并且使得可以在网络上查看 SQL Server。要安装该组件,请在安装 SQL Server Express 实例过程中使用 Features Selection 对话框(如图 3 所示)选择它即可。
在安装 SQL Server Express 实例后,通过导航到“Protocols for SQLEXPRESS”节点,右键单击然后选择 Enable(如图 4 所示),SQL Server 计算机管理器可以启用 TCP 端口或适当的网络协议。在此例中,我启用了 Named Pipes (Np) 协议。您还必须启动 SQL Brower 服务来提供服务器名称解析。
注 请注意,“Slammer”蠕虫利用这样一个事实,大多数 SQL 服务器在 UDP 端口 1434 公开。这意味着 SQL Server Express 不会受到这种类型的攻击,除非您启用 SQL Browser 服务。
在安装完成后,安装文件(可以包含纯文本或弱加密凭据以及其他敏感配置信息 — 基本上是指服务器的密钥)应该被删除或进行保护。
连接到 SQL Server Express(获得对 SQL Server Express 的访问)
Microsoft 和我希望您使用托管代码来打破对 COM 和 OLE DB 提供程序的依赖性 — 即,SQL Server 提供程序。SqlClient .NET 数据提供程序仍然是最好的选择。如果必须使用 MDAC 和 OLE DB 从基于 COM 的应用程序连接到 SQL Server Express,您可以这么做,但是您无法通过共享的内存提供程序进行连接,并且您将需要确保启动了 SQL Browser 服务。
由于默认安全性设置是集成安全性,您将需要在连接字符串中使用 Integrated Security=SSPI,除非更改为混合模式安全性。您仍然需要在连接字符串中指定初始目录或 Database,以指向 SQL 所针对的特定数据库。当使用 SQL 分析器来监视代码所执行的操作时,我还建议您使用 Application Name 连接字符串参数来唯一地标识您的操作。