Sql sp_addsrvrolemember中的转义通配符*

Sql sp_addsrvrolemember中的转义通配符*,sql,sql-server,Sql,Sql Server,是否可以在下面的存储过程中转义通配符* exec sp\u addsrvrolemember'*Everyone Group','sysadmin' 我需要脚本来标识*但不是通配符,而是星号 谢谢你的帮助 好的,所以我联系了一位SQL专家来教育我,下面是我需要的: CREATE LOGIN [_Everyone-Group] FROM WINDOWS WITH DEFAULT_DATABASE=[master] GO ALTER SERVER ROLE sysadmin ADD MEMBER

是否可以在下面的存储过程中转义通配符*

exec sp\u addsrvrolemember'*Everyone Group','sysadmin'

我需要脚本来标识*但不是通配符,而是星号


谢谢你的帮助

好的,所以我联系了一位SQL专家来教育我,下面是我需要的:

CREATE LOGIN [_Everyone-Group] FROM WINDOWS WITH DEFAULT_DATABASE=[master] 
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [_Everyone-Group]
至于我的误解:

  • *在MS Access中仅被视为通配符,而不像本文中提到的SQL

  • 代码行“ALTER SERVER ROLE”假设登录名已经存在于主数据库中,我原以为它会查找该登录名并将其添加到中(因为添加成员),然后还应用“sysadmin”权限

  • 我不知道需要的是uu而不是支架中的*


这是一种类似于的模式吗?我不记得在任何地方看到过“
*
”被认为是SQL中的通配符。通常情况下(我猜这就是Gordon所指的)是在查询中使用通配符,在查询中使用
模式,比如
。。。其中用户名如“%ABC%”
(即用户名包含字母
ABD
)。这里的
%
用作通配符。为什么要使用
sp\u addsrvrolemember
?它已经被弃用多年了(请注意图中的蓝色大框)。使用
更改服务器角色
。具体来说,它将是
ALTER服务器角色sysadmin ADD MEMBER[*每个人组]
@Larnu我不知道它被弃用了,我之所以使用它,是因为我不知道任何SQL,在添加单个域帐户时它与我的PowerShell脚本一起工作,但当我遇到一个带有*字符的用户组时,它被卡住了。但读完这篇文章后,我会做相应的修改。@GordonLinoff否。不,我只是在这一行中指定了我需要添加到SQL中的登录名并分配sysadmin权限的帐户