搞不清SQL SERVER 2005 中的用户

2016-02-19 13:49 2 1 收藏

下面,图老师小编带您去了解一下搞不清SQL SERVER 2005 中的用户,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

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

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  注意这里的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

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

  创建一个User

CREATE USER Pumpkin FROM LOGIN Pumpkin

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

来源:http://www.tulaoshi.com/n/20160219/1605343.html

延伸阅读
数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法。 将下面的SQL语句放在两个不同的连接里面,并且在5秒内同时执行,将会发生死锁。 use Northwind begin tran insert into Orders(CustomerId) values(@#ALFKI@#) waitfor delay @#00:00:...
tempdb数据库是SQL Server用于临时或者开关操作的数据库。对tempdb所做的很多优化都是在透明的情况下,让处理加速,本文就介绍tempdb对SQL Server 2005的影响以帮助大家利用这些来写出更好的、更先进的SQL Server 2005代码。 SQL Server 2005版本中的所有变化可以写成一本书,事实上,已经被写成了好几本书。其中,最重要的变化不是功...
SQL Server 数据平台 SQL Server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。SQL Server 2005 为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的...
PIVOT和UNPIVOT关系运算符是SQL Server 2005提供的新增功能,因此,对升级到SQL Server 2005的数据库使用PIVOT和UNPIVOT时,数据库的兼容级别必须设置为90(可以使用sp_dbcmptlevel存储过程设置兼容级别)。 在查询的FROM子句中使用PIVOT和UNPIVOT,可以对一个输入表值表达式执行某种操作,以获得另一种形式的表。PIVOT运算符将输入表...
本文介绍了表分区的概念以及SQL Server 2005支持表分区,允许所有的表分区都保存在同一台服务器上。每一个表分区都和在某个文件组(filegroup)中的单个文件关联。同样的一个文件/文件组可以容纳多个分区表。同时,还通过一个简单的例子来了解表分区是如何发挥作用的。 数据库性能调优是每一个优秀SQL Server管理员最终的责任。虽然保证...

经验教程

291

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部