Я настроил несколько представлений в базе данных сервера SQL.Эти представления выбираются из хранимой процедуры, для которой в объявлении указано предложение WITH EXECUTE AS 'proxyuser'.Оператор select, который он выполняет, создается динамически и выполняется с помощью хранимой процедуры sp_executesql.Все работало правильно, пока не возникла необходимость включить соединение в таблицу в другой базе данных в определение одного из этих представлений, так что представление выбирает как из базы данных, в которой оно находится, так и из другой базы данных на том же сервере.
Ошибка, которую я получаю, заключается в следующем: основной сервер "proxyuser" не может получить доступ к базе данных "mydb" в текущем контексте безопасности.
Это то, что я пробовал:
Удаление прокси-пользователя из второй базы данных и сопоставление имени входа с базой данных, как рекомендуется здесь. http://sqlmusings.wordpress.com/2008/06/12/issue-server-principal-is-not-able-to-access-the-database-under-the-current-security-context/
Включение цепочки владения несколькими базами данных в соответствии с рекомендациямиздесь .. http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/07dcab8c-b830-4ca9-8afc-3e75772f44d3/
и мой сценарий не соответствует требованиям, изложенным в статье технической поддержки Microsoft № 913422, в которой описывается то же сообщение об ошибке.Прокси-сервер использует проверку подлинности сервера Sql, а не проверку подлинности Windows.
Есть идеи?
Заранее спасибо.