如何用SQL查看当前用户是否有backup database的权限。。

joejoe1991 2010-05-13 07:38:46
如何用SQL查看当前用户是否有backup database与backup log的权限。。
...全文
198 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2010-05-14
  • 打赏
  • 举报
回复
帮顶 学习 蹭分 路过
ShenLiang2025 2010-05-13
  • 打赏
  • 举报
回复


-- ①查询sa下的数据库权限

EXECUTE AS LOGIN = 'sa';
SELECT * FROM fn_my_permissions(NULL, 'DATABASE');
REVERT;

--②查询结果
entity_name subentity_name permission_name
database CREATE TABLE
database CREATE VIEW
database CREATE PROCEDURE
database CREATE FUNCTION
database CREATE RULE
database CREATE DEFAULT
database BACKUP DATABASE
database BACKUP LOG
database CREATE DATABASE
database CREATE TYPE
database CREATE ASSEMBLY
database CREATE XML SCHEMA COLLECTION
database CREATE SCHEMA
database CREATE SYNONYM
database CREATE AGGREGATE
database CREATE ROLE
database CREATE MESSAGE TYPE
database CREATE SERVICE
database CREATE CONTRACT
database CREATE REMOTE SERVICE BINDING
database CREATE ROUTE
database CREATE QUEUE
database CREATE SYMMETRIC KEY
database CREATE ASYMMETRIC KEY
database CREATE FULLTEXT CATALOG
database CREATE CERTIFICATE
database CREATE DATABASE DDL EVENT NOTIFICATION
database CONNECT
database CONNECT REPLICATION
database CHECKPOINT
database SUBSCRIBE QUERY NOTIFICATIONS
database AUTHENTICATE
database SHOWPLAN
database ALTER ANY USER
database ALTER ANY ROLE
database ALTER ANY APPLICATION ROLE
database ALTER ANY SCHEMA
database ALTER ANY ASSEMBLY
database ALTER ANY DATASPACE
database ALTER ANY MESSAGE TYPE
database ALTER ANY CONTRACT
database ALTER ANY SERVICE
database ALTER ANY REMOTE SERVICE BINDING
database ALTER ANY ROUTE
database ALTER ANY FULLTEXT CATALOG
database ALTER ANY SYMMETRIC KEY
database ALTER ANY ASYMMETRIC KEY
database ALTER ANY CERTIFICATE
database SELECT
database INSERT
database UPDATE
database DELETE
database REFERENCES
database EXECUTE
database ALTER ANY DATABASE DDL TRIGGER
database ALTER ANY DATABASE EVENT NOTIFICATION
database VIEW DATABASE STATE
database VIEW DEFINITION
database TAKE OWNERSHIP
database ALTER
database CONTROL

joejoe1991 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dawugui 的回复:]
引用 2 楼 joejoe1991 的回复:
什么都没查出来 。。 sql 2000
where [uid]=user_id()

在user_id('你的用户名')中输入你的用户名.
[/Quote]
写成user_id('sa')
也没有查出来啊。
dawugui 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 joejoe1991 的回复:]
什么都没查出来 。。 sql 2000[/Quote]
where [uid]=user_id()

在user_id('你的用户名')中输入你的用户名.
youyou2404 2010-05-13
  • 打赏
  • 举报
回复
位(十进制) 位(十六进制) 语句权限 
1 0x1 CREATE DATABASE(仅限于 master 数据库)
2 0x2 CREATE TABLE
4 0x4 CREATE PROCEDURE
8 0x8 CREATE VIEW
16 0x10 CREATE RULE
32 0x20 CREATE DEFAULT
64 0x40 BACKUP DATABASE
128 0x80 BACKUP LOG
256 0x100 保留
youyou2404 2010-05-13
  • 打赏
  • 举报
回复
if PERMISSIONS()&64 =64
print'有'
else
pint '没有'
joejoe1991 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
SQL code
select object_name(id) obj,
(case [action] when 26 then 'REFERENCES'
when 178 then 'CREATE FUNCTION'
when 193 then 'SELECT'
when 195 then 'INSERT'
when 196 then 'DELETE'
when 197 ……
[/Quote]
什么都没查出来 。。 sql 2000
dawugui 2010-05-13
  • 打赏
  • 举报
回复
select object_name(id) obj,
(case [action] when 26 then 'REFERENCES'
when 178 then 'CREATE FUNCTION'
when 193 then 'SELECT'
when 195 then 'INSERT'
when 196 then 'DELETE'
when 197 then 'UPDATE'
when 198 then 'CREATE TABLE'
when 203 then 'CREATE DATABASE'
when 207 then 'CREATE VIEW'
when 222 then 'CREATE PROCEDURE'
when 224 then 'EXECUTE'
when 228 then 'BACKUP DATABASE'
when 233 then 'CREATE DEFAULT'
when 235 then 'BACKUP LOG'
when 236 then 'CREATE RULE' end) perm
from sysprotects where [uid]=user_id()

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧