`

浅谈SQL Server 2005中两种用户认证方式

阅读更多

 笔者一直对SQL Server 2005里的用户的概念不是很清楚,如果你和我当初一样,认为下面的两个用户是一个概念,那就有必要点上一根烟,喝上一品茶,细细品味一下这之间的不同了。

  左边的图标出了一个可以访问AdventureWorks数据库的用户,而右边的图则标出了整个数据库服务器所有的“用户”。

  大家知道,SQL Server 2005有两种用户的认证方式: Windows和Windows与SQL的混合认证。 对于Windows认证大家应该比较熟悉, 在这里不多说了。 只强调一点,如果能用Windows认证就尽量用,因为相对SQL认证,Windows认证还是会更安全一些。所以它也是SQL SERVER 2005的默认方式。下面主要是谈一下SQL认证中用户的一些问题。

  当采用SQL认证进行开发的时候,我们经常会准备一个数据库连接串:

  Data Source=ServerName; Initial Catalog=DatabaseName; User ID=Pumpkin; Password=!@#$%^&*

  注意这里的Pumpkin,以前我一直都以为这就是SQL SERVER里的用户,但是通过搞一搞之后才发现并非如此。 数据库连接串里的Pumpkin,在SQL SERVER里严格的说,应该叫Login,其实它是一个登录帐号,并不是数据库里用来访问表和操作数据的一个用户。即右图中的Pumpkin。它在数据 服务器的Security"Logins的结点下,这里面列出来的是所有的登录帐号。它们的作用就是用来连接数据库并通过验证。

  有了这个帐号之后,其实我们除了登录进来之外,其它还是什么都做不了。如果想要访问数据库服务器中的某个数据库的数据,还要建立一个USER并给它一个访问数据表的权限。而这个用户则是左图中的那个Pumpkin。

  请注意,我们刚看出了关键的问题所在:访问表的用户其实必须是USER Pumpkin,不是那个LOGIN Pumpkin。所以说,在SQL SERVER 2005中,如果要访问某张表,那首先需要建立一个USER,并赋给它访问的权限。同时,要注意USER与LOGIN的关系是一对一的,即某个USER 在一定时间内只对应着唯一一个LOGIN。

  如果大家还是很困惑,那就来看一看如何时用SQL语句来创建这些用户的:

  ◆创建一个Login

  CodeCREATE LOGIN Pumpkin WITH PASSWORD=’!@#$%^&’

  ◆创建一个User

  CodeCREATE USER Pumpkin FROM LOGIN Pumpkin

  从SQL中应该可以看得很清楚,用户其实基于登录帐号创建的。我们双击右图的Pumpkin,就可以看到它们的关系了。

分享到:
评论

相关推荐

    070-浅谈SQL Server从DBO用户提权到DBA的两种思路.pdf

    070-浅谈SQL Server从DBO用户提权到DBA的两种思路.pdf

    浅谈Delphi与SQL Server 2000数据库

    余志超,吕建强 (黄冈师范学院计算机学院,湖北黄冈438000) ...Delphi下,介绍了Delphi中连接SQL Server 2000数据库的两种主要方式:BDE引擎和ADO技术,并以信息管理系统为例, 详细阐述了这两种方法的实现过程。

    浅谈SQLServer中的三种物理连接操作

    在SQLServer中,我们所常见的表与表之间的InnerJoin,OuterJoin都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为LoopJoin,MergeJoin,HashJoin这三种物理连接中的一种。理解这三种物理连接是...

    浅谈ADO、BDE与SQL server 2000数据库连接方法

    这是一份文献综述,讲的是关于ADO、BDE这两种连接数据库方法的比较。

    详解SQL Server中的事务与锁问题

    一 概述 在数据库方面,对于非DBA的程序员来说,事务与锁是一大难点,...事务:指封装且执行单个或多个操作的单个工作单元,在SqlServer中,其定义表现为显示定义和隐式定义两种方式。  基于如上的定义,我们可以将

    浅谈SQL语句的执行过程

    写在前面的话:有时不理解SQL语句各个部分执行顺序,导致理解上...  这条SQL语句是否可以有下面两种理解呢  (1)先从Student表中选出age>20的数据,然后从这些数据中选择前面的10条数据。  (2)先从Student表

    浅谈数据库系统优化.docx

    浅谈数据库系统优化 概要:数据库系统的优化可以有效提高系统的性能,微软的SQL Server数据库的优化是一个系统工程,需要从设计开始就进入优化程序。 数据库的性能的优化成了数据处理的一个很重要环节。系统的性能...

    asp.net知识库

    在Framework1.0下同时连接SqlServer和Oracle的一些体会 XML XPath XPath最通俗的教程(ZZ) XPath中相对路径和绝对路径 XPath 简单语法 Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个...

Global site tag (gtag.js) - Google Analytics