日期:2014-05-17  浏览次数:20479 次

让sa用户禁止修改某一表失败(权限问题)
asp.net页面使用sa用户登录数据库,对某一数据库进DB1的数据库角色为public

然后我想使用
DENY UPDATE ON TB1 TO PUBLIC

来禁止其对表TB1的update动作,但是貌似无效,不知道该怎么办?

谢谢~

------解决方案--------------------
引用:
引用:
除了触发器,貌似没有什么东西可以禁用sa的操作。尝试换一个小一点权限的账号登录。

意思是普通账户授予public权限,然后就可以操作了吧?
如果服务器级别是public,那么这个账号默认只有登录权限,没有任何操作权限,你需要再在数据库级别上授予其他权限,不过你这代码好像没问题啊,我根据你的代码修改了一点点东西:
步骤1:
create login lykme with password='pwd12345231s', default_database=AdventureWorks 
  
create user lykme for login lykme with default_schema=dbo 
  
exec sp_addrolemember 'db_owner', 'lykme'
  
deny update on dbo.C to lykme


步骤2:
我这里随便建了个C表的,执行的确拒绝了