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.登录时出现登录的错误
类似于这样,大概说是管道的另一端无进程
解决方案:
- 打开SQL Server 配置管理器
- 点击SQL Server 网络配置,点击MSSQLSERVER的协议
- 将NamedPipes 和 TCP/IP 改成启用
- 重启电脑,再打开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. 点击属性
- 点击服务器角色,并将sysadmin选中
- 点击用户映射,将FlightDB勾上,并将下面的db_owner勾上
- 点击确定
最后注意,验证是否设置成功时,要以新建登录名的用户之下新建查询
即红线所标之处为新建登录名,而非windows本地机器名。
大概遇到的问题就是这些。。。
0 条评论