如何检查我的用户是否具有 CREATE SCHEMA 权限?

kil*_*nen 2 sql-server ssms sql-server-2012

我在可以创建表和存储过程的数据库中有一个用户帐户。

我想确认此用户帐户是否可以创建模式 -无需先尝试。(我是金融的一部分,而不是 IT。)

如果我可以创建模式,那么我会请求 IT 许可继续这样做。

如果我不能,那么我将继续等待 IT 在我前段时间提出的服务台请求上执行此操作(叹气)。

有没有我可以在 SSMS 中运行的命令,它可以在不实际创建新模式的情况下告诉我这一点?

我还截取了该用户权限的几个屏幕截图 - 也许他们会有答案?

数据库权限 1

数据库权限 2

编辑:

运行下面 SQLServing 建议的 SQL 后,我得到了这个结果:

UserName    is_disabled principal_type_desc class_desc  object_name permission_name permission_state_desc
DWReports   0   SQL_USER    DATABASE    NULL    CONNECT GRANT
DWReports   0   SQL_USER    OBJECT_OR_COLUMN    GetSystemSQLAgentJobList    EXECUTE GRANT
Run Code Online (Sandbox Code Playgroud)

sep*_*pic 5

在我看来,我将无法创建此架构,对吗?

不,这是错误的。您可以在数据库中创建您想要的所有内容,因为您是db_owner. 您可以在查看您拥有会员资格的第一张照片时看到它。

上面答案中的错误是它只考虑为给定用户明确授予的权限。但是用户可能是1000个角色的成员,可以给这些角色赋予权限。

在您的情况下,您是db_owner对数据库具有控制权的固定数据库角色的成员,因此您可以在数据库中执行任何操作。

要查看您在数据库中的有效权限,请执行以下操作:

select * from sys.fn_my_permissions(null, 'database');
Run Code Online (Sandbox Code Playgroud)