У меня есть пользовательский ABC SQL, имеющий права sysadmin и доступ ко всем базам данных, скажем, базу данных A и базу данных B конкретного сервера. Где, когда мое приложение использует пользователей, имеющих доступ только к одной базе данных A. Я создал хранимую процедуру для вставки записей в таблицы базы данных B. Поэтому я использую предложение EXECUTE AS для выполнения хранимой процедуры с пользователем ABC, но после тестирования я обнаружил что, если у пользователей моего приложения нет точно таких же ролей сервера, как и у ABC, это не сработает. Когда я делаю свой другой sysadmin пользователя, он не дает ошибок и отлично работает. Если оба пользователя должны иметь одни и те же роли, то каков смысл этого предложения EXECUTE AS? Или я чего-то не хватает?SQL EXECUTE AS Раздел
ответ
Я думаю, что вы вопрос уже ответили здесь: SQL Server Execute Impersonation
выполняться как пользователь = «ABC» --The объем олицетворения ограничивается текущей базы данных.
против
выполнить в качестве логина = «ABC» --The сфера самозванства находится на уровне сервера.
Хорошо, позвольте мне попробовать выполнить как login = 'ABC'. Я обновлю вас, если это поможет мне или нет. – elmo
Я не могу добавить execute как login = 'ABC' с хранимыми процедурами, он дает ошибку. Ошибка - это неправильный синтаксис рядом с «login». Ниже мой код. 'Код' альтер процедура StoredProcedure с Execute, как логин - @r полукокса (15) вывода, как вставки в Table1 (ID, NAME) значения ('11' , 'Сэм') go'code» – elmo
- 1. Разница EXECUTE AS цели
- 2. Предотвращение SQL Injection с использованием EXECUTE AS
- 3. SQL Server EXECUTE AS на FN_TRACE_GETTABLE
- 4. Проблема с SQL Server «EXECUTE AS»
- 5. Использование Execute as User в SQL 2008
- 6. EXECUTE AS и OPENROWSET
- 7. Разница между 'Execute' и 'Execute as script'
- 8. SQL 'Execute As' Login Command и Linq to SQL
- 9. jQuery execute string as function
- 10. EXECUTE AS не присваивает имя схемы
- 11. EXECUTE AS и OPENQUERY связанный сервер
- 12. EXECUTE AS/REVERT в транзакции в SQL Server
- 13. SQL Server Execute олицетворения
- 14. SQL Execute Statement
- 15. T-SQL DENY EXECUTE
- 16. Execute SQL дамп файл
- 17. SQL-счетчик и отдельный раздел и раздел
- 18. хранимой процедуры с EXECUTE AS не может запустить xp_cmdshell
- 19. SQL - подсчет через раздел
- 20. SQL-HAVING Раздел Проблема
- 21. Execute SQL результат задача установить
- 22. Execute строкового Sql в PostgreSQL
- 23. Java PL/SQL 'Execute Immediate'
- 24. PL/SQL DDL Execute Immediate
- 25. is vers as as pl/sql
- 26. SQL Dynamic join в столбце таблицы EXECUTE
- 27. Sql Server IN Раздел
- 28. Раздел SQL Server MODEL
- 29. write variable in Execute SQL Task
- 30. Команда SQL Server execute (sp_executesql) в функции SQL
напишите свой код sql. невозможно сказать, что не так в вашей процедуре без кода. возможно, проблема с разрешением, но, возможно, нет. – Paolo
Паоло, вопрос не с кодом процедуры, вопрос связан с разрешением, и я четко спрашиваю о проблеме разрешения. – elmo