Я щось пропускаю, намагаючись використовувати свою збережену процедуру EXECUTE AS. Збережена процедура зчитує дані source_db, агрегує їх і зберігає в результаті target_db.
Сам сп є в target_db. У мене є спеціальний логін і зіставте його користувачів як source_dbі target_dbдля власника зр ( в так що користувач app_agentв source_dbі target_dbдля входу в систему app_agent).
Якщо я ввійду як app_agentі виконую
EXEC target_db.app_agent_schema.import_data
все працює добре. Але якщо я змінюсь
ALTER PROCEDURE app_agent_schema.import_data WITH EXECUTE AS OWNER` (or `AS SELF`)
і спробуйте виконати його, воно кине
Основний сервер "app_agent" не в змозі отримати доступ до бази даних "source_db" в поточному контексті безпеки.
Я використовую SQL Server 2008.
Чи може хтось вказати на мою помилку?
Спасибі
Оновлення
Після проведення деяких досліджень я виявив, що ALTER DATABASE target_db SET TRUSTWORTHY ONвирішує проблему, але це не здається правильним рішенням для мене ...