Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
Добрый день!
Подскажите, пожалуйста, как это сделать? Нужно просто выполнить процедуру. Передавать в нее параметры и получать от нее какие-то результаты не требуется - она выполняет сервисную функцию (очищает таблицу).
я поизучала статьи, типа вот этой, но как применить их к решению своей задачи, не поняла :(
16 окт 13, 14:42    [14980289]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
SvetlanaNikit
Добрый день!
Подскажите, пожалуйста, как это сделать? Нужно просто выполнить процедуру. Передавать в нее параметры и получать от нее какие-то результаты не требуется - она выполняет сервисную функцию (очищает таблицу).
я поизучала статьи, типа вот этой, но как применить их к решению своей задачи, не поняла :(

На каком этапе у вас случился затык?
16 окт 13, 14:45    [14980320]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Glory
Member

Откуда:
Сообщений: 104751
SvetlanaNikit
, но как применить их к решению своей задачи, не поняла

Т.е. вы не смогли нажать теже кнопочки, которые предлагаются в статье по ссылке ?

Сообщение было отредактировано: 16 окт 13, 14:47
16 окт 13, 14:46    [14980332]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35388
Блог
SvetlanaNikit,

делайте как в статье, но после фразы
Next to the SQLStatement property if you click in the empty box next to it you will see ellipses appear. Click on them and you will see the very basic query editor that becomes available to you.

вводите
exec ВашаПроцедура


все
16 окт 13, 14:47    [14980346]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
Подскажите, пожалуйста, как это сделать? Нужно просто выполнить процедуру. Передавать в нее параметры и получать от нее какие-то результаты не требуется - она выполняет сервисную функцию (очищает таблицу).
А что именно непонятно? В статье всё прямо картинками нарисовано, делаете по пунктам.

Давайте по порядку, что у вас не получилось, пункт "Now drag the task onto the designer", то есть перетащить квадратик на поле, сумели сделать?
16 окт 13, 14:47    [14980347]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
первое, что не понятно было: что лучше выбрать в connection type -- OLE DB?
второе. как правильно настроить Connection Manager
16 окт 13, 16:31    [14981369]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Glory
Member

Откуда:
Сообщений: 104751
SvetlanaNikit
, что не понятно было: что лучше выбрать в connection type -- OLE DB?

лучше для чего/кого ? Для вас или для запуска процедуры ?

SvetlanaNikit
второе. как правильно настроить Connection Manager

А как вы его настраиваете ?
16 окт 13, 16:35    [14981407]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
редактировать свои предыдущие сообщения можно?
впопыхах нажала enter ((

так вот. ко второму вопросу. Дело в том, что я создаю пакет на тестовом экземпляре. Этот тестовый экземпляр работает в своем маленьком тестовом домене. На производственном экземпляре сиквел-сервера настроена Windows-аунетификация.
При настройке Connection Manager в поле Logon to the Server запрашивается учетная запись. Но я-то могу выставить только учетную запись тестового домена.. Как быть?
16 окт 13, 16:36    [14981427]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Glory
Member

Откуда:
Сообщений: 104751
SvetlanaNikit
. Как быть?

А вы хотите, чтобы как то образом подставлялась произвольная учетная запись домена, в котором вы не идентифицировались ?
16 окт 13, 16:39    [14981465]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
Сергей Викт.
На каком этапе у вас случился затык?

У страха глаза велики :)
Начала делать, вроде бы что-то стало получаться. Но вот вопросы, приведенные чуть выше, еще остаются..



Критик
SvetlanaNikit,

делайте как в статье, но после фразы
Next to the SQLStatement property if you click in the empty box next to it you will see ellipses appear. Click on them and you will see the very basic query editor that becomes available to you.

вводите
exec ВашаПроцедура


все


спасибо! Правда: вот этого пинка мне и не хватало, чтоб начать делать :)



alexeyvg
Давайте по порядку, что у вас не получилось, пункт "Now drag the task onto the designer", то есть перетащить квадратик на поле, сумели сделать?


да, с этим я справилась :)

и в поле SQLStatement ввела так, как сказано в статье и как мне подсказал Критик :)
16 окт 13, 16:43    [14981509]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
При настройке Connection Manager в поле Logon to the Server запрашивается учетная запись. Но я-то могу выставить только учетную запись тестового домена.. Как быть?
Вообще Windows-аунетификация предполагает, что логинится текущий Windows-пользователь, от имени которого в виндах запущен пакет. Так что не понимаю, какая ещё учётная запись может спрашиваться...
16 окт 13, 17:03    [14981676]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
alexeyvg
SvetlanaNikit
При настройке Connection Manager в поле Logon to the Server запрашивается учетная запись. Но я-то могу выставить только учетную запись тестового домена.. Как быть?
Вообще Windows-аунетификация предполагает, что логинится текущий Windows-пользователь, от имени которого в виндах запущен пакет. Так что не понимаю, какая ещё учётная запись может спрашиваться...


дело в том, что я создаю пакет в тестовой среде, на тестовом экземпляре. С намерением переместить его уже на производсттвенных экземпляр сиквел--сервера. С учетом того, что эти два экземпляра находятся в разных, никак не связанных между собой, доменах, и возник вопрос: как быть? просто открыть пакет на "боевом" экземпляре и отредактировать учетную запись пользователя?
16 окт 13, 17:20    [14981818]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Glory
Member

Откуда:
Сообщений: 104751
SvetlanaNikit
просто открыть пакет на "боевом" экземпляре и отредактировать учетную запись пользователя?

Для начала узнать разницу межу windows authentication и sql autentication
Потому читать в хелпе про Package Deployment (Integration Services)
Потом читать про dtexec Utility
16 окт 13, 17:23    [14981854]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
alexeyvg
Вообще Windows-аунетификация предполагает, что логинится текущий Windows-пользователь, от имени которого в виндах запущен пакет. Так что не понимаю, какая ещё учётная запись может спрашиваться...

дело в том, что я создаю пакет в тестовой среде, на тестовом экземпляре. С намерением переместить его уже на производсттвенных экземпляр сиквел--сервера. С учетом того, что эти два экземпляра находятся в разных, никак не связанных между собой, доменах, и возник вопрос: как быть? просто открыть пакет на "боевом" экземпляре и отредактировать учетную запись пользователя?
Ещё раз повторю:
"Windows-аунетификация предполагает, что логинится текущий Windows-пользователь, от имени которого в виндах запущен пакет"

То есть нет понятия "указать учетную запись пользователя"

Кто запустил, тот и логинится.

Это и удобно при использовании Windows-аунетификации, для этого она и нужна, что бы не открывать пакет на боевом сервере и что то там менять.
Вот при использовании SQL-аунетификации придётся долго чситать хелп и всё такое.
16 окт 13, 18:09    [14982140]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
alexeyvg
Ещё раз повторю:
"Windows-аунетификация предполагает, что логинится текущий Windows-пользователь, от имени которого в виндах запущен пакет"

То есть нет понятия "указать учетную запись пользователя"
Я даже не понимаю, как вы сумели при Windows-аунетификации указать учётную запись, там её негде указывать.
16 окт 13, 18:10    [14982150]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
alexeyvg
alexeyvg
Ещё раз повторю:
"Windows-аунетификация предполагает, что логинится текущий Windows-пользователь, от имени которого в виндах запущен пакет"

То есть нет понятия "указать учетную запись пользователя"
Я даже не понимаю, как вы сумели при Windows-аунетификации указать учётную запись, там её негде указывать.


да, Вы правы. В настройках Connection Manager просто указывается режим аутентификации: "Windows Authentication" или "Use SQL Server Authentication".

То есть теперь, когда пакет создан, его уже можно применять на "боевом" сервере, ничего не меняя в самом пакете - правильно я поняла?
16 окт 13, 18:29    [14982223]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
То есть теперь, когда пакет создан, его уже можно применять на "боевом" сервере, ничего не меняя в самом пакете - правильно я поняла?
Да.
Но, естественно, нужно, что бы тот Windows-пользователь, который будет запускать пакет, имел соответствующие права.

Например, если пользователь вручную запускает пакет, то права должны быть у него, если это делается джобом, то у SQL Server Agent (ну, там ещё есть варианты).

В общем, нужно теперь определяться с запускающим.
16 окт 13, 18:36    [14982246]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
alexeyvg
Да.
Но, естественно, нужно, что бы тот Windows-пользователь, который будет запускать пакет, имел соответствующие права.

Например, если пользователь вручную запускает пакет, то права должны быть у него, если это делается джобом, то у SQL Server Agent (ну, там ещё есть варианты).

В общем, нужно теперь определяться с запускающим.
понятно, спасибо!
насчет вариантов запуска: мне понравился метод, описанный в этой статье
Как описано в статье - создала credentials, используя специально специально созданную ранее доменную "пользовательскую" учетную запись. Этот credentials указала, создавая proxy SSIS Package Execution. И, наконец, создала Job и указала стартовать этот Job из-под "proxy-учетки".. Кроме того "грантовала" права доступа для доменной учетной записи только те права и только к тем таблицам, которые мне дали в описани к заданию. Вроде бы все "секурно"?
На тестовом стенде все заработало...
16 окт 13, 19:08    [14982368]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
Вроде бы все "секурно"?
Да, вроде правильный метод...
16 окт 13, 19:39    [14982441]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
Еще по ходу дела вопрос возник. Дело в том, что "боевой" экземпляр крутится в отказоустойчивом кластере.
Кроме того, ни на одном узле кластера не установлен MS SQL Management Studio - по соображениям безопасности (чем меньше всяких компонентов - тем лучше). Соответственно, Job я настраиваю, запустив Management Studio на рабочей станции, специально выделенной для управления сиквел-сервером. В качестве Package Source указываю File system. Естественно, мне доступны только локальные диски рабочей станции. Но ведь Job-то будет исполняться на каком-либо из узлов кластера и, как я понимаю, искать файл пакета он также будет на кдастерных дисках. Что делать? создавать на одном из кластерных дисков shared folder? Как-то слишком коряво получается, по-моему (
А как лучше поступить?
16 окт 13, 19:49    [14982476]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
Кроме того, ни на одном узле кластера не установлен MS SQL Management Studio - по соображениям безопасности (чем меньше всяких компонентов - тем лучше). Соответственно, Job я настраиваю, запустив Management Studio на рабочей станции, специально выделенной для управления сиквел-сервером. В качестве Package Source указываю File system. Естественно, мне доступны только локальные диски рабочей станции. Но ведь Job-то будет исполняться на каком-либо из узлов кластера и, как я понимаю, искать файл пакета он также будет на кдастерных дисках. Что делать? создавать на одном из кластерных дисков shared folder? Как-то слишком коряво получается, по-моему (
А как лучше поступить?
Можно просто на локальной рабочей станции создать такой же путь, как на сервере. И положить пакет в оба места.
16 окт 13, 19:53    [14982488]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
kalimba
Member

Откуда:
Сообщений: 297
SvetlanaNikit,

А версия скуля какая?
16 окт 13, 20:18    [14982536]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35388
Блог
SvetlanaNikit
А как лучше поступить?


сохранить пакет в базу, а не как файл
16 окт 13, 21:03    [14982652]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
SvetlanaNikit
Member

Откуда:
Сообщений: 96
alexeyvg
Можно просто на локальной рабочей станции создать такой же путь, как на сервере. И положить пакет в оба места.
Для учебных целей такой метод вполне сойдет, но для продуктивной системы это, по-моему, усложнит дело: будут другие задачи, и через некоторое время забудется что пакет размещен в нескольких местах..

kalimba
SvetlanaNikit,

А версия скуля какая?
2008R2 SP1

Критик
сохранить пакет в базу, а не как файл
тоже вчера об этом подумала: в мастере создания Job'ов в источниках пакета ведь можно и базу указать. Но вот как это сделать, чтоб избежать возможных граблей? Просто на "боевом" экземпляре создать сервисную базу?
17 окт 13, 07:51    [14983342]     Ответить | Цитировать Сообщить модератору
 Re: Execute stored Procedure from SSIS - как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31964
SvetlanaNikit
alexeyvg
Можно просто на локальной рабочей станции создать такой же путь, как на сервере. И положить пакет в оба места.
Для учебных целей такой метод вполне сойдет, но для продуктивной системы это, по-моему, усложнит дело: будут другие задачи, и через некоторое время забудется что пакет размещен в нескольких местах..
Ну и пусть забудется, ведь на рабочей станции пакет с путём нужен только для того, что бы работал интерфейс управления джобами в SSMS. То есть основным местом расположения файла пакета будет сервер.

Ну и порядок в папочках должен быть!

Ещё лучше, если пакет будет лежать в какой нибуть системе сорс-контроля, пути на сервере сделать такими же.

Тогда будет ещё и контроль версий, комментарии, что было изменено и т.д.

Использование системы версионного хранения исходников безумно упрощает жизнь программисту и экономит его время, не говоря о увелиении надёжности и предсказуемости для бизнеса!
SvetlanaNikit
тоже вчера об этом подумала: в мастере создания Job'ов в источниках пакета ведь можно и базу указать. Но вот как это сделать, чтоб избежать возможных граблей? Просто на "боевом" экземпляре создать сервисную базу?
Я вообще никогда в базе не хранил, но там не нужно делать специальную базу, всё уже предусмотрено.

Нужно импортировать пакет в базу SSIS, а потом при создании шага джоба указать в ней нужный пакет, как то так.
17 окт 13, 09:09    [14983499]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить