Где находится база данных msdb для автономных серверов SSIS
Я работаю над приложением DWH. Серверу я был предоставлен доступ только к SSIS, установленному без механизма базы данных. Я получаю ошибки, например:
У разрешения EXECUTE было отказано в объекте "sp_ssis_listfolders", в базе данных "msdb", в схеме "dbo".
Мне нужно проверить разрешения для механизма базы данных и на msdb. Есть ли способ найти, какой сервер настроен для размещения базы данных msdb?
Ответы
Ответ 1
Нашел его!
Он скрыт в файле конфигурации в установочной папке SSIS. Перейдите к C:\Program Files\Microsoft SQL Server\120\DTS\Binn
, затем найдите файл с именем MsDtsSrvr.ini.xml
. Имя сервера просто сидит там и может быть изменено по вашему желанию.
![MsDtsSrvr.ini.xml]()
Ответ 2
После прочтения ваших комментариев вы должны перейти к запланированной задаче Windows и прочитать команду Dtexec utility
Команда будет выглядеть следующим образом:
C:\..\dtexec /SQL "\Package1" /SERVER "Test\Test" /USER "blabla" /PASSWORD "blabla"
Строка после ключевого слова /SERVER
- это имя сервера, в котором расположены пакеты
если пакет не находится на сервере SQL и выполняется из файла пакета, команда будет выглядеть так:
C:\..\dtexec /F "C:\Packages\Package1.dtsx"
Затем перейдите в пакет, чтобы открыть его и прочитать из него строки подключения.
Подробнее об утилите DtExec в следующих статьях:
Информация об исключении Thrown
В SQL-сервере учетной записи пользователя, связанной с соединением в Execute Package
, должна быть предоставлена роль db_ssisoperator
в базе данных msdb, иначе она не может найти другой вызываемый пакет.
И может потребоваться также добавить себя к следующим ролям:
Вы можете найти другие предложения в этих ссылках: