我们有时候需要找到数据库服务器中,哪些用户具有DBA权限,以便于有关安全与权限管理。
通常可以使用以下简单方法可以得到答案:
选择当前数据库, 执行SQL:
选择当前数据库, 执行SQL:
select from dba_role_privs where granted_role='DBA'; 哪些用户有DBA权限
select from dba_role_privs; 当前库中所有用户、角色及相应的权限
注:在输出的结果中,有关usertype字段的含义如下,就可以找到相应的DBA权限的用户了。
D - DBA
C - CONNECT
R - RESOURCE
alter user SCOTT quota unlimited on users;
来赋予用户某个表空间的使用权
创建存储过程:
CREATE PROCEDURE [dbo][sys_viewTableSpace]
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE [dbo]#tableinfo(
表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
记录数 [int] NULL,
预留空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
使用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
索引占用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
未用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
)
insert into #tableinfo(表名, 记录数, 预留空间, 使用空间, 索引占用空间, 未用空间)
exec sp_MSforeachtable "exec sp_spaceused ''"
select from #tableinfo
order by 记录数 desc
drop table #tableinfo
END
使用的时候直接 :exec sys_viewtablespace
以上就是关于数据库服务器分配给我一个用户(无DBA权限),我想查看我这个用户下剩余空间,使用空间,总空间,sql全部的内容,包括:数据库服务器分配给我一个用户(无DBA权限),我想查看我这个用户下剩余空间,使用空间,总空间,sql、如何查看SQLServer数据库每个表占用的空间大小、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)