Пакеты: выполнение и безопасность

Равно как и создавать, выполнять пакеты можно из графического интерфейса, из командной строки и программно. Если пакет был запущен на выполнение из DTS Designer или DTS Import/Export Wizard, он выполняется в контексте mmc.exe, за вычетом тех случаев, когда мастер импорта/экспорта был вызван не через ММС, а из командной строки (dtswiz.exe). Для запуска пакета из командной строки применяется утилита dtsrun.exe. Основными ключами служат /S - имя сервера; /U - имя пользователя на сервере; /P - пароль на сервере; /E - доверительное соединение (аутентификацию гарантирует Windows NT); /N - имя пакета; /V - GUID версии; /M - пароль доступа к пакету; /R - имя БД, где лежит репозиторий, сигнализирует о том, что мы выполняем репозиторный пакет; /F - в случае хранения пакета в виде СОМ-файла, его UNC-имя и т.д. Подробнее см. dtsrun /?. В этом случае пакет выполняется в контексте командного окна. Хранилище должно пополняться в строго определенные моменты времени, поэтому для пакетов DTS существует возможность назначить расписание их выполнения (контекстное меню пакета -> пункт Schedule Package). При этом в SQL Agent создается новое задание с именем пакета, состоящее всего из одного шага типа Operating System Command, который содержит команду dtsrun /~N <имя пакета> и т.д. В этом случае выполнение пакета происходит в контексте сервиса SQLAgent. Для выполнения пакета из приложения применяется метод Execute объекта DTS.Package.

Существуют два уровня безопасности пакета: владелец (owner) и пользователь (user). При сохранении пакета ему можно назначить как пользовательский пароль, так и пароль владельца. Уровень владельца предоставляет права на редактирование и выполнение пакета, уровень пользователя - только на выполнение. Задание уровня безопасности владельца вызывает шифрование значений всех свойств пакета, кроме Name, Description, ID, VersionID и CreationDate. Следует обратить внимание, что знание пароля пользователя или владельца является необходимым, но недостаточным условием для работы с пакетом. Если пакет локальный, либо хранится в репозитории на SQL Server, для его запуска должны существовать права на чтение в этой базе, а для редактирования - на запись. Если пакет находится в .dts-файле, то должны иметься соответствующие права операционной системы на доступ к этому файлу.

Назад | Содержание | Вперед