SQL Server身份验证模式及用户权限

今天做数据库实验,主要就是用户授权及回收授权的问题。

很快就遇到问题了,因为对user1授权后允许其对user2授权。可是我就是登录不了user1。后来使用了经常被河蟹的google来google了好一会,终于找到了解决办法。顺便把我新建用户所遇到的曲折也说一下,新手如我遇到这种情况应该也是可以原谅的。

因为以前没摆弄过SQL Server,而老师给出实验要求中的提示是针对2000的,而我用的是沿自2005的SQL Server 2008,所以情况很不一样。

如果在这里遇到问题,可以看下这个帖子;而以下的图则是我的一些体会,这里需要注意“用户名”和“登录名”之间的映射关系。

首先,需要在服务器安全性中的登录名中右键来选择新建登录名:

新建登录名

接着输入欲设置的登录名,选择SQL Server身份验证,设置密码(我试过没设密码,结果可以连接,可是看不到数据库),选择默认数据库,别的选择看自己需要;至于“服务器角色”等别的选项卡中的选项,一般默认即可。

新建登录2

然后在想要添加用户的数据库中选择“安全性”中的“用户”来新建用户

新建用户

填入用户名,选择对应的登录名即可

新建用户2

建好用户名和登录名后不要急着马上去连接,对于2005和2008还有一点东西需要设置一下的。因为刚才新建的登录名是使用SQL Server模式的,所以需要支持SQL Server登录模式,而安装时默认使用的是Windows登录模式,如果当初没有选择混合模式,则需要更改一下。

我是在这里找到需要更改模式和之后遇到的一些问题的,以下是图示

在服务器属性中的“安全性”中选择“SQL Server和Windows身份验证模式”。

服务器属性
选择混合模式

这里提示需要重启服务器,注意一下的是:是将其服务重启,是重启而不是停止然后开启。可以直接点击按钮或使用菜单。重启服务后,最好先关闭Management Studio再开启,因为我没关闭直接连提示已有一个instance。

重启服务

这下可以用新用户登录了

新用户登录

如果已有用户登录,若想登录新用户,那么也不需要先断开连接,可以同时存在多个用户连接到数据库。可以直接点击连接按钮来新建连接或从菜单栏打开。

新建连接

关于命令查看用户的所有权限,可以查看这里
我使用了其所说的

exec sp_helprotect @username = 'user name'

1条评论

评论已关闭。