在本文中,我们将带你了解sqlserver对某个用户赋予查询权限在这篇文章中,我们将为您详细介绍sqlserver对某个用户赋予查询权限的方方面面,并解答sqlserver给用户赋权限常见的疑惑,同时
在本文中,我们将带你了解sqlserver对某个用户赋予查询权限在这篇文章中,我们将为您详细介绍sqlserver对某个用户赋予查询权限的方方面面,并解答sqlserver给用户赋权限常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的Python判断某个用户对某个文件的权限、SQL Server Report Server 报表用户权限T-SQL查询、SQL Server 删除数据库里某个用户所有表里的数据、sql server2005变成单个用户后不能访问,设置成多个用户的办法。
本文目录一览:- sqlserver对某个用户赋予查询权限(sqlserver给用户赋权限)
- Python判断某个用户对某个文件的权限
- SQL Server Report Server 报表用户权限T-SQL查询
- SQL Server 删除数据库里某个用户所有表里的数据
- sql server2005变成单个用户后不能访问,设置成多个用户的办法
sqlserver对某个用户赋予查询权限(sqlserver给用户赋权限)
在数据库上点属性权限可以设定datareader
http://www.itpub.net/thread-1113786-1-1.html
脚本如下;
CREATE LOGIN tt WITH PASSWORD = 'tt#tt'; USE test; CREATE USER tt_db FOR LOGIN tt; GO EXEC sp_addrolemember 'db_datareader','tt_db'; GO
Python判断某个用户对某个文件的权限
在Python我们要判断一个文件对当前用户有没有读、写、执行权限,我们通常可以使用os.access函数来实现,比如:
# 判断读权限 os.access(<my file>,os.R_OK) # 判断写权限 os.access(<my file>,os.W_OK) # 判断执行权限 os.access(<my file>,os.X_OK) # 判断读、写、执行权限 os.access(<my file>,os.R_OK | os.W_OK | os.X_OK)
但是如果要判断任意一个指定的用户对某个文件是否有读、写、执行权限,Python中是没有默认实现的,此时我们可以通过下面的代码断来判断
import os import pwd import stat def is_readable(cls,path,user): user_info = pwd.getpwnam(user) uid = user_info.pw_uid gid = user_info.pw_gid s = os.stat(path) mode = s[stat.ST_MODE] return ( ((s[stat.ST_UID] == uid) and (mode & stat.S_IRUSR > 0)) or ((s[stat.ST_GID] == gid) and (mode & stat.S_IRGRP > 0)) or (mode & stat.S_IROTH > 0) ) def is_writable(cls,user): user_info = pwd.getpwnam(user) uid = user_info.pw_uid gid = user_info.pw_gid s = os.stat(path) mode = s[stat.ST_MODE] return ( ((s[stat.ST_UID] == uid) and (mode & stat.S_IWUSR > 0)) or ((s[stat.ST_GID] == gid) and (mode & stat.S_IWGRP > 0)) or (mode & stat.S_IWOTH > 0) ) def is_executable(cls,user): user_info = pwd.getpwnam(user) uid = user_info.pw_uid gid = user_info.pw_gid s = os.stat(path) mode = s[stat.ST_MODE] return ( ((s[stat.ST_UID] == uid) and (mode & stat.S_IXUSR > 0)) or ((s[stat.ST_GID] == gid) and (mode & stat.S_IXGRP > 0)) or (mode & stat.S_IXOTH > 0) )
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
SQL Server Report Server 报表用户权限T-SQL查询
/**************************************************************************
查询用户在报表上的权限
**************************************************************************/
use ReportServer
go
SELECT distinct c.Path,c.Name,d.UserName,b.RoleName
FROM [dbo].[PolicyUserRole] a, [dbo].[Roles] b, [dbo].[Catalog] c, users d
where a.RoleID=b.RoleID
and a.PolicyID=c.PolicyID
and a.UserID=d.UserID
/**************************************************************************
查询报表订阅Owner和对应的SQL Job
**************************************************************************/
select ''ReportName'' = c.[name],
''ReportPath'' = c.Path,
''SubnDesc'' = s.Description,
''SubnOwner'' = us.UserName,
''LastStatus'' = s.LastStatus,
''LastRun'' = s.LastRunTime,
''ReportModifiedBy'' = uc.UserName,
''SubscriptionJobName'' = j.name
from dbo.Subscriptions s
join dbo.Catalog c on c.ItemID = s.Report_OID and convert(varchar(10),s.LastRunTime,120) = convert(varchar(10),getdate(),120)
join dbo.ReportSchedule rs on rs.SubscriptionID = s.SubscriptionID
join dbo.Users uc on uc.UserID = c.ModifiedByID
join dbo.Users us on us.UserID = s.OwnerId
join msdb.dbo.sysjobs j on j.name = CONVERT(nvarchar(128),rs.ScheduleId)
order by LastRun desc
/**************************************************************************
查询报表元素类型
**************************************************************************/
SELECT Catalog.Path, Catalog.Name, Users.UserName, Catalog.Type,
CASE
WHEN Catalog.type = 1 THEN ''1-Folder''
WHEN Catalog.type = 2 THEN ''2-Report''
WHEN Catalog.type = 3 THEN ''3-File''
WHEN Catalog.type = 4 THEN ''4-Linked Report''
WHEN Catalog.type = 5 THEN ''5-Datasource''
WHEN Catalog.type = 6 THEN ''6-Model''
WHEN Catalog.type = 8 THEN ''8-Shared Dataset''
WHEN Catalog.type = 9 THEN ''9-Report Part''
WHEN Catalog.type = 11 THEN ''KPI''
WHEN Catalog.type = 12 THEN ''Mobile Report (folder)''
WHEN Catalog.type = 13 THEN ''Power BI Desktop Document''
ELSE ''Unknown'' END AS [ItemType]
FROM Catalog INNER JOIN
Policies ON Catalog.PolicyID = Policies.PolicyID INNER JOIN
PolicyUserRole ON PolicyUserRole.PolicyID = Policies.PolicyID INNER JOIN
Users ON PolicyUserRole.UserID = Users.UserID
ORDER BY Catalog.Path
SQL Server 删除数据库里某个用户所有表里的数据
感兴趣的小伙伴,下面一起跟随小编 jb51.cc的小编两巴掌来看看吧!
-->Title:删除数据库里某个用户所有表里的数据-->Author:wufeng4552
-->Date :2009-09-21 15:08:41
--方法1
代码如下:
declare @uname varchar(20)
declare cuser cursor for
select so.name
from sysobjects so,sysusers su where so.uid=su.uid and su.name='Stone'
and so.xtype='U'
open cuser
fetch next from cuser into @uname
while(@@fetch_status=0)
begin
exec('truncate table [Stone].['+@uname+']')
fetch next from cuser
end
close cuser
deallocate cuser
--方法2
代码如下:
exec sp_msforeachtable @command1=truncate table ? ;,@whereand='and schema_id = (select schema_id from sys.schemas where [name] =''Stone'')'
sql server2005变成单个用户后不能访问,设置成多个用户的办法
原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。
USE master;
GO
DECLARE @SQL VARCHAR(MAX);
SET @SQL=''''
SELECT @SQL=@SQL+''; KILL ''+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID(''数据库名'');
EXEC(@SQL);
GO
ALTER DATABASE 数据库名 SET MULTI_USER;
我们今天的关于sqlserver对某个用户赋予查询权限和sqlserver给用户赋权限的分享就到这里,谢谢您的阅读,如果想了解更多关于Python判断某个用户对某个文件的权限、SQL Server Report Server 报表用户权限T-SQL查询、SQL Server 删除数据库里某个用户所有表里的数据、sql server2005变成单个用户后不能访问,设置成多个用户的办法的相关信息,可以在本站进行搜索。
本文标签: