SQL SERVER2000的身份验证模式(zz)

来源:互联网 发布:仙侠世界2人物数据 编辑:程序博客网 时间:2024/05/21 17:39

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 中任何受支持的网络协议上运行。



说明 如果用户试图通过提供空白登录名称连接到 SQL Server 的实例,SQL Server 将使用 Windows 身份验证。此外,如果用户试图使用特定的登录连接到配置为 Windows 身份验证模式的 SQL Server 实例,则将忽略该登录并使用 Windows 身份验证。




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

 

实战:

--添加SQL用户  
   
  确定你的SQL采用什么身份验证方式?  
   
  查看方法:  
  企业管理器--右键SQL实例--属性--安全性--身份验证  
  (注册表中:  
  HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/LoginMode  
  为1,则是:仅windows身份验证  
  为2,则是:sql   server和windows  
  )  
   
  如果是"sql   server和windows",就直接用:  
  企业管理器--SQL实例--安全性--右键登录--新建登录  
      --[常规]项,"名称"中输入用户名  
      --"身份验证"选择"sql   server身份验证",输入该用户的密码  
      --确定,再次输入密码  
   
   
   
  如果是"仅windows",就用:  
  我的电脑--控制面板--管理工具--计算机管理--用户和组--右键用户--新建用户--建立一个登陆windows的用户  
   
  然后:  
  企业管理器--SQL实例--安全性--右键登录--新建登录  
      --[常规]项,点"名称"后的"..."按纽,选择上面建立的用户  
      --"身份验证"选择"windows身份验证"  
      --"域"选择用户所在的域  
      --"安全性访问"选择"允许访问"  
      --确定  
   
  最后:  
  注销windows,用你新建的用户登陆操作系统.  
  然后查询分析器登陆SQL,连接时的身份验证选择"windows身份验证"  
  这时登陆的用户就是新建的用户了.  
   
   
  --登陆说明:  
   
  身份验证方式为"sql   server和windows"时,可登陆的用户为SQL的用户和在SQL中注册的windows用户.  
  连接时,需要输入合法的用户名和密码.  
   
  身份验证方式为"仅windows"时,可登陆的用户仅为在SQL中注册的windows用户.  
  连接SQL时,以登陆操作系统输入的用户为登陆sql的用户,不需要再次输入用户名和密码  
   
   
   
  -----   ADO连接SQL   Server的数据库连接字符串模板   ----------  
   
  身份验证模式为:"sql   server和windows"  
  Provider=SQLOLEDB.1;Persist   Security   Info=True;User   ID=用户名;Password=密码;Initial   Catalog=数据库名;Data   Source=SQL服务器名  
   
  身份验证模式为:"仅windows"  
  Provider=SQLOLEDB.1;Integrated   Security=SSPI;Persist   Security   Info=False;Initial   Catalog=数据库名;Data   Source=SQL服务器名   

 

原创粉丝点击