zoukankan      html  css  js  c++  java
  • SQL server的两种验证模式:NT验证模式和混合安全模式(转载)

          当用户使用Query analyzer登陆到sql server时,系统将提示用户提供登陆名和口令。缺省情况下,登陆名SA。口令为空。用户登陆到sql server后,可以访问服务器上的每一个数据库。一般只有一个数据库被设置为登陆名的缺省数据库,当Query analyzer启动后,该数据库自动使用。
          在NT验证模式下登陆,sql server检测当前使用的NT用户帐号,并在syslogins表中查找该用户,以确定用户是否有权限登陆,这种方式用户不必提供密码或登陆名让sql server验证。其实,sql server是从RPC连接中自动获得登陆过程的NT用户信息,即用户必须使用RPC连接登陆才能进行sql server的NT验证。
          混合安全模式:这是常用的模式,因为它允许以sql server验证方式或NT验证方式来进行连接,这种模式可以更好的适应各种用户的环境,也是我们可以进入对方数据库的入口。如果我们使用TCP/IP Sockets进行登陆验证,sql server将使用sql server验证模式,如果使用命名管道,sql server将使用NT验证模式。那么,sql server 的验证模式怎么处理登陆名的登陆呢?首先,在syslogins表中检测输入的登陆名和密码,如果存在,且密码正确,则可以登陆。这种模式下我们必须提供登陆名和密码来让sql server检验。当然!我们现在已经知道了他的USERID和PWD,嘿嘿!

     

    SQL server 的验证模式和NT注册表

          验证模式的设置保存在NT注册表的HKEY_LOCAL_MACHINE\software\microsoft\MSSQLServer\MSSQLServer中的loginmode中,如果该键值为0,则使用混合安全模式,为1,则使用NT验证模式。缺省为0。
    这也是为什么大多数主机我们可以顺利连接的原因。

     

    了解了登陆的基本过程,下面我来说说sql server远程连接的步骤:

          首先,ping 他的域名得到 IP,在client network utility中添加一个TCP/IP型的server alias,注意不要改变端口号,用默认的就可以。
          然后在sql server组中添加一个新的主机,把IP地址、SA和PWD填入就可以了。
          值得注意的问题是,只有取得了SA即管理员权限的才可以对整个数据库进行操作,只有一个表的密码是不行的,肯定连接失败。
          在SQL server中,是可以设置禁止远程连接的。方法如下:
          在SQL server管理中设置属性,点连接,把allow other sql servers to connect前的勾去掉就可以了。
          另外,如果sql server的版本不同有时侯也会造成连接失

  • 相关阅读:
    hdu2112 HDU Today 基础最短路
    HDU 4597 Play Game(记忆化搜索,深搜)
    HDU 4496 D-City(并查集,逆思维)
    集训心情记录,,,,(2014.6.20-6.29)
    ZOJ 1115 Digital Roots(简单,字符串与数)
    ZOJ 2971 Give Me the Number;ZOJ 2311 Inglish-Number Translator (字符处理,防空行,strstr)
    HDU 3623 Best Cow Line, Gold(模拟,注意思路,简单)
    poj 3903 Stock Exchange(最长上升子序列,模版题)
    POJ 3253 Fence Repair(优先队列,哈夫曼树,模拟)
    hdu 2571 命运(递推,请小心)
  • 原文地址:https://www.cnblogs.com/ViviChan/p/4981720.html
Copyright © 2011-2022 走看看