SQL Server的GRANT,REVOKE权限用户 [英] sql server grant, revoke permission to a user
问题描述
我写了一个简单的C#code连接到SQL服务器数据库,并执行一个查询:
I wrote a simple c# code that connect to sql-server database and execute a query:
cmd = new SqlCommand(txtQuery.Text.ToString().Trim(), con);
cmd.ExecuteNonQuery();
-
在我的分贝我有一个名为myTB表。我有两个用户也:USER1(所有者),用户2(新用户创建的)
in my db I have a table named myTB. I have two users too: user1(owner), user2(new user created)
我的登录(连接到DB)与用户2 的用户名和密码!
I logged in (connected to DB) with user2's username and password !
我可以访问通过USER1与查询波纹管创建的表:
I can access the tables that created by user1 with the query bellow:
SELECT * FROM user1.myTB
(我不知道为什么我得到的错误与此查询:从myTB选择*,现在忘了)
(I don't know why I get error with this query:"select * from myTB", forget it now!)
现在我想撤销选择,从用户2权限。我的意思是我不希望用户2执行 select查询标签上是由用户1创建myTB表。
Now I wanna REVOKE 'select' permission from user2. I mean I don't want user2 to execute the select query on myTB table which is created by user1.
我应该做的是,我卡上有一个问题! 我用这个查询,但什么都没有改变!
what should I do is a problem that I'm stuck on it ! I used this query, but nothing changed !
Q1:撤销选择On user1.myTB从用户2
Q1: "Revoke select ON user1.myTB FROM user2"
再次user2的可以做选择*从user1.myTB!为什么!?
again user2 can do select * from user1.myTB !!! WHY !?
请帮助我。 谢谢。
推荐答案
用户2可能得到它的权限从角色成员。
user2 is probably getting it's permissions from a role membership.
运行:
use [<YourDatabase>] GO exec sp_helpuser
发现在第一列中的用户,然后看第二列。是用户的
的db_datareader的成员
或的db_owner
?如果是这样,你可以撤销会员资格,譬如说的db_datareader,这样做:
If so, you can revoke membership, say for db_datareader, by doing:
exec sp_droprolemember 'db_datareader', 'user2' GO
这篇关于SQL Server的GRANT,REVOKE权限用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!