use [DBName]
GO
REVOKE EXECUTE TO [UserName]
GO

解决方案 »

  1.   

    别给这个用户dbo的权限,只给db_datareader和db_datawriter权限就行了。
      

  2.   

    哦 知道了 扩展存储过程不能用revoke 要用sp_dropextendedproc 而且将全局失效 
    谢谢大家!
      

  3.   


    这样也不行sp_addlogin 'newLogin'
    go
    sp_adduser 'newLogin'
    go
    sp_addrolemember 'db_datareader','newLogin'
    go
    sp_addrolemember 'db_datawriter','newLogin'
    go
    sp_password null,'123','newLogin'
    go然后exec sp_executesql N'select * from ipforbid'仍然能执行
      

  4.   


    妈的我是楼主  CSDN不让回复 老说我刷楼 ~~穿个马甲嗯 这个可行  刚才没把新建的登录加到Master登录表中所以去除权限的操作不成功 
    需要注意的是要以sa用户登录 并在要先在限制sp_executesql的数据库中创建登录用户use testDb
    go
    sp_addlogin 'newLogin3'
    go
    sp_adduser 'newLogin3'
    go
    sp_addrolemember 'db_datareader','newLogin3'
    go
    sp_addrolemember 'db_datawriter','newLogin3'
    go
    sp_password null,'123','newLogin3'
    go
    use master
    go
    sp_adduser 'newLogin3'
    go
    revoke execute on sp_executesql from newLogin3
    go再用newLogin重新登录testDb 验证可行 再次对各位表示感谢
      

  5.   

    use testDb 
    go 
    sp_addlogin 'newLogin3' 
    go 
    sp_adduser 'newLogin3' 
    go 
    sp_addrolemember 'db_datareader','newLogin3' 
    go 
    sp_addrolemember 'db_datawriter','newLogin3' 
    go 
    sp_password null,'123','newLogin3' 
    go 
    use master 
    go 
    sp_adduser 'newLogin3' 
    go 
    revoke execute on sp_executesql from newLogin3 
    go 人不多呀 结帖喽
      

  6.   

    企业管理器里好像有设置吧,
    选中数据库,用户,右键,权限设置,那里的EXEC都打XXX就好了呀