Ошибка при выполнении пакета служб SSIS через задание агента SQL Server - PullRequest
0 голосов
/ 03 января 2012

Мне нужно найти способ создать резервную копию схемы таблицы.Я пытался сделать это, используя Transfer SQL Server Object, но я не вижу, как вы можете указать конкретную таблицу источника и назначения для копирования схемы в / из при использовании этого типа элемента потока управления в пакете.Как только я это выясню, я планирую запускать это автоматически.Буду признателен за любую помощь в этом.Спасибо!

Обновление
Спасибо всем.У меня есть следующая проблема - у меня есть элемент потока управления Transfer SQL Server Objects, работающий при выполнении из Visual Studio, и он копирует структуру таблицы с одного сервера / базы данных на другой сервер.Я создал его как пакет служб SSIS и импортировал его на исходный сервер (тот, на котором скопирована структура таблицы), однако при попытке запустить задание пакета я получаю сообщение об ошибке «Не удалось подключиться к серверу ...так были ошибки во время проверки задачи ... выполнение пакета вернуло DTSER_FAILURE (1) ... шаг не выполнен. "Кто-нибудь имеет представление о том, почему он работает нормально в Visual Studio, но не как работа?

1 Ответ

1 голос
/ 23 ноября 2012

Немного поздно, но, возможно, этот ответ поможет кому-то еще.Существуют (как минимум) две вещи, которые могут вызвать разницу между выполнением пакета в 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

Таким образом, возможно, эта учетная запись делаетне иметь разрешения делать то, что определено в вашем пакете.Например, подключитесь к другому серверу базы данных.

Вы можете выбрать другую учетную запись для запуска пакета, настроив прокси-сервер.Дополнительную информацию об этом можно найти в другом месте в StackOverflow, см., Например, здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...