sql-server - 检查用户是否是 SQL Server 中 dbo 角色的成员

标签 sql-server tsql

我需要一个 T-SQL 语句来检查用户是否是 SQL Server 中数据库角色的成员。具体来说,我需要知道用户是否是 dbo 角色的成员,因为这样我就不必向该用户授予额外的权限。

如果我尝试在用户为 dbo 时添加额外权限,则会失败,并且我的脚本也会失败...

最佳答案

IS_ROLEMEMBER

IF IS_ROLEMEMBER ('db_owner') = 1
BEGIN
    PRINT 'Is owner'
END

或者,如果查询不同的用户:

IF IS_ROLEMEMBER ('db_owner','other user') = 1
BEGIN
    PRINT 'Is owner'
END

关于sql-server - 检查用户是否是 SQL Server 中 dbo 角色的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141507/

相关文章:

sql - 如何从大型分隔文件在SQL Server中创建多个表并为空间查询设置

sql-server - 对数据进行高级筛选的 SQL 复制

tsql - 查找过去一小时内产生的记录

sql - 需要对 UPDATE t-SQL 语句中的 SELECT 进行一些澄清

sql-server - 如何使用最少的操作在 SQL Server 2012 中使用 "INSERT or SELECT"?

c# - 返回 SqlDataReader

sql-server - tablix 'Tablix1' 无效。缺少 DataSetName 属性的值

sql-server - 需要 SQL Server 中的日期时间列在修改记录时自动更新

sql - SELECT FOR JSON 输出 float 指数

sql-server - 您可以对数据透视表中的行和/或列进行小计吗?