Немного поздно, но, возможно, этот ответ поможет кому-то еще.Существуют (как минимум) две вещи, которые могут вызвать разницу между выполнением пакета в BIDS и SQL Server, выполняющим пакет через задание.
1) уровень защиты пакета в проекте пакета BIDS
Для свойства ProtectionLevel вашего пакета установлено одно из следующих значений:
- DontSaveSensitive
- EncryptSensitiveWithUserKey
- EncryptSensitiveWithPassword
- EncryptAllWithPassword
- EncryptAllWithUserKey
- ServerStorage
Значение по умолчанию для некоторых безумных причин шифрования1027 *.Это означает, что конфиденциальная информация в пакете зашифрована на основе учетных данных пользователя, создавшего пакет.Это также означает, что если другой пользователь (кто-то, кто не создавал и не сохранял пакет) открывает или запускает пакет, вы получаете ошибку - то есть, если в пакете есть какая-либо конфиденциальная информация.
Итак, вы хотитечтобы изменить это значение по умолчанию на что-то более разумное, например DontSaveSensitive (наше стандартное значение) или EncryptSensitiveWithPassword .
2) Выполнение учетной записи в задании агента SQL Server
Стандартным значением для поля Запуск от имени в окне Шаг задания является Учетная запись службы агента SQL Server .Эта учетная запись настроена , когда установлен SQL Server, и разрешения зависят от выбранной учетной записи.
![SQL Server Job Step](https://i.stack.imgur.com/3rLLh.jpg)
Таким образом, возможно, эта учетная запись делаетне иметь разрешения делать то, что определено в вашем пакете.Например, подключитесь к другому серверу базы данных.
Вы можете выбрать другую учетную запись для запуска пакета, настроив прокси-сервер.Дополнительную информацию об этом можно найти в другом месте в StackOverflow, см., Например, здесь .