Вход через публичную роль - PullRequest
0 голосов
/ 26 сентября 2019

Мы пытаемся установить релиз для нашего приложения.Программа использует 2 учетных записи SLQ: SA и SAA2.

SAA2 должен быть стандартным пользователем, который может выполнять некоторые операторы выбора.SA - супер администратор (Капитан Очевидность).

Однако мы застряли двумя разными способами:

1) Если мы предоставим sysadmin право на SAA2, наши сценарии не смогут работать, поскольку это относится к определенной схеме, реализованной на странице входа в системуучетная запись.Как мы поняли, поскольку он связан с sysadmin, схема по умолчанию меняется на dbo.Но учетная запись может успешно войти в систему

Если мы хотим разрешить ее таким способом, мы должны реализовать этот обходной путь:

  • Принудительно использовать для своей учетной записи собственную схему по умолчанию
  • Измените наши сценарии на полное имя без использования схемы (невозможно)

Неверное имя объекта ...

2) Если мы хотимиспользовать SAA2 в качестве стандартных учетных записей (поскольку сценарии в основном сосредоточены на SELECT), MSSSQL отказывает учетной записи в подключении.Действительно, если мы попытаемся просто войти в систему, используя учетные данные SQL, то как системный администратор это работает, как обычный пользователь, это не так.(например, https://social.msdn.microsoft.com/Forums/sqlserver/en-US/23952fef-7ad7-4374-b7e9-89476a62adc9/users-unable-to-access-their-database-unless-they-are-given-sysadmin-permission?forum=sqlsecurity)

Ошибка с номером 18456, уровень серьезности 14, состояние 1

Мы просто хотим найти способ выполнить наш запрос как системный администратор или нет.

...