如果你一直对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; mailto_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
CREATE LOGIN Pumpkin WITH PASSWORD=’!@#$%^&’
·创建一个User
CREATE USER Pumpkin FROM LOGIN Pumpkin
从SQL中应该可以看得很清楚,用户其实基于登录帐号创建的。我们双击左图的Pumpkin,就可以看到它们的关系了。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
SQL Server 2005支持服务结束 升级何去何从
SQL Server 2005的支持就要结束了,就在2016年4月12日,SQL Server 2005的客户们应该升级了。
-
SQL Server 2005即将终止服务 你准备好了么?
2016年4月12日,微软将正式终止SQL Server 2005相关服务。微软正在终止扩展支持,这意味着不再有新特性更新,什么都没了。
-
解决SQL服务器提示属性IsLocked不可用于登录用户的错误
在SQL Server中,权限的分配很重要。特别是在用户数量众多的数据库里面,用户权限,架构的划分经常会导致权限之间的冲突,导致无法登陆。
-
TT数据库特别推荐:SQL Server编年史
无论是菜鸟还是资深DBA,除了要掌握基本的数据库管理、操作之外,还需要对不同产品的发展历史有一个了解。