1.创建新登录名,给予权限不成功

exec sp_addlogin 'FlightUser','123','FlightDB'
---创建登录名
grant select,insert,delete,update on spb to FlightUser
grant select on ckb to FlightUser
grant select on hbb to FlightUser
----给予权限

运行上述代码得到如下报错:

这个时候是因为没有将登录名,用户与数据库连接起来,加上一句:

Use FlightDB
go
sp_change_users_login 'update_one', 'FlightUser', 'FlightUser'

将三者连接起来,即可正常运行

2.登录时出现登录的错误

类似于这样,大概说是管道的另一端无进程
解决方案:

  1. 打开SQL Server 配置管理器

  1. 点击SQL Server 网络配置,点击MSSQLSERVER的协议

  1. 将NamedPipes 和 TCP/IP 改成启用

  1. 重启电脑,再打开SQL Server Manage Studio就可以了

3.设置权限的语句执行了但没有用

仅设置了select权限,但还是可以对表进行其它的操作而不报错,具体为什么会出现这种情况。
呃。。。。鄙人也没有找到什么改设置的方法,可以反其道而行之,仅给select权限,即是不给update,delete和insert权限。反向操作,使用deny语句。

grant select,insert,delete,update on spb to FlightUser
deny update,insert,delete on ckb to FlightUser
deny update,insert,delete on hbb to FlightUser

4.其它若干杂项问题

以下的一些问题可能不是必要的操作,但失败之后可以试一试。

在新建登录名之后
1. 点击属性

  1. 点击服务器角色,并将sysadmin选中

  1. 点击用户映射,将FlightDB勾上,并将下面的db_owner勾上

  1. 点击确定

最后注意,验证是否设置成功时,要以新建登录名的用户之下新建查询

即红线所标之处为新建登录名,而非windows本地机器名。

大概遇到的问题就是这些。。。

分类: 杂项集

0 条评论

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注