请教高手!急!

Fallen_ysp 2003-08-07 01:37:52
是不是往一个角色里添加一个用户,这个用户就具有这个角色所具有的权限呢?还要什么操作吗?用transql怎么写!
还有就是,能不能把一个数据库中的所有用户表的select,insert,delete权限授予一个用户,用transql怎么写!
...全文
18 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fallen_ysp 2003-08-08
  • 打赏
  • 举报
回复
up一下
txlicenhe 2003-08-08
  • 打赏
  • 举报
回复
只对其中的一些表进行操作?
好象只能通过前台程序来控制了。
Fallen_ysp 2003-08-07
  • 打赏
  • 举报
回复
db_owner权限大了点!前面我的意思没说清楚!
假设在数据库test里,我自己建了很多表,假设是t1,t2。。。。tN,我只想让某个用户testusr只能访问这些表,对其进行select,insert等操作。这样的transql怎么写啊?
pengdali 2003-08-07
  • 打赏
  • 举报
回复
就是加了 db_owner 角色
pengdali 2003-08-07
  • 打赏
  • 举报
回复
就是加了 db_owner 角色
Fallen_ysp 2003-08-07
  • 打赏
  • 举报
回复
不好意思,小弟比较菜,能讲一下第四个是如何实现的吗?看不太懂!
txlicenhe 2003-08-07
  • 打赏
  • 举报
回复
1:是
2:
execute sp_addlogin 'test','1234','Northwind',null
execute sp_addgroup 'testgroup'
execute sp_adduser 'test','test','testgroup'
3:
grant update,insert
on customers to testgroup
4:
EXEC master..sp_addlogin 'SQL_Debuger', 'Debugger','Database'
use [Database]
EXEC sp_adduser 'SQL_Debuger','SQL_Debuger','db_owner'
CrazyFor 2003-08-07
  • 打赏
  • 举报
回复

Transact-SQL 参考


sp_addrolemember
将安全帐户作为当前数据库中现有 Microsoft® SQL Server™ 数据库角色的成员进行添加。

语法
sp_addrolemember [ @rolename = ] 'role' ,
[ @membername = ] 'security_account'

参数
[@rolename =] 'role'

当前数据库中 SQL Server 角色的名称。role 的数据类型为 sysname,没有默认值。

[@membername =] 'security_account'

添加到角色的安全帐户。security_account 的数据类型为 sysname,没有默认值。security_account 可以是所有有效的 SQL Server 用户、SQL Server 角色或是所有已授权访问当前数据库的 Microsoft Windows NT® 用户或组。当添加 Windows NT 用户或组时,请指定在数据库中用来识别该 Windows NT 用户或组的名称(使用 sp_grantdbaccess 添加)。

返回代码值
0(成功)或 1(失败)

注释
当使用 sp_addrolemember 将安全帐户添加到角色时,新成员将继承所有应用到角色的权限。

在添加 SQL Server 角色,使其成为另一个 SQL Server 角色的成员时,不能创建循环角色。例如,如果 YourRole 已经是 MyRole 的成员,就不能将 MyRole 添加成为 YourRole 的成员。此外,也不能将固定数据库或固定服务器角色,或者 dbo 添加到其他角色。例如,不能将 db_owner 固定数据库角色添加成为用户定义的角色 YourRole 的成员。

只能使用 sp_addrolemember 将成员添加到 SQL Server 角色。使用 sp_addsrvrolemember 将成员添加到固定服务器角色。在 SQL Server 中,将成员添加到 Windows NT® 组是不可能的。

在用户定义的事务中不能使用 sp_addrolemember。

权限
只有 sysadmin 固定服务器角色和 db_owner 固定数据库角色中的成员可以执行 sp_addrolemember,以将成员添加到固定数据库角色。角色所有者可以执行 sp_addrolemember,将成员添加到自己所拥有的任何 SQL Server 角色。db_securityadmin 固定数据库角色的成员可以将用户添加到任何用户定义的角色。

示例
A. 添加 Windows NT 用户
下面的示例将 Windows NT 用户 Corporate\JeffL 添加到 Sales 数据库,使其成为用户 Jeff。然后,再将 Jeff 添加到 Sales 数据库的 Sales_Managers 角色中。



说明 由于 Corporate\JeffL 在 Sales 数据库中被当作是用户 Jeff,所以必须使用 sp_addrolemember 来指定用户名 Jeff。


USE Sales
GO
EXEC sp_grantdbaccess 'Corporate\JeffL', 'Jeff'
GO
EXEC sp_addrolemember 'Sales_Managers', 'Jeff'

B. 添加 SQL Server 用户
下面的示例将 SQL Server 用户 Michael 添加到当前数据库中的 Engineering 角色。

EXEC sp_addrolemember 'Engineering', 'Michael'


请参见

将成员添加到 SQL Server 数据库角色

sp_addsrvrolemember

sp_droprolemember

sp_grantdbaccess

系统存储过程

©1988-2000 Microsoft Corporation。保留所有权利。
pengdali 2003-08-07
  • 打赏
  • 举报
回复
是不是往一个角色里添加一个用户,这个用户就具有这个角色所具有的权限呢?



还要什么操作吗?

不需要

用transql怎么写!

--Create a login account for the 'test' user
execute sp_addlogin 'test','1234','Northwind',null
go
--Create a group
execute sp_addgroup 'testgroup'
go
--Add the test user to Database
execute sp_adduser 'test','test','testgroup'
go
grant update,insert
on customers -- YOU CAN DEFINED WHICH TABLE YOU WANT GRANT TO TEST USER
to testgroup

还有就是,能不能把一个数据库中的所有用户表的select,insert,delete权限授予一个用户,用transql怎么写!

EXEC master..sp_addlogin 'SQL_Debuger', 'Debugger','Database'
use [Database]
EXEC sp_adduser 'SQL_Debuger','SQL_Debuger','db_owner'

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧