Автоматизація виконання sql скриптів на серверах - stack overflow російською

Є кілька MS SQL серверів підключення до яких здійснюється через OpenVPN. Необхідно автоматизувати виконання SQL скриптів до баз даних серверів з віддаленого комп'ютера. Що-б не підключаться до всіх серверів для того щоб виконати один SQL скрипт. Виконую скрипти через Enterprise Manager.

Наприклад вийшов скрипт з доопрацюванням і потрібно його прикрутити до 15 серверів. Ручна частина роботи полягає в тому що потрібно підключаться до кожного серверу та запускати скрипт до бази даних в Enterprise Manager.

заданий 12 Лютого о 17:19

Періодично з'являються нові SQL-скрипти, які, треба проливати на 15-ти серверах.

  1. VPN з постановки опускаю, тому що на завдання це принципово не впливає, тому що за допомогою VPN або безпосередньо, але Ви підключилися до мережі з цими 15-ти серверами.
  2. "Enterprise Manager" з постановки опускаю, тому що "Enterprise Manager" - це всього лише утиліта, яка не потрібна для автоматизації процесу проливки SQL-скриптів.
  3. Sql-script-файли не потрібно заливати на sql-сервери. потрібно просто вважати вміст sql-script-файла, потім підключитися до sql-сервера і виконати скрипт віддалено.

Якщо хочеться реалізувати це на java, то я б запропонував написати невелику консольний додаток (jar), яке моніторить певну директорію на машині. У цю директорію підкладаєте sql-скрипт. Jar-додаток періодично опитує директорію, бачить новий sql-скрипт. потім лізе в якийсь свій конфіг-файл і Новомосковскет звідти список ConnectionStrings серверів на яких потрібно прогнати знайдений SQL-скрипт. Варіантів реалізації - купа. Головне розуміти які у Вас є переваги щодо реалізації і як Вас технологічно обмежують по цьому завданню.

  1. Підключитися до sql-server. Для початківця, найпростіше це робити через jdbc-драйвер. Наприклад: Concept connecting to SQL using Java.
  2. Вважати файл із заздалегідь відомою директорії. Наприклад: Еволюція Java на прикладі читання рядків з файлу
  3. Виконати sql-скрипт на сервері в підключеному connection (див. П.1).
  4. Коли запрацює все, що описано вище, можна ускладнювати додаток, додати за розкладом сканування директорії для sql-скриптів і т.п.

відповідь дан 10 Березня 11:31