如何检查Microsoft SQL Server中同义词的权限?

时间:2015-01-13 11:46:38

标签: sql-server synonym

我想从数据库A中的触发器更新数据库B中的表。数据库A中的触发器是通过不同的用户帐户触发的,这些帐户可能有也可能没有数据库B的权限。它对用户来说很好用拥有数据库B的许可。

但是,当在用户帐户下触发触发器时,它会抛出异常,因为用户没有对同义词引用的对象的权限。有没有办法检查同义词引用的对象的权限,以便在用户没有权限时我可以避免异常?

1 个答案:

答案 0 :(得分:1)

最后,我在文档中找到了它。下面的查询就行了。

IF (SELECT HAS_PERMS_BY_NAME('ams.syn_bkgsvcattribute', 'OBJECT', 'INSERT'))>0
  print 'yes'
else
  print 'no'