Sean Howat Asked: 2010-03-26 06:33:12 +0800 CST2010-03-26 06:33:12 +0800 CST 2010-03-26 06:33:12 +0800 CST 授予的权限存储在 SQL Server 中的什么位置? 772 当用户使用 GRANT 函数被授予对 SQL Server 中某些内容的权限时,它记录在哪里? sql-server permissions 3 个回答 Voted Remus Rusanu 2010-03-26T15:30:35+08:002010-03-26T15:30:35+08:00 服务器级权限存储在通过sys.server_premissions目录视图公开的内部表中。 数据库级权限存储在通过sys.database_permissions目录视图公开的内部表中。 会话可以通过查询内置的fn_my_permissions表函数来检查其权限。 要验证会话是否具有特定权限,请使用HAS_PERMS_BY_NAME函数。 Best Answer Satanicpuppy 2010-03-26T07:34:55+08:002010-03-26T07:34:55+08:00 试试这些: 在“主”数据库中: sys.syslogins sys.sysusers sys.sql_logins 我认为 INFORMATION_SCHEMA.TABLE_PRIVILEGES 只是允许授予什么以及由谁授予的列表。 有一张sys.syspermissions桌子,但看起来非常难看,我不完全确定它在存储什么。 编辑:以上都不是。相反,它是恰当命名的 sys.database_permissions 表。现在我觉得自己很愚蠢。 wbogacz 2010-03-26T07:29:08+08:002010-03-26T07:29:08+08:00 我会先查看主数据库。试试 INFORMATION_SCHEMA.TABLE_PRIVILEGES。
服务器级权限存储在通过sys.server_premissions目录视图公开的内部表中。
数据库级权限存储在通过sys.database_permissions目录视图公开的内部表中。
会话可以通过查询内置的fn_my_permissions表函数来检查其权限。
要验证会话是否具有特定权限,请使用HAS_PERMS_BY_NAME函数。
试试这些:
在“主”数据库中:
我认为 INFORMATION_SCHEMA.TABLE_PRIVILEGES 只是允许授予什么以及由谁授予的列表。
有一张
sys.syspermissions
桌子,但看起来非常难看,我不完全确定它在存储什么。编辑:以上都不是。相反,它是恰当命名的
sys.database_permissions
表。现在我觉得自己很愚蠢。我会先查看主数据库。试试 INFORMATION_SCHEMA.TABLE_PRIVILEGES。