Поддержка SUSER_SID для Azure SQL - PullRequest
0 голосов
/ 14 февраля 2020

SUSER_SID имеет два необязательных параметра. Я использую только первый «логин». Документация для этого относится к Azure SQL базе данных, но это не работает. Для параметра 'login' указано: "Относится к: SQL Server 2008 и более поздним версиям" .

Когда я вызываю SELECT SUSER_SID('test'); с использованием SSMS, я получаю ошибку:

'SUSER_SID' нельзя вызвать с параметрами в этой версии SQL Server.

Я использую Azure SQL Server ver. 12.0.2000.8

Как это возможно, что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

на этот вопрос я спросил Azure Поддержка. Они сказали мне, что:

На основании онлайнового документа параметр «вход в систему» ​​применяется к SQL Server 2008 и более поздней версии, а параметр2 - к SQL Server 2012 и более поздней версии. По этой причине мы получим сообщение об ошибке «Невозможно вызвать SUSER_SID с параметрами в этой версии SQL Server». при выполнении команды SELECT SUSER_SID ('serveradmin'), поскольку база данных Azure SQL не поддерживает SUSER_SID () с параметрами.

Если вы хотите проверить SID, попробуйте выполнить следующую команду:

select name, sid from sys.sql_logins where name = 'test'

Вот снимки экрана:

enter image description here

Надеюсь, это поможет.

0 голосов
/ 14 февраля 2020

Странно, на самом деле это не задокументировано , но у меня та же проблема. (Поднимает это на GitHub документа).

Если вы хотите sid, вы можете использовать sys.database_principals вместо:

SELECT dp.sid
FROM sys.database_principals dp
WHERE dp.name = N'test';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...