Sql server 对Azure SQL的SUSER_SID支持

Sql server 对Azure SQL的SUSER_SID支持,sql-server,azure,ssms,Sql Server,Azure,Ssms,SUSER_SID有两个可选参数。我只使用第一个“登录”。它的文档适用于Azure SQL数据库,但不起作用。对于“login”,参数表示“适用于:SQL Server 2008及更高版本” 当我调用时,选择SUSER_SID('test') 使用SSMS,我得到错误信息: 在此版本的SQL Server中,无法使用参数调用“SUSER_SID” 我正在使用Azure SQL Server版本。12.0.2000.8 这怎么可能,我遗漏了什么?奇怪的是,这实际上不是,但我遇到了同样的问题。(将在

SUSER_SID有两个可选参数。我只使用第一个“登录”。它的文档适用于Azure SQL数据库,但不起作用。对于“login”,参数表示“适用于:SQL Server 2008及更高版本”

当我调用
时,选择SUSER_SID('test')
使用SSMS,我得到错误信息:

在此版本的SQL Server中,无法使用参数调用“SUSER_SID”

我正在使用Azure SQL Server版本。12.0.2000.8

这怎么可能,我遗漏了什么?

奇怪的是,这实际上不是,但我遇到了同样的问题。(将在文档的GitHub上引发此问题)

如果需要
sid
,可以使用
sys.database\u principals

SELECT dp.sid
FROM sys.database_principals dp
WHERE dp.name = N'test';

对于这个问题,我询问了Azure支持。他们告诉我:

根据在线文档,参数“login”适用于SQL Server 2008及更高版本,参数2适用于SQL Server 2012及更高版本。这就是为什么我们会收到错误消息“'SUSER_SID'无法使用此版本的SQL Server中的参数调用。”在运行命令时,选择SUSER_SID('serveradmin'),因为Azure SQL数据库不支持带有参数的SUSER_SID()

如果您想检查SID,请考虑在下面运行命令,而不是:

select name, sid from sys.sql_logins where name = 'test'
以下是截图:

希望这有帮助