Windows 身份验证模式(Windows 身份验证)
Windows 身份验证模式使用户得以通过 Microsoft Windows NT® 4.0 或 Windows® 2000 用户帐户进行连接。
混合模式(Windows 身份验证和 SQL Server 身份验证)
混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与 SQL Server 实例连接。在 Windows 身份验证模式或混合模式下,通过 Windows NT 4.0 或 Windows 2000 用户帐户连接的用户可以使用信任连接。
提供 SQL Server 身份验证是为了向后兼容。例如,如果创建单个 Windows 2000 组并向该组添加所需的所有用户,则需要授予 Windows 2000 组登录到 SQL Server 的权限以及对任何必需数据库的访问权限。
Windows 身份验证
当用户通过 Windows NT 4.0 或 Windows 2000 用户帐户进行连接时,SQL Server 通过回叫 Windows NT 4.0 或 Windows 2000 以获得信息,重新验证帐户名和密码。
SQL Server 通过使用网络用户的安全特性控制登录访问,以实现与 Windows NT 4.0 或 Windows 2000 的登录安全集成。用户的网络安全特性在网络登录时建立,并通过 Windows 域控制器进行验证。当网络用户尝试连接时,SQL Server 使用基于 Windows 的功能确定经过验证的网络用户名。SQL Server 于是验证此人是否是如其所说的那个人,然后只基于网络用户名允许或拒绝登录访问,而不要求单独的登录名和密码。
与 SQL Server 身份验证相比,Windows 身份验证有某些优点,主要是由于它与 Windows NT 4.0 和 Windows 2000 安全系统的集成。Windows NT 4.0 和 Windows 2000 安全系统提供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐户。
由于 Windows NT 4.0 和 Windows 2000 用户和组只由 Windows NT 4.0 或 Windows 2000 维护,因此当用户进行连接时,SQL Server 将读取有关该用户在组中的成员资格信息。如果对已连接用户的可访问权限进行更改,则当用户下次连接到 SQL Server 实例或登录到 Windows NT 4.0 或 Windows 2000 时(取决于更改的类型),这些更改会生效。
说明 当 SQL Server 实例在 Windows 98 或 Microsoft Windows Millennium 版上运行时,Windows 身份验证模式不可用。
SQL Server 身份验证
当用户用指定的登录名称和密码从非信任连接进行连接时,SQL Server 通过检查是否已设置 SQL Server 登录帐户,以及指定的密码是否与以前记录的密码匹配,自己进行身份验证。如果 SQL Server 未设置登录帐户,则身份验证将失败,而且用户收到错误信息。
提供 SQL Server 身份验证是为了向后兼容性,因为为 SQL Server 7.0 版或更早的版本编写的应用程序可能要求使用 SQL Server 登录和密码。另外,当 SQL Server 实例在 Windows 98 上运行时,必须使用 SQL Server 身份验证,因为在 Windows 98 上不支持 Windows 身份验证模式。因此,SQL Server 在 Windows 98 上运行时使用混合模式(但只支持 SQL Server 身份验证)。
应用程序开发人员和数据库用户也许更喜欢 SQL Server 身份验证,因为他们熟悉登录和密码功能。对于连接到 Windows NT 4.0 和 Windows 2000 客户端以外的其它客户端,可能也必须使用 SQL Server 身份验证。
Windows 身份验证模式是 SQL Server 2000 中的默认身份验证模式。在 Windows 身份验证模式下,SQL Server 2000 仅依赖用户的 Windows 身份验证。然后,授予 Windows 用户或组对 SQL Server 的访问权限。使用此模式与服务器建立的连接称为信任连接。
当使用 Windows 身份验证模式时,数据库管理员通过授予用户登录 SQL Server 2000 的权限来允许他们访问运行 SQL Server 的计算机。Windows 安全标识符 (SID) 用于跟踪已经过 Windows 验证的登录。使用 Windows SID,数据库管理员可以直接授予 Windows 用户或组登录权限。
混合模式
在混合模式下,可以使用 Windows 身份验证或 SQL Server 身份验证对用户进行验证。SQL Server 负责维护经过 SQL Server 身份验证的用户的用户名和密码对。
如果客户端和服务器能够使用 NTLM 或 Kerberos 登录身份验证协议,则以混合模式连接的 SQL Server 就像使用 Windows 身份验证模式一样,也依赖 Windows 来验证用户身份。如果客户端无法使用标准 Windows 登录,则 SQL Server 要求提供用户名和密码对,并将其与存储在系统表中的用户名和密码对进行比较。依赖用户名和密码对的连接称为非信任连接或 SQL 连接。