[面试题]SQL Server 2K 的Windows身份验证和SQL Server身份验证?

sskset 2007-01-09 05:42:45
1 为什么要采用这两种验证方式?
2 这两种验证方式有什么不同?
3 这两种验证方式的实现方式?
4 什么情况下采用第Windows身份验证?
5 什么情况下采用SQL Server身份验证?
...全文
903 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sskset 2007-01-10
  • 打赏
  • 举报
回复
面试问这种问题真是无语
tmc1703 2007-01-10
  • 打赏
  • 举报
回复
面试问这种问题真是够讨厌的
charlie1205 2007-01-09
  • 打赏
  • 举报
回复
http://charlie1205.blog.163.com/blog/static/2253397920070965744967/
fish_yht 2007-01-09
  • 打赏
  • 举报
回复
从来没研究过呢
不过个人感觉
1.应该出于安全考虑,但不想让人知道计算机密码的时候必要采用SQL身份验证
2.一个是只要能登陆WINDOWS并且可登陆SQL的用户就可以访问,一个是必须提供用户名和密码才能访问。后者用于远程访问,前者大部分用于系统管理员。
3.楼上说了
4.什么情况?管理员登陆的时候大部分用windows,SQL登陆方式大部分提供给程序或者其他需要授权登陆的人员使用。
----------------------------
在平时积累的经验,纯属个人愚见
仅供lz参考
lovcal 2007-01-09
  • 打赏
  • 举报
回复
联机文档上都有,呵呵,比较全
lovcal 2007-01-09
  • 打赏
  • 举报
回复
身份验证模式
Microsoft® SQL Server™ 可以在两种安全(身份验证)模式之一下工作:

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 身份验证。



feixiangVB 2007-01-09
  • 打赏
  • 举报
回复
Windows 身份验证模式

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 连接。

feixiangVB 2007-01-09
  • 打赏
  • 举报
回复
接分
gc_ding 2007-01-09
  • 打赏
  • 举报
回复
3 这两种验证方式的实现方式?
右击服务器-》属性-》安全性-》身份验证-》SQL Server和Windows(混合验证)
右击服务器-》属性-》安全性-》身份验证-》仅Windows
gc_ding 2007-01-09
  • 打赏
  • 举报
回复
1 为什么要采用这两种验证方式?
连接SQL更弹性
2 这两种验证方式有什么不同?
Windows身份验证:需要Windows用户相关权限
SQL Server身份验证:需SQL用户名和密码
mengmou 2007-01-09
  • 打赏
  • 举报
回复
关注

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧