如何设置一个用户可以看用户定义的存储过程并执行,但是不可以看到用户定义的表,谢谢

解决方案 »

  1.   

    详情参见联机帮助——GRANTGRANT  
    在安全系统中创建项目,使当前数据库中的用户得以处理当前数据库中的数据或执行特定的  Transact-SQL  语句。  
     
    语法  
    语句权限:  
     
    GRANT  {  ALL    ¦  statement  [  ,...n  ]  }    
    TO  security_account  [  ,...n  ]    
     
    对象权限:  
     
    GRANT  
           {  ALL  [  PRIVILEGES  ]    ¦  permission  [  ,...n  ]  }  
           {    
                   [  (  column  [  ,...n  ]  )  ]  ON  {  table    ¦  view  }  
                     ¦  ON  {  table    ¦  view  }  [  (  column  [  ,...n  ]  )  ]  
                     ¦  ON  {  stored_procedure    ¦  extended_procedure  }  
                     ¦  ON  {  user_defined_function  }  
           }    
    TO  security_account  [  ,...n  ]    
    [  WITH  GRANT  OPTION  ]    
    [  AS  {  group    ¦  role  }  ]    
      

  2.   

    GRANT  {  ALL      statement  [  ,...n  ]  }    
    TO  security_account  [  ,...n  ]    
     
    对象权限:  
     
    GRANT  
           {  ALL  [  PRIVILEGES  ]      permission  [  ,...n  ]  }  
           {    
                   [  (  column  [  ,...n  ]  )  ]  ON  {  table      view  }  
                       ON  {  table      view  }  [  (  column  [  ,...n  ]  )  ]  
                       ON  {  stored_procedure      extended_procedure  }  
                       ON  {  user_defined_function  }  
           }    
    TO  security_account  [  ,...n  ]    
    [  WITH  GRANT  OPTION  ]    
    [  AS  {  group      role  }  ]
      

  3.   

    可以写个具体的sql语句么,谢谢了