У меня странный сценарий, который я сейчас не могу объяснить. Я живу надеждой, что это просто «чувство пятницы» или что какой-то любезный человек здесь спасет мой мозг и спасет меня от бесконечных циклов «но почему !?» :)
Два сервера, работающие под управлением SQL Server 2005, с записями DNS:
1. ServerA
2. ServerB
(Ну, на самом деле их так не называют, но этого будет достаточно ...)
В обоих экземплярах SQL Server настроены связанные серверы, указывающие на другой сервер.
По очевидным причинам безопасности для конфигурации LinkedServer Security установлено значение:
- Be made using the login's current security context
Другие «Параметры связанного сервера» ...
Collation Compatible: True
Data Access: True
RPC: True
RPC Out: True
Use Remote Collation: True
Collation Name: <blank>
Connection Timeout: 30
Command Timeout: 10
Для обоих экземпляров создается логин с одним и тем же паролем. Учетные записи получают соответствующие разрешения на выполнение для соответствующих хранимых процедур.
Я пишу некоторый код и выполняю его под этим логином, и все это работает ура
Но когда я создаю агентское задание для запуска этих хранимых процедур, все идет не так. Владелец задания агента - «Automatic_job_login», но моя регистрация ошибок дает следующее:
- Ошибка входа пользователя 'automatic_job_login'
(Опять же, это имя было изменено, чтобы защитить виновных.)
Я не могу понять на всю жизнь, почему это будет работать, когда я вхожу в систему как этот пользователь, но ошибки задания при подключении к связанному серверу. (Это определенно в точке подключения к связанному серверу.)
Чтобы еще больше сбить с толку, если я изменю конфигурацию Linked Server Security на «Be made with this secuirty context:» и укажу «automatic_job_login» с правильным паролем, он работает нормально.
Я что-то упустил, я знаю, что должен быть, но я не могу найти что. Я читал документацию, пока мои глаза не кровоточат, и у меня не получилось. Пожалуйста, помогите мне:)
[Оставлять параметр «Связанный сервер Secuiry» как «Сделайте с использованием этого защищенного контекста:» не вариант, поскольку это предоставит всем пользователям этого сервера неприемлемые уровни доступа к другому серверу.]