English 中文(简体)
选择权限被拒绝在对象上。
原标题:
  • 时间:2008-12-05 06:55:56
  •  标签:

如果在 SqlServer 中创建了自定义角色,并将其添加到 db__denydatareader 和 db__denydatawriter 角色中。然后,我通过数据库并授予所有必要存储过程的执行权限。

一切运作正常,调用那些sps也会很好地运行。唯一的例外是一个使用sp_executesql执行动态SQL的存储过程。这会导致失败。

The SELECT permission was denied on the object  listing_counter , database  Cannla , schema  dbo .

有没有办法授予角色权限来运行此查询,而不给它访问基础表的选择权限?

我想做的是在特定情况下授予sys.sp_executesql的执行权限。

最佳回答

You can create a new user just for your stored procedure that uses execute_sql, grant him the requires rights and then add to the procedure definition WITH EXECUTE AS MyUser . See MSDN.

问题回答

使用以下语句来实现。这对我起作用了。

sp_addlinkedserver [ @server= ] server [ , [ @srvproduct= ] product_name ] [ , [ @provider= ] provider_name ]

 [ , [ @datasrc= ]  data_source  ] 
 [ , [ @location= ]  location  ] 
 [ , [ @provstr= ]  provider_string  ] 
 [ , [ @catalog= ]  catalog  ] 




相关问题
热门标签